题目传送门
代码:

#include<bits/stdc++.h>
using namespace std;typedef long long LL;
const int maxn=100000+100;
const int mod=1e9+7;int fa[maxn];
int ans[maxn];
int cnt[50];
vector<int>G[maxn];inline int Find(int x){if(x!=fa[x]) fa[x]=Find(fa[x]);return fa[x];
}inline void Union(int x,int y){int X=Find(x),Y=Find(y);if(X<Y) fa[Y]=X;else fa[X]=Y;
}int main(){int T;int n,m;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&ans[i]),fa[i]=i,G[i].clear();for(int i=1;i<=m;i++){int u,v;scanf("%d%d",&u,&v);Union(u,v);}for(int i=1;i<=n;i++){G[Find(i)].push_back(ans[i]);}LL key=0;for(int i=1;i<=n;i++){if(G[i].size()==0) continue;int len=G[i].size();memset(cnt,0,sizeof(cnt));sort(G[i].begin(),G[i].end());for(int j=0;j<len;j++){int val=G[i][j];for(int bit=0;bit<=30;bit++){if((val>>bit)&1){key=(key+1LL*val*(1<<bit)%mod*cnt[bit]%mod)%mod;cnt[bit]++;}}}}printf("%lld\n",key);}
}

HDU 6411 带劲的and和相关推荐

  1. HDU 6411 带劲的and和【枚举贡献】

    HDU 6411 带劲的and和: 分析:写了好久了,突然想补一下博客... 公式看完过后,就是求一个联通图内任意两点之间的max(vi,vj)×(vi&vj).直观感受是n*n的做法,从枚举 ...

  2. hdu 6411 带劲的and和(并查集、位运算)

    带劲的and和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit:65536/65536 K (Java/Others) Problem Desc ...

  3. 【HDU 6411】带劲的and和 【并查集 + 二进制拆位】

    度度熊专门研究过"动态传递闭包问题",他有一万种让大家爆蛋的方法:但此刻,他只想出一道简简单单的题--至繁,归于至简 度度熊有一张n个点m条边的无向图,第i个点的点权为viviv_ ...

  4. 勾股数(毕达哥拉斯三元组)

    勾股数(毕达哥拉斯三元组) 勾股数:可以构成一组直角三角形边长的三个正整数. eg: 3 4 5 勾股数的规律: 1)任何大于1的正奇数a=2k+1,其平方t=a^2仍为奇数,且将平方数拆成两个相邻的 ...

  5. HDU 4389 - X mod f(x)

    题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...

  6. hdu 4389 囧,打表

    http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求. 囧,居然打表就能过 ...

  7. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  8. hdu 5438 Ponds 拓扑排序

    Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...

  9. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

最新文章

  1. Linux导入ora-39070,impdp 导入数据报ORA-39002,ORA-39070,ORA-39002, ORA-39087
  2. 深度学习vs机器学习 | 这些本质区别你知道多少?
  3. Python中通过PyPDF2实现PDF加密
  4. hibernate JPA 双向多对多   bi-directional many-to-many association
  5. jQuery 3.4.0 Released(2019.4.10)
  6. php菜单管理样式模板,php – SilverStripe Fluent菜单模板
  7. github上传的项目代码语言类型修改
  8. mysql 内存表 速度_mysql查询速度。为什么用内存表查询tmp表比直接选择慢?
  9. 日期Date和String/Long之间的转换
  10. 如何突破百度云下载速度限制
  11. 【网址收藏】golang持久层框架GORM 中文文档地址
  12. VS2010 0xC000041D:用户回调期间遇到未经处理的异常
  13. 二十一世纪大学英语读写教程(第二册)学习笔记(原文)——9 - Get Ready for Some Wild Weather(准备应对厄尔尼诺)
  14. python qq群发消息_Python版QQ群发消息
  15. java移位运算符(一个大于号,两个大于号,三个大于号)
  16. Mybatis 查询 List作为参数查询 条件中有多个参数,foreach in 查询
  17. 【超融合】超融合“火不火”?
  18. CAN光端机在西门子FC18/720消防主机海上风电厂之星型联网方式
  19. oracle实现剪刀石头布,C#使用Unity实现剪刀石头布游戏
  20. VScode与VSstdio差别该如何选择C语言IDE(集成开发环境)

热门文章

  1. 如何快速将pdf转换成excel
  2. python堆叠面积图_06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图...
  3. sm4加密和sm3加密
  4. jQuery的隐藏显示hide(),show()方法
  5. win10怎么设置护眼背景
  6. 网页实现从数据库读取数据并简单分页
  7. php编写六十甲子纳音表_史上最完整的六十甲子纳音表详细说明
  8. golang:%v,%+v,%#v区别
  9. 怎么用计算机录制mp3的音频,如何在电脑上录音详细图文教程
  10. mysql查男女比例百分比_sql server 计算男女比例 百分比