CodeForces 225B Well-known Numbers(二分)
来源:互联网 发布:七天网络阅卷查分注册 编辑:程序博客网 时间:2024/06/08 03:31
#include <iostream>#include <vector>using namespace std;//求出所有不大于s的k-bonacci数,放到 f 中,然后每次贪最接近s的数,放入 ans 中vector<int>f;vector<int>ans;int binary_search(int target){int low = 1, high = f.size() - 1, mid;while (low + 1 < high){mid = (low + high) / 2;if (f[mid] >= target)high = mid - 1;else low = mid;}if (f[high] < target)return high;return low;}int main(){int s, k;cin >> s >> k;f.push_back(0);f.push_back(1);int sum = 1;f.push_back(sum);while (sum < s){int tmp = 0;if ((int)f.size() - 1 - k > 0)tmp = f[f.size() - 1 - k];sum = sum * 2 - tmp;f.push_back(sum);}int num = s;while (num>0){int index = binary_search(num);if (f[index + 1] == num){ans.push_back(f[index + 1]);num = 0;}else{ans.push_back(f[index]);num -= f[index];}}ans.push_back(0);cout << ans.size() << endl;cout << ans[0];for (int i = 1; i < ans.size(); i++)cout << ' ' << ans[i];cout << endl;return 0;}
0 0
- CodeForces 225B Well-known Numbers(二分)
- codeforces 225B B. Well-known Numbers(数论+二分+贪心+构造)
- codeforces 225B(Well-known Numbers) 扩展斐波那契数列 Java
- Codeforces Round #139 (Div. 2) B. Well-known Numbers
- List of Well-Known TCP Port Numbers
- WKT(well known text)
- WKT (Well Known Text)
- WKT (Well Known Text)
- Well-known port assignment
- NAT64: well-Known Prefix
- CodeForces 650B(二分)
- CodeForces 706B (二分)
- Codeforces 213B Numbers
- Well-known DEP-violating thunks
- Well known ports for servers
- WAP_WSP的Well-known header
- CodeForces 287B Pipeline(二分)
- !CodeForces 287B--(贪心、二分)
- 杭电oj1789 Doing Homework again(贪心与队列完美碰撞)
- 8天学通MongoDB——第一天 基础入门
- MAC卸载JDK
- _DataStructure_C_Impl:静态链表
- Git使用详细教程
- CodeForces 225B Well-known Numbers(二分)
- RS485深入解析1:传输线的特性阻抗
- [笔记]sort
- self、类的继承和派生、实例变量修饰符、多态、类的本质
- _DataStructure_C_Impl:一元多项式
- HTML5 Canvas实现web画图之自由绘制矩形
- service android 属性
- 迭代器模式
- hibernate 乐观锁与悲观锁使用