随笔分类 - 并查集
摘要:#include #include #include #define maxn 30010 using namespace std; int m,fa[maxn],top[maxn],num[maxn]; char s; int find(int x) { if(x==fa[x])return x; int f=fa[x]; fa[x]=find(fa[x]); ...
阅读全文
摘要:/* 十分简单的题面 离散化一下 然后并茶几一下就OK了 跑的死慢 可能还有更优的方法吧 */ #include #include #include #include #include #define maxn 1000010 using namespace std; int T,n,m,s[maxn],t[maxn],fa[maxn],falg,num; int init() { ...
阅读全文
摘要:/* 终于没有看题解写出了一道noip T3难度的题(虽然wmy简单点拨了一下 ^^) 联通所有点 路上维护最小权值 使最小权值 很像最小生成树嘛 但是他要的是最小的最大 二分不单调似乎 所以先最大生成树建图 这样就得到了n-1条边链接n个节点 又是维护两两节点之间的路上最小值 很容易想到LCA 怎么维护呢 开始想想 嗯 树的规模应该不会很大 嗯 不用倍增思想应该以跑的挺快 所以第一遍只维护了...
阅读全文
摘要:/* 二分图染色版本 两个监狱对应二部图的两部分 在给定的怨气值里二分 对于每一个Ci 进行染色判断是否合法 染色的时候 如果这条边的ci > Ci 这两个人就带分开 即染成不同的颜色 如果染色到某两个点颜色相同且怨气值>Ci 这个Ci就不合法 二分直到最后答案 */ #include #include #include #include #define maxn 100010 us...
阅读全文
摘要:/* 第一眼以为就是个区间覆盖 然后敲完提交60分0.0 然而觉得自己的做法很对 以为数据错了 后来发现XXX他的牛棚是一圈(牛过得挺好的啊 还能赏湖...) 然后枚举断开的点 可惜n=750 p=10000 这组数据TLE了 1.3秒的样子 90分 后来看题解说可以并查集 觉得好有道理的样子 0.0 下面是两次的代码 */ #include #include #include #def...
阅读全文

浙公网安备 33010602011771号