摘要:
链接 "BZOJ 3631" 题解 看起来是树剖?实际上树上差分就可以解决…… 当要给一条路径(u, v) +1的时候,给d[u] += 1, d[v] += 1, d[lca(u, v)] = 1, d[fa[lca(u, v)]] = 1。 注意这道题中路径的终点是不 +1的。 c++ incl 阅读全文
摘要:
我为什么要画这个? 首先,这是一只金色的企鹅……不是鸭子啦! "金企鹅(JQE)" 是我的一个学长,从我走上oi这条路开始,他就一直在给予我极大的帮助。 可是oi的美好时光流逝得太快,现在他已经高三了,成为了退役高考选手…… 高三的生活当然很艰辛,学长最近压力也很大。 所以我想借此机会,用洛谷冬日绘 阅读全文
摘要:
链接 "BZOJ 3993" 题解 这道题挺棵的…… 二分答案t,然后源点向武器连t b[i], 武器向能攻击的敌人连1, 敌人向汇点连a[i],如果最大流等于所有敌人的a[i]之和则可行。 阅读全文
摘要:
链接 "BZOJ 2039" 题解 这题建图好神,自己瞎搞了半天,最后不得不求教了 "企鹅学长的博客" ,,,,发现建图太神了!! s向每个人连sum(e[i][x]) 的边,每个人向T连a[i]的边。两两人之间连2 e[i][j]的边即可。 最后总的e – maxflow即为答案。 为什么我就没想 阅读全文
摘要:
链接 "BZOJ 2561" 题解 用Kruskal算法的思路来考虑,边(u, v, L)可能出现在最小生成树上,就是说对于所有边权小于L的边,u和v不能连通,即求最小割; 对于最大生成树的情况也一样。容易看出两个子问题是各自独立的,把两个最小割相加即可。 阅读全文