"本人是蒟蒻,各位看官见笑了。" 复习一下AC自动机,感觉AC自动机还总是写不好…后缀数组和KMP的题目还没有写过。Trie树的题目只写了裸题,把POJ上那道异或的题目做掉才算理解了字典树的精髓… 网络流基本上只写过裸题,写费用流,然后学习最小割,最大密度子图,有上下界的网络流…二分图真的不会,学匈
分类:
其他好文 时间:
2016-02-22 00:18:36
阅读次数:
202
平面图转对偶图以最短路得最小割。 注意写spfa的时候要把vis[head]=false写在循环的最后面。 要不然就会WA整整一天。 #include<iostream>#include<cstdio>#include<queue>#include<cstring>#define maxv 1005
分类:
其他好文 时间:
2016-02-16 23:34:04
阅读次数:
343
题目是一个非常明显的二分图带权匹配模型, 加入源点到nx建边,ny到汇点建边,(nx。ny)=inf建边。求最小割既得最小点权覆盖。 在本题中因为求的是乘积,所以先所有取log转换为加法,最后再乘方回来。 #include <iostream> #include <cstring> #include
分类:
其他好文 时间:
2016-02-15 21:14:54
阅读次数:
153
平面图最小割 对偶图: 平面图G的性质: (1)满足n个点,m条边,f个面 f = m - n + 2; (2)存在与其对应的对偶图G*; 对偶图:将原图中每个面变成一个点,外边界的无限大的面看成一个点,后连线即成对偶图; G的面数等于G*的点数,边数相等; 详解请看 最大最小定理(平面图最小割 对
分类:
其他好文 时间:
2016-02-14 21:01:58
阅读次数:
283
可以树形DP,也可以用网络流(最大流=最小割) 用树形DP的话,这题就是 HDU 3586 简化版,HDU 3586还需要二分查找。 #include<cstdio> #include<cstring> #include<cmath> #include<ctime> #include<map> #i
分类:
其他好文 时间:
2016-02-09 15:52:11
阅读次数:
214
这道题的难点在于将点拆分, 无向图变为有向图, 对于 i点我们可以将这个点拆分成2*i-1 -> 2*i,权值为1 对于i - j, 我们可以将点拆分以后再添加2*j -> 2*i-1 2*i -> 2*j-1,权值为inf, 然后求解最大流即为要去掉的顶点的个数, 求解具体的边的时候我们可以枚举要
分类:
其他好文 时间:
2016-02-08 21:15:04
阅读次数:
264
请不要随便指点别人该怎么做、每一个人的人生都应该自己掌握、你给不了别人一切、你也不懂别人的忧伤、 微笑不代表快乐、哭泣不一定悲伤 不努力怎么让关心你的人幸福、不努力怎么让看不起你的人绝望、 ...
分类:
其他好文 时间:
2016-01-25 08:47:51
阅读次数:
161
果然智商是硬伤。。。去掉最少的边使图不联通,不联通意味着不会还存在朋友之间有矛盾,那么去掉的边有两种可能,1是与st相连的(Orz就是这里忽略了),那么就是违心说话的人,另外就是中间的边,那么就是朋友之间立场不同的人。然后跑一下最大流就好了。-----------------------------...
分类:
其他好文 时间:
2016-01-23 00:57:35
阅读次数:
212
试着用证明文理分科那道题的方法去推,取st和单独两个点(简化问题),发现收取费用k可以在u和v中间连双向边,三种情况也还是分别对应;一是割掉与s相连的两条边,即都养羊,二是割掉与t相连的两条边,即都养羊,三是割掉s->i,j->i,j->t三条边图就不联通了,刚好对应养不同的牛。所以说多尝试是√的。...
分类:
其他好文 时间:
2016-01-23 00:41:07
阅读次数:
248