
高效算法
文章平均质量分 80
guognib
这个作者很懒,什么都没留下…
展开
-
1741 Tree (树的分治,点分治)
参考:http://hi.baidu.com/strongoier/item/fe47a4191c18a37c1009b515 给出N(1 v长度不超过k的点对(u, v)的个数。 点分治法:每次找出分治点,求经过其的路径的点对,子树递归处理即可。 会有重复值,需要减去子节点相关的一些值 注意技巧: 删除点的办法。adj[r ^ 1].mk = false; 找出分支点的方法。(与直原创 2013-12-03 18:19:05 · 893 阅读 · 0 评论 -
DLX (精确区间覆盖,重复区间覆盖)(模板)
参考:白书 http://www.cnblogs.com/jh818012/p/3252154.html http://blog.youkuaiyun.com/fp_hzq/article/details/6795027 需要注意的是 (1)行列id的hash (2)行编号从1开始,列编号为1~c,结点0为表头结点 (3)sz和ans等的初始化操作!!! 精确区间覆盖原创 2014-04-16 14:21:41 · 1360 阅读 · 0 评论 -
三分模板
using namespace std; typedef long long LL; const int INF = 0x3f3f3f3f; const int maxn = 100010; const int MOD = 1000000007; int n, m; int a[1000100]; LL calc(int idx) { LL ans = 0; int x = -1原创 2014-05-03 22:20:39 · 2425 阅读 · 0 评论