如果你做过SCOI2010连续攻击游戏

就会一眼发现做法——并查集维护二分图

这个做法:

并查集要特意把祖先放的较大

这样祖先就是这个联通块的最大权

#include<bits/stdc++.h>
using namespace std;
inline void read(int &x){x=0;char ch=getchar();int f=1;while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}x*=f;
}
const int N=1e6+10000;
struct Node{int x,y;
}A[N];
int mmp[N*2]={};
int f[N]={};
int n;
int cnt=0;
int getfa(int x){if(f[x]==x)return x;else  return f[x]=getfa(f[x]);
}
int main(){read(n);for(int i=1;i<=n;i++){read(A[i].x);read(A[i].y);cnt++;mmp[cnt]=A[i].x;cnt++;mmp[cnt]=A[i].y;        }sort(mmp+1,mmp+1+cnt);int len=unique(mmp+1,mmp+1+cnt)-mmp-1;for(int i=1;i<=n;i++){A[i].x=lower_bound(mmp+1,mmp+1+len,A[i].x)-mmp;A[i].y=lower_bound(mmp+1,mmp+1+len,A[i].y)-mmp;}int ans=0;for(int i=1;i<=len;i++)f[i]=i;for(int i=1;i<=n;i++){int dx=getfa(A[i].x);int dy=getfa(A[i].y);if(!dx&&!dy){cout<<-1;exit(0);}if(dx>dy)swap(dx,dy);if(dx==dy||!dx||!dy){ans=max(ans,mmp[dx]);f[dx]=f[dy]=0;}else{ans=max(ans,mmp[dx]);f[dx]=dy;}}cout<<ans;
}

转载于:https://www.cnblogs.com/Leo-JAM/p/10079164.html

省选专练CF1027F Session in BSU相关推荐

  1. R6饮料AK赛(NOIP模拟赛)/省选专练HDU 5713 K个联通块

    我好菜啊100+60+30 滚犊子吧,两天加起来才410搞个屁我一年前都可以考400 不说了,题毕竟比较难 T1还是水题但是比昨天难 这是一个开绝对值不等式的题. 根据对奇数和偶数的最优根的归纳一定有 ...

  2. 省选专练之文艺计算姬

    "奋战三星期,造台计算机".小W响应号召,花了三星期造了台文艺计算姬. 文艺计算姬比普通计算机有更多的艺术细胞. 普通计算机能计算一个带标号完全图的生成树个数,而文艺计算姬能计算一 ...

  3. 省选专练(学习)可持久化Trie树(BZOJ3261)

    这个似乎也不是好难啊 但是可持久化Trie还是可以干许多线性基不能干的事. 什么是可持久化Trie? 顾名思义:是一种可以持久化的Trie树 他的建树方式和键值式线段树方式类似 也支持版本的减法 查询 ...

  4. 省选专练[CQOI2007]涂色

    不好理解的DP 伪区间DP F(i,j)表示子串i-j实现的方式最小 当i=j时明显为1 当s[i]==s[j]时 这里是理解的重难点: 通过递归可知当你刷i的时候顺便刷到j就好了 然后就是标准的区间 ...

  5. 省选专练之后缀自动机SPOJ1811LCS - Longest Common Substring

    陈老师引入SAM的例题 求两个串的LCS 直接建一个串的SAM,并且把另外一个串放进去跳. 这个方法很经典! 几乎满足了所有两个串的公共串问题的所有解法 有巨子说这个跳是均摊Log的,我也不知道QwQ ...

  6. 省选专练之神仙贪心IOI2013Robert

    [问题描述] 小沐把玩具扔在地板上,乱七八糟.庆幸的是,有一种特殊的机器人可以收拾玩具.不过他需要 确定哪个机器人去拣哪个玩具. 一共有 T 个玩具,整数 w[i]表示这个玩具的重量,整数 s[i]表 ...

  7. 省选专练(学习)AC自动机

    我好菜啊 AC自动机都不会 AC自动机可以干什么: 用一个模板串匹配多个子串. 这便让AC自动机可以干许多KMP和Tri树不能干的事. AC自动机的构造 首先建立一颗Trie树. 其次利用KMP的思想 ...

  8. 省选专练[POI2005]SAM-Toy Cars

    经典贪心 策略如下: 每次贪心让最需要的放下 易证正确 #include<bits/stdc++.h> using namespace std; const int N=1e6; inli ...

  9. 省选专练[NOI2008]志愿者招募

    一类新式网络流问题 按时间为键值拆点 链式连边. 考点:流量平衡思想 考点出处:网络流24题最长K重区间覆盖问题 建边: 每一天向下一天连INF-A[i],0的边 每一次劳工用差分的方式建边INF,c ...

最新文章

  1. 2010年基于Linux的10大技术趋势
  2. C语言getch()函数学习
  3. Istio的网络API解释了
  4. 三年Java开发,java基础常问面试题
  5. tensorflow conv2d的padding解释以及参数解释
  6. smarty缓存文件里是php,php-smarty模版引擎中的缓存应用
  7. 读取FTP上的excel文件,并写入数据库
  8. if....else的基本用法
  9. Unity3D之NGUI基础1:NGUI插件介绍
  10. 计算机网络的三种通讯模式(单播,广播,组播)小结
  11. Wheel Speed Sensor Bosch 文章
  12. BZOJ 3689 异或之
  13. 惊喜!轻松将word转换成pdf文档
  14. java读取.doc文件
  15. 计算机edp测试是什么测试,五、信息工具--(一)EDP:电子数据处理
  16. 读 《硬派健身》:健身百问(不断更新)
  17. 搜狗输入法自定义短语设置
  18. STM32F407使用串口3获取攀腾G7的PM2.5数据
  19. Chinese New Year
  20. oracle常见日期函数

热门文章

  1. Spring Boot 1.0 升级到 2.0 的时候遇到一些问题
  2. 虚拟机virtualbox,直接复制本机虚拟硬盘vdi使用, 会提示错误的解决方法
  3. 正则匹配以什么开头、以什么结尾,以非什么开头,以非什么结尾
  4. C++实现一个简单的计算器
  5. Codeforces 891E Lust 生成函数
  6. 用友服务器注册帐 号,能给我注册一个号吗?
  7. 怎么控制别人的电脑屏幕?
  8. TypeError: norm() received an invalid combination of arguments解决办法
  9. 计算机教室日常维护制度,现代信息技术教室管理制度
  10. 连接数据库用户名密码正确,但却显示Access denied for user ‘‘@‘localhost‘ (using password: NO)