HDU 6411 带劲的and和
题目传送门
代码:
#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和相关推荐
- HDU 6411 带劲的and和【枚举贡献】
HDU 6411 带劲的and和: 分析:写了好久了,突然想补一下博客... 公式看完过后,就是求一个联通图内任意两点之间的max(vi,vj)×(vi&vj).直观感受是n*n的做法,从枚举 ...
- hdu 6411 带劲的and和(并查集、位运算)
带劲的and和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit:65536/65536 K (Java/Others) Problem Desc ...
- 【HDU 6411】带劲的and和 【并查集 + 二进制拆位】
度度熊专门研究过"动态传递闭包问题",他有一万种让大家爆蛋的方法:但此刻,他只想出一道简简单单的题--至繁,归于至简 度度熊有一张n个点m条边的无向图,第i个点的点权为viviv_ ...
- 勾股数(毕达哥拉斯三元组)
勾股数(毕达哥拉斯三元组) 勾股数:可以构成一组直角三角形边长的三个正整数. eg: 3 4 5 勾股数的规律: 1)任何大于1的正奇数a=2k+1,其平方t=a^2仍为奇数,且将平方数拆成两个相邻的 ...
- HDU 4389 - X mod f(x)
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...
- hdu 4389 囧,打表
http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求. 囧,居然打表就能过 ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 5438 Ponds 拓扑排序
Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...
- HDU 1248 寒冰王座(全然背包:入门题)
HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...
最新文章
- Linux导入ora-39070,impdp 导入数据报ORA-39002,ORA-39070,ORA-39002, ORA-39087
- 深度学习vs机器学习 | 这些本质区别你知道多少?
- Python中通过PyPDF2实现PDF加密
- hibernate JPA 双向多对多 bi-directional many-to-many association
- jQuery 3.4.0 Released(2019.4.10)
- php菜单管理样式模板,php – SilverStripe Fluent菜单模板
- github上传的项目代码语言类型修改
- mysql 内存表 速度_mysql查询速度。为什么用内存表查询tmp表比直接选择慢?
- 日期Date和String/Long之间的转换
- 如何突破百度云下载速度限制
- 【网址收藏】golang持久层框架GORM 中文文档地址
- VS2010 0xC000041D:用户回调期间遇到未经处理的异常
- 二十一世纪大学英语读写教程(第二册)学习笔记(原文)——9 - Get Ready for Some Wild Weather(准备应对厄尔尼诺)
- python qq群发消息_Python版QQ群发消息
- java移位运算符(一个大于号,两个大于号,三个大于号)
- Mybatis 查询 List作为参数查询 条件中有多个参数,foreach in 查询
- 【超融合】超融合“火不火”?
- CAN光端机在西门子FC18/720消防主机海上风电厂之星型联网方式
- oracle实现剪刀石头布,C#使用Unity实现剪刀石头布游戏
- VScode与VSstdio差别该如何选择C语言IDE(集成开发环境)
热门文章
- 如何快速将pdf转换成excel
- python堆叠面积图_06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图...
- sm4加密和sm3加密
- jQuery的隐藏显示hide(),show()方法
- win10怎么设置护眼背景
- 网页实现从数据库读取数据并简单分页
- php编写六十甲子纳音表_史上最完整的六十甲子纳音表详细说明
- golang:%v,%+v,%#v区别
- 怎么用计算机录制mp3的音频,如何在电脑上录音详细图文教程
- mysql查男女比例百分比_sql server 计算男女比例 百分比