上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: ARRAY GAME! 阅读全文
posted @ 2018-01-23 08:16 Ren_Ivan 阅读(139) 评论(0) 推荐(1) 编辑
摘要: just a game 阅读全文
posted @ 2018-01-22 19:56 Ren_Ivan 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 上下界费用流 阅读全文
posted @ 2018-01-17 20:46 Ren_Ivan 阅读(123) 评论(0) 推荐(1) 编辑
摘要: 最小割 阅读全文
posted @ 2018-01-16 16:51 Ren_Ivan 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 我们首先跑一遍最大流。 可以发现如果一个流没跑或者没有跑满,他肯定不再最小割中。如果没跑,那么去掉它之后新图的最小割依然等于最大流,所以割他没有用,而没有跑满的边可以看作是一个满了的边和一个空的边,割了就是浪费了他多余的流量。 那么如果一个边跑满了呢? 对于残留网络缩点,如果$id[u]!=id[v 阅读全文
posted @ 2018-01-16 11:24 Ren_Ivan 阅读(160) 评论(0) 推荐(1) 编辑
摘要: 网络流,我竟然没想出来黑白染色!!! 黑白染色,发现黑的增加量一定等于白的增加量,设最后格子里的数为$x$,那么$x*num1-sum1=x*num2-sum2$ 如果$num1=num2$, 如果$sum1!=sum2$,无解, 否则易证若$x1$有解,任意$x>x1$均有解。 如果$num1!= 阅读全文
posted @ 2018-01-15 21:19 Ren_Ivan 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 查询可以直接线段树维护,修改呢,考虑一颗替罪羊,每个点代表一段区间,他的$val$就是区间中值,线段树记录对应节点的$id$,再开一个数组记录即时的权值,因为重建时$val$可能会变。这好像是重量平衡树的应用,然而究竟什么是重量平衡树呢? 1 #include<cstdio> 2 #include< 阅读全文
posted @ 2018-01-15 13:25 Ren_Ivan 阅读(245) 评论(0) 推荐(1) 编辑
摘要: 替罪羊套$01Trie$ 一看就是傻逼树套树,后来一直$MLE$,发现有内存没删干净。删了之后$TLE$,$Trie$重载$new$和$delete$了就快的飞起了。 1 #include<cstdio> 2 #include<iostream> 3 #include<vector> 4 #defi 阅读全文
posted @ 2018-01-15 13:20 Ren_Ivan 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 如果这棵树不变的话,就是一个裸的点分树套平衡树,式子也很好推$di+dj<=ri+rj$,$ri-di>=dj-rj$ 平衡树维护$dj-rj$,然后查$ri-di$的$rank$即可。 但是点分树如果极度不平衡也就没有什么意义了。所以利用替罪羊树的思想,当某个子树极度不平衡时,就重新找重心,重建点 阅读全文
posted @ 2018-01-12 17:31 Ren_Ivan 阅读(463) 评论(0) 推荐(1) 编辑
摘要: 动态点分治的题好恶心啊 思路倒是比较简单,点分树上每个节点维护子树到他的权值和,到他父亲的权值和,以及点权和。 发现查询的是带权重心,于是每次查到一个点,就在他原树的儿子中找一个比他优的,走到那边的点分树上的儿子,没有比他优的话答案就是他。 一开始一直以为知道父亲的答案,儿子的答案可以$log$转移 阅读全文
posted @ 2018-01-08 18:04 Ren_Ivan 阅读(338) 评论(0) 推荐(2) 编辑
摘要: 动态点分治,建出点分树。每个点维护每个子树黑点到其的距离$max$的一个堆,那么怎么维护呢,对于他的儿子,要维护其子树所有黑点到其父亲的距离的堆,然后$maintain$就可以了。最后再维护一个全局答案的堆就好了。 修改的时候真恶心。 1 #include<cstdio> 2 #include<cs 阅读全文
posted @ 2018-01-07 18:33 Ren_Ivan 阅读(215) 评论(3) 推荐(0) 编辑
摘要: 式子的推导网上有很多dalao写的都很好,就不再赘述了。 有两点是我没有想到的,再次写一下。 首先就是初始的式子。不知道直角三角形斜边上整数点个数=gcd(a,b)+1,更没有拓展到多维。 第二就是划出来60分的式子之后的优化,把后边的关于T的多项式的系数通过O(n2)时间算了出来$O(n^2*m) 阅读全文
posted @ 2018-01-06 10:46 Ren_Ivan 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 真的是动态树好题,如果把每个点的父亲设成p[x],那么建出来图应该是一个环套树森林,拆掉一条边,就变成了动态树,考虑维护什么,对于LCT上每个节点,维护两组k和b,一组是他到他父亲的,一组是他LCT子树中深度最深的点到深度最浅的点的父亲的k和b,查询时只需查询一颗树中sf到自己的k和b,判断是否有唯 阅读全文
posted @ 2018-01-06 10:41 Ren_Ivan 阅读(172) 评论(0) 推荐(0) 编辑
摘要: NOIP 2017 阅读全文
posted @ 2018-01-05 21:46 Ren_Ivan 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 如果要用矩阵树的话是无法限制公司个数的,发现数据范围十分小,于是考虑容斥,最后答案就等于$n-1$个公司的方案数-$n-2$个公司的方案数+$n-3$个公司的方案数$...$,然后跑矩阵树就好了。 1 #include<cstdio> 2 #include<cstring> 3 #include<i 阅读全文
posted @ 2018-01-03 21:52 Ren_Ivan 阅读(177) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页