Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A)(模拟||规律)
来源:互联网 发布:java file类绝对路径 编辑:程序博客网 时间:2024/05/20 16:11
题意:给你一个数字n,问按照题意规则合并N次后的序列是什么?合并规则是相同的数字2个数字(M,M)合并为M+1
题解:直接模拟就可以了,使用栈还是vector都可以,也可以找一下规律,天啦撸!这一题竟然有规律,而且有人一眼就看穿了ORZ。。。。。,其实规律就是把n转化为二进制,观察可以发现其实就是让你输出在二进制数字为1的位置。例如
7:----->二进制是111,那么就输出3,2,1:
真是神奇的二进制!!!
模拟代码:
#include <set>#include <map>#include <list> #include <cmath> #include <queue> #include <vector>#include <cstdio> #include <string> #include <cstring>#include <iomanip> #include <iostream> #include <sstream>#include <algorithm>#define LL long long #define inf 0x3f3f3f3fusing namespace std;#define N 1000000vector<int>q;int main(){#ifdef CDZSCfreopen("i.txt","r",stdin);#endifint n;while(~scanf("%d",&n)){q.clear();q.push_back(0);q.push_back(1);for(int i=1;i<n;i++){if(q.back()!=1){q.push_back(1);}else{int t=2;q.pop_back();while(t==q.back()){t=t+1;q.pop_back();}q.push_back(t);}}for(int i=1;i<q.size();i++){printf("%d ",q[i]);}puts("");}return 0;}/*In the last sample, the steps look as follows:122 133 13 23 2 14*/
规律代码:
#include <cstdio>int main(){int i, n;scanf("%d", &n);for (i = 20; i >= 0; i--) if (n >> i & 1) printf("%d ", i + 1);}
0 0
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A)(模拟||规律)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(B)(构造,找规律)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-B. Guess the Permutation(模拟)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A、B、C、D)题解
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-A. Slime Combining(模拟)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) 总结
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) G
- Codeforces - Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)C - Constellation(数学练习)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-C. Constellation(贪心+向量平行判断)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(C)几何
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-C. Constellation(贪心+向量平行判断)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C. Constellation(思维 简单几何)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-D(DFS)
- codeforces Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) A.Slime Combining
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)--A. Slime Combining
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) CF618A A. Slime Combining
- 【Wunder Fund Round 2016 (Div 1 + Div 2 combined)A】【二进制拆分】Slime Combining 特殊规则二进制拆分
- clone(浅复制)
- codeforces 618D Hamiltonian Spanning Tree(dfs)
- BestCoder Round #70 1002 Jam's balance(DP)
- Django开发博客(八)——部署在SAE
- Android 引导页详解
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A)(模拟||规律)
- Search a 2D Matrix II
- Ubuntu安装使用clustershell
- 控制台贪吃蛇
- python study note
- clone(深复制)
- Spark技术内幕:SortBasedShuffle实现解析
- hdoj 5619 Jam's store 【最小费用最大流】
- leetcode21.MergeTwoSorted Lists