2015ACM/ICPC 北京站 K题 数论 + 搜索
来源:互联网 发布:数据融合技术类型 编辑:程序博客网 时间:2024/06/05 06:25
题目链接
题意:
给定一个数列
然后给你一个
然后问
思路:
对于
设:
则
因为
而
所以
即:
故我们可以推出
当
当
故可以考虑DFS,每次可以将问题规模减小一半。
代码:
#include<cstdio>#include<cmath>#include<set>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int A = 1e5 + 10;ll g[A],tg[A],k;ll n;ll calc(ll n){ if(n == 1) return 1; if(n&1) return (3*calc(n/2)+1)%k; return 3*calc(n/2)%k;}void dfs(ll n){ if(n == 1){ g[1]++; return; } if(n&1){ dfs(n-1); g[calc(n)]++; } else{ dfs(n/2); for(int i=0 ;i<k ;i++) tg[i] = 0; for(int i=0 ;i<k ;i++){ tg[(i*3)%k] += g[i]; tg[(i*3+1)%k] += g[i]; } for(int i=0 ;i<k ;i++) g[i] = tg[i]; g[1]++; g[calc(n+1)]--; }}int main(){ int T; scanf("%d",&T); while(T--){ scanf("%lld%lld",&n,&k); memset(g,0,sizeof(g)); dfs(n); ll ans = 0; for(int i=0 ;i<k ;i++){ ans ^= g[i]; } printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- 2015ACM/ICPC 北京站 K题 数论 + 搜索
- hihiocoder 1255(搜索)(2015ACM/ICPC北京站)
- ACM/ICPC 2014 北京站题 解题报告
- Bro Sorting(2014ACM/ICPC亚洲区北京站-K)
- hdu5113 贪心搜索 2014ACM/ICPC亚洲区北京站 B题 Black And White
- 2014 ACM/ICPC 北京站 总结
- hihocoder1258(水)(2015ACM/ICPC北京站)
- ACM-ICPC北京站网络赛A题---Visiting Peking University
- K.Bro Sorting(杭电5122)(2014ACM/ICPC亚洲区北京站)
- 2014ACM/ICPC亚洲区北京站-重现赛 K(hdu 5122)
- hdu 5122 K.Bro Sorting 2014ACM/ICPC亚洲区北京站-重现赛
- hdu 5122 K.Bro Sorting [ACM/ICPC 2014 北京站现场赛]
- 2014ACM/ICPC亚洲区北京站
- ACM/ICPC 14 北京站现场赛 B
- 2016 ACM-ICPC 亚洲区域赛北京站E题 What a Ridiculous Election (BFS预处理)
- Hihocoder #1636 : Pangu and Stones(2017 ACM-ICPC北京站J题)
- 2014ACM/ICPC亚洲区北京站-A Curious Matt
- 2014ACM/ICPC亚洲区北京站-重现赛
- 动态规划:从新手到专家
- 【51单片机实验】INT0中断控制LED
- 进展更新
- 模运算+c除法小知识
- eclipse集成maven(使用本地仓库)
- 2015ACM/ICPC 北京站 K题 数论 + 搜索
- Windows下Git上传项目代码记录
- 更新下载
- 如何隐藏导入表
- 使用Yii2 PHPExcle +ajax 导入Excle的demo
- 树莓派remot3.it外网访问最新--添加多个服务
- E:Could not get lock /var/lib/apt/lists/lock
- 操作系统及驱动、进程、服务等解析
- 对输入数据进行多个异常处理