CSU-ACM2017暑期训练3-递推与递归I
来源:互联网 发布:python and 编辑:程序博客网 时间:2024/06/05 15:11
大意自己看题。
一开始发呆好久相处了怎么求某时刻第i排的数量,结果a,b<=2^30超时,很烦。题解原来直接求出1到i排的个数,f(k,b)-f(k,a-1)。以后看到求区间一定要想到前缀和相减。
#include<cstdio>#include<cstring>#define maxl 33long long c(int k){long long sum=1;while(k--)sum*=3;return sum;}long long f(int k,int i){if(i==0) return 0;if(k==0) return 1; //边界处理很重要 int num=1<<(k-1);if(i<num) return 2*f(k-1,i); //在上半边 ,从k-1到k会翻倍 elsereturn 2*c(k-1)+f(k-1,i-num); //在下半边 ,则上面一半变2个,下面的则等于i-1<<(k-1) }int main(){int a,b,t;long long k,sum=0,suma,sumb;scanf("%d",&t);for(int i=1;i<=t;i++){suma=0;sumb=0;scanf("%d%d%d",&k,&a,&b);sumb=f(k,b);suma=f(k,a-1);printf("Case %d: %lld\n",i,sumb-suma);}return 0;}
阅读全文
0 0
- CSU-ACM2017暑期训练3-递推与递归I
- CSU-ACM2017暑期训练3-递推与递归I
- CSU-ACM2017暑期训练3-递推与递归 G
- CSU-ACM2017暑期训练3-递推与递归 J
- CSU-ACM2017暑期训练3-递推与递归 J
- CSU-ACM2017暑期训练3-递推与递归 H
- CSU-ACM2017暑期训练3-递推与递归 G
- Function Run Fun--CSU-ACM2017暑期训练3-递推与递归
- CSU-ACM2017暑期训练3-递推与递归 D-Function Run Fun POJ-1579
- CSU-ACM2017暑期训练3-递推与递归 Non-boring sequences
- CSU-ACM2017暑期训练3-递推与递归 Erratic Expansion
- CSU-ACM2017暑期训练6-bfs I
- CSU-ACM2017暑期训练3 J
- Train Problem I CSU-ACM2017暑期训练1-Debug与STL
- CSU-ACM2017暑期训练1-Debug与STL hdu1022-Train Problem I
- Languages CSU-ACM2017暑期训练1-Debug与STL
- CSU-ACM2017暑期训练1-Debug与STL hdu2736
- CSU-ACM2017暑期训练1-Debug与STL hdu1896-Stones
- Ehcache教程(一)----Ehcache简介
- bzoj1395: [Baltic2005]Trip
- Linux 内核编译
- Python学习手册1-模块
- 搜狗实习面试总结
- CSU-ACM2017暑期训练3-递推与递归I
- Linux常用命令--文件管理一
- 基于numpy+pandas的单层神经网络
- 数据结构——链表
- 分类型的listview
- 软件安装
- FZU 2275 Game (KMP)
- django实现用户登陆功能
- (贪心)Codeforces Round #402 B. Weird Rounding