P4932 浏览器

__stdcall给了你n个点,第i个点有权值x[i],对于两个点u和v,如果x[u] xor x[v]的结果在二进制表示下有奇数个1,那么在u和v之间连接一个Edge,现在__stdcall想让你求出一共有多少个Edge。

如果你没能成功完成任务,那么__stdcall会让你痛苦一下,你这个测试点就没分了。

由于不小心看到这道题,然后一点儿思路都枚举,果断看了题解

发现了这么一句话(此题关键):

规律:当两个数的二进制数$1$的个数为一奇一偶时,他们抑或的值的二进制数的个数才为偶数,否则为奇数

那么答案显然是奇数个数乘以偶数个数

但是暴力统计时间复杂度为$O(nlogV)$,只可以通过$\%50$的数据

$bitset$貌似是优化了这个过程,$bitset.count()$STL中表示这个$bitset$的$1$的个数

#include<bits/stdc++.h>

#define LL long long
#define N 10000005
using namespace std; LL n,a,b,c,d,x[N],sum[];
int main()
{
scanf("%lld%lld%lld%lld%lld%lld",&n,&a,&b,&c,&d,&x[]);
for(int i=;i<=n;i++){
x[i]=((a*x[i-]%d*x[i-]%d)%d+(b%d*x[i-]%d)%d+c%d)%d;
x[i]=(x[i]%d+d)%d;
}
for(int i=;i<=n;i++){
bitset<>p=x[i];
sum[p.count()&]++;
} printf("%lld\n",sum[]*sum[]); return ;
}

最新文章

  1. GZFramwork快速开发框架演练之会员系统(四)添加商品管理
  2. Java集合之TreeMap
  3. iOS _BSMachError: (os/kern) invalid capability (20)
  4. PostgreSQL Replication之第十一章 使用Skytools(5)
  5. ios上取得设备唯一标志的解决方案
  6. android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地
  7. Hive - 建表和加载数据指令小结 以及使用Load data指令的注意事项
  8. Android setTag IllegalArgumentException
  9. VS2012下基于Glut OpenGL glDepthMask示例程序:
  10. Redis4.0 Cluster — Centos7
  11. 2019.04.16打卡(java 数组)
  12. Python-random模块-59
  13. Python_每日习题_0004_一年中的第几天
  14. MySQL数据库一
  15. Perl 文件处理范例
  16. Android GridView 滑动条设置一直显示状态
  17. Python 入门网络爬虫之精华版
  18. 文件名过滤器FilenameFilter的用法
  19. UOJ #56. 【WC2014】非确定机
  20. 技术分享:SSH实战项目

热门文章

  1. Bid和Ask
  2. 拓扑排序+DFS(POJ1270)
  3. hdoj1257【疑问】(贪心)
  4. 框架基础:关于ajax设计方案(三)---集成ajax上传技术
  5. 第十七篇 .NET高级技术之XML
  6. OpenCV认识之发展历史
  7. 决斗(Headshot )
  8. Python之单元测试——HTMLTestRunner
  9. Educational Codeforces Round 46 (Rated for Div. 2) A. Codehorses T-shirts
  10. 优先队列 POJ 3253 Fence Repair