摘要: "传送门" 解题思路 四个数组一起做有点炸。先把他们合并成两个数组,然后让一个数组有序,枚举另一个数组的元素,二分即可。时间复杂度$O(n^2logn^2)$ 代码 cpp include include include include include using namespace std; co 阅读全文
posted @ 2018-10-28 23:42 Monster_Qi 阅读(208) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先设$f[x]$表示消灭$x$的最小花费,那么转移方程就是 $f[x]=min(f[x],\sum f[son[x]] +s[x])$,如果这个转移是一个有向无环图,那么就直接拿拓扑序转移就行了。但这个并不是,存在环,所以要用$spfa$进行反复松弛,具体来说就是先将所有入队 阅读全文
posted @ 2018-10-28 19:48 Monster_Qi 阅读(160) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 $dag$上$dp$,首先要按照边权排序,然后图都不用建直接$dp$就行了。注意边权相等的要一起处理,具体来讲就是要开一个辅助数组$g[i]$,来避免同层转移。 代码 cpp include include include include include using names 阅读全文
posted @ 2018-10-28 18:31 Monster_Qi 阅读(129) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 感觉这种题都是套路,首先缩点判了环(没看见自环挂了一次。。),然后设$f[x][i]$表示到了$x$,$i$这个字母走过的最长距离,然后拓扑排序更新即可。 代码 cpp include include include include include using namespac 阅读全文
posted @ 2018-10-28 18:07 Monster_Qi 阅读(248) 评论(0) 推荐(0) 编辑