题意:给出n种化学物质,其中m对会发生化学反应,每次加入化学物质进去的时候,

如果有能够和它发生反应的,危险值就乘以2,问怎样的放入顺序使得危险值最大

将这m对会反应的用并查集处理,统计每个连通块里面的元素个数,再将其减去1,加起来,就是2的指数

 #include<iostream>
#include<cstdio>
#include<cstring>
#include <cmath>
#include<stack>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<algorithm>
using namespace std; #define foreach(i,c) for (__typeof(c.begin()) i = c.begin(); i != c.end(); ++i) typedef long long LL;
const int INF = (<<)-;
const int mod=;
const int maxn=; int p[maxn];
vector<int> g[maxn]; int find(int x){ return x==p[x]? x:p[x]=find(p[x]);} LL pow_my(int x){
LL ans=;
for(int i=;i<=x;i++) ans=(LL)ans*;
return ans;
} int main(){
int n,m;
cin>>n>>m;
for(int i=;i<=n;i++) p[i]=i; while(m--){
int u,v;
cin>>u>>v;
int x=find(u);
int y=find(v);
if(x!=y) p[x]=y;
} for(int i=;i<=n;i++){
int x=find(i);
g[x].push_back(i);
} int ans=;
for(int i=;i<=n;i++){
if(g[i].size()!=) ans+=g[i].size()-;
} cout<<pow_my(ans)<<"\n"; return ;
}

最新文章

  1. WordPress主题模板层次和常用模板函数
  2. [jQuery学习系列五 ]5-Jquery学习五-表单验证
  3. android 图片占用内存与什么有关
  4. Gradle深入与实战(转)
  5. Linux/Android 性能优化工具 perf
  6. android C/C++ source files 全局宏定义 .
  7. rsyslog官方文档
  8. A - Oil Deposits(搜索)
  9. Struts2实现异步调用机制详细剖析(XML和JSON)
  10. 使用python实现计算器功能
  11. Android模拟器
  12. MinnowBoard MAX 硬件开发板
  13. C语言的一些输出格式
  14. Java软件工程师面试常见问题集锦之一
  15. BZOJ1324Exca王者之剑&amp;BZOJ1475方格取数——二分图最大独立集
  16. CSS-2
  17. python文件操作之二进制
  18. SpringJdbc之queryForXXX大全解读
  19. Scrapy源码注解--CookiesMiddleware
  20. tomcat8源码之架构解析

热门文章

  1. CoreData的介绍和使用
  2. NOIP 2012 T2 国王游戏 (贪心+高精)
  3. Kali linux 2016.2(Rolling)中的Exploits模块详解
  4. MyEclipse 启动之 java.lang.RuntimeException: No application id has been
  5. MySQL用户添加和分配权限
  6. hiho151周*
  7. shell-4.bash的变量:用户自定义变量
  8. IIS支持10万个同时请求的设置
  9. 洛谷 P2633 Count on a tree 主席树
  10. python中*号用法总结