随笔分类 - ACM-并查集
摘要:又补一天昨天的题。 CodeForces 593D Happy Tree Party
阅读全文
摘要:FFT HDU 5452 Minimum Cut 和[POJ 3417] Network这道题差不多。 LCA + 树上差分。 统计每个节点和它父亲相连的边被覆盖的次数,那切割了这条边形成最小割,还需要切割被覆盖次数条副边。 求最小值即可。 #include <cstdio> #include <c
阅读全文
摘要:[POJ 3417] Network LCA + 树上差分 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1e5+50; typedef long lon
阅读全文
摘要:把最近碰到的几个并查集题目综合一下。 BZOJ-1854 并查集来做,我们可以把一件装备看成一条边,两个属性看成两个点,那么这就相当于读入了一张图 当读入每一个x,y时,我们找到两个点的祖先节点,fx,fy,我们保证祖先节点在该连通块 中编号(装备属性)最大,用vis数组记录能否用属性I攻击boss
阅读全文
摘要:题目链接:http://vjudge.net/problem/41567/origin 本来想着m^2的复杂度撑不住,对于这种擦着边的复杂度就好慌。 首先对所有的边排个序,然后枚举每个可以构成生成树的区间(L,R),取区间里面构成树的边的权值的最小和最大的差值,求最小值即可。 如果已经构成生成树可以
阅读全文
摘要:HDU 5573 Binary Tree 获得姿势:要构造数,想到用二进制构造。 一直向最左路构造,最左路的和是(2^k)-1,加入给定n,那么被减去的数字是d = (2^k)-1-n. 当我要减去一个数字时,从上往下走,对于总和相当于减去二倍的数字,所以要d/2.但前提是保证d为偶数。即为奇数时d
阅读全文
摘要:Problem - D - Codeforces Fix a Tree 看完第一名的代码,顿然醒悟。。。 我可以把所有单独的点全部当成线,那么只有线和环。 如果全是线的话,直接线的条数-1,便是操作数。 如果有环和线,环被打开的同时,接入到线上。那就是线和环的总数-1. 如果只有环的话,把所有的环打
阅读全文
摘要:L2-013. 红色警报 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 时间限制 400 ms 时间限制 400 ms 内存限制 65536 kB 内存限制 65536 kB 代码长度限制 8000 B 代码长度限制 8000
阅读全文