Uva12627
来源:互联网 发布:web服务器端编程 编辑:程序博客网 时间:2024/06/13 02:12
题目链接
一道需要推导的递归 可以这么想,用前B行的红色气球的数量减去A-1行的红色球的数量就可以得到第A行到第B行的红色气球的数量。 公式如下
f(k,i)为当k小时时前i行的红气球数 pre[k]时k小时时红气球总数
#include <iostream>#include <cstdio>using namespace std;const int maxn = 40;int t, k, a, b;long long pre[maxn];long long f(int k, int i){ if (i == 0) return 0; if (k == 0) return 1; int k2 = 1 << (k - 1); if (i >= k2) return f(k - 1, i - k2) + pre[k - 1]*2; else return f(k - 1, i)*2;}int main(){ pre[0] = 1; for (int i = 1; i < 30; i++) pre[i] = 3 * pre[i - 1];// for (int i = 0; i < 30; i++)// cout << pre[i] << " ";// cout << endl; scanf("%d", &t); int Case = 0; while (t--) { scanf("%d%d%d", &k, &a, &b); long long result= f(k, b) - f(k, a - 1); printf("Case %d: %lld\n", ++Case,result ); } system("pause");}
阅读全文
0 0
- uva12627
- Uva12627
- UVA12627 Erratic Expansion
- uva12627 erratic expansion
- UVA12627 Erratic Expansion
- uva12627(分治思想)
- uva12627 Erratic Expansion
- uva12627 Erratic Expansion (递归)
- UVA12627 Erratic Expansion (递归找规律)
- UVA12627:Erratic Expansion(奇怪的气球膨胀)
- Uva12627 Erratic Expansion【分治】【例题8-12】
- 例题8-12 奇怪的气球膨胀 UVa12627
- UVa12627 例题8-12 奇怪的气球膨胀
- 例题8-12 奇怪的气球膨胀 UVa12627
- uva12627 - Erratic Expansion 入门经典II 第八章 例题8-12
- 算法竞赛入门经典 例题8-12 奇怪的气球膨胀 Erratic Expansion uva12627
- 例题8-12 奇怪的气球膨胀(Erratic Expansion, UVa12627)
- JVM启动参数
- More than React(一)为什么ReactJS不适合复杂交互的前端项目?
- 满江红·长江 汪国新 2017年7月
- 【怎样写代码】实现对象的复用 -- 享元模式(四):享元模式与字符串
- ubuntu 12.04 upgrade后 chrome 崩溃 报Aw, Snap!
- Uva12627
- Python学习笔记(二)——基础语法
- 来来来,随老夫撸一个支付宝玩玩——自定义Behavior的正确打开方式
- easyui 点击行不选中checkbox
- android 6.0 以上如何动态申请权限?
- C++获取计算机主机信息(计算机名称、IP)
- #747 –在WPF程序的触摸操作中使用惯性移动 (Implementing Inertia during Touch Manipulation)
- More than React(二)组件对复用性有害?
- ARCGIS jion方法 不同图层将一个图层的属性值全部赋给另一个图层