- 博客(3)
- 收藏
- 关注
原创 bzoj4593
感谢王队长对本题的点拨... 我们先直接以1为根,考虑到一个点的代价貌似只和根与儿子节点有关。所以想到状态f[],h[],分别表示父亲还没炸,炸掉i子树 的花费和父亲先被炸掉的花费,可以观察到h[i] TYPE A : 因为c[i] TYPE B : 现在c[i] c[v]并且f[v] - h[v] = c[v]时用h[v]更优,但是这样就完了吗?当然不是,
2016-05-28 14:28:06 1067
原创 bzoj4464
OJ上放的题解是网络流这里先放一份(然而是过不了的,血泪教训,40w个点,上百万条边,跑毛啊.)这里还是放一份代码. #include #include #include #include #include #include #include #include #define inf 1000000000 using namespace std; struct node {int
2016-05-20 15:50:11 567
原创 bzoj4460
bzoj 4460 提供一个n^3的做法. 首先考虑原题的性质,很容易知道答案不会超过目标串的长度,于是答案可以枚举。 然后我们可以枚举第一个字符是从第几行第几列开始的,然后之后的字典树暴力匹配.(n^4) (一共L个字典树,字典树i存的是每个串从位置i开始的后缀。) 后来我发现其实第一个字符的列数可以不用枚举,我们先求出list[i][j]表示目标串中第i行能不能从给出的木桩中从位置j
2016-05-10 15:07:24 804 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人