摘要: 二分+分数规划+dfs判环 跟1486很像,但是我忘记怎么判环了, 我们可以写一个dfs,如果当前节点的距离小于更新的距离,而且这个点已经在当前访问过了,那么就是有环了,如果没有访问过就继续dfs,每个点枚举dfs就行了。 如果这个点距离大于更新距离,那么没必要访问,因为刚才都没有判出来正环,现在这 阅读全文
posted @ 2017-08-06 19:05 19992147 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 树链剖分+二分+线段树套treap 写题5分钟,调试2小时。。。 很好理解,就是维护树链剖分的线段树改成线段树套treap,然后每次树套树删除一个数,插入一个数,二分一个数查找排名就行了 #include<bits/stdc++.h> using namespace std; const int N 阅读全文
posted @ 2017-08-06 15:28 19992147 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 带修改莫队 抄了个板子,跟莫队很像 莫队是两维排序,带修改的莫队是三维排序,(block[l],block[r],time) 我们把询问按照这个顺序排序,然后像普通莫队一样转移,唯一不同的是块要开到sqrt(n),还有转移区间之前要把对应区间的修改修改好,用一个cur指针指向当前修改,如果这个修改在 阅读全文
posted @ 2017-08-06 15:25 19992147 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 并查集+dfs 先开始想和不相连的点用并查集连起来,最后看每个连通块有多少个点就行了,但是这样是O(n*n)的,然而我并没有想到补图 其实就是求补图有多少连通块,因为补图中两个点有边,那么这两个点必须在一栋大楼里,因为他们之间没有联系,然后这样就有了许多连通块,不同的连通块可以不相连,因为不同的连通 阅读全文
posted @ 2017-08-06 12:42 19992147 阅读(226) 评论(0) 推荐(0) 编辑