2016 女生赛 1002 Desert
来源:互联网 发布:游戏帧数显示软件 编辑:程序博客网 时间:2024/04/30 01:44
Desert
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0
Problem Description
A tourist gets lost in the desert with n liters of water. He drinks positive integer units of water each day.
Write a program to calculate how many different ways the tourist can drink up the water.
Write a program to calculate how many different ways the tourist can drink up the water.
Input
The first line contains the number of test cases T(T≤10) .
NextT lines contain the number n(1≤n≤1000000) for each test case.
Next
Output
Output consists of T lines.
Each line contains the binary number which represents number of different ways to finish up the water specified in the test case.
Each line contains the binary number which represents number of different ways to finish up the water specified in the test case.
Sample Input
13
Sample Output
100Hint3 liters of water can be comsumed in four different ways show in the following. 1. 1 1 1 2. 1 2 3. 2 1 4. 3 If we write 4 in binary, it's 100.
#include<iostream>#include<stdio.h>#include<string.h>#include<cmath>using namespace std;int main(){int t,n;while(cin>>t){while(t--){cin>>n;cout<<1;while(--n)cout<<0;cout<<endl;}}return 0;}【题意】
一开始有数量为n(1<=n<=1e6)的水,
我们每天可以喝数量为任意整数的水,问你有多少种方式可以把水喝完。
【类型】
简单排列组合 隔板法
【分析】
这道题其实就是——
问你,对于整数n,可以把n拆分成多少个不同的正整数序列
我们考虑排列组合中的隔板法。
就是n个数,中间有n-1个空位,
其中每一个空位中,都可以选择插入隔板,从而把这n个数分成若干份,恰好对应本题。
显然——
如果拆成1份,方案数是C(n-1,1-1)=C(n-1,0)
如果拆成2份,方案数是C(n-1,2-1)=C(n-1,1)
如果拆成3份,方案数是C(n-1,3-1)=C(n-1,2)
...
如果拆成n份,方案数是C(n-1,n-1)=C(n-1,n-1)
对应着二项式展开,它们的和恰好是2^(n-1)。
于是对应着,我们直接输出——
1个1
+(n-1)个0即可。
【时间复杂度&&优化】
O(n)
以上解释出自 【2016杭电女生赛1002】【排列组合 隔板法】Desert 对n做正整序列拆分的方案数
0 0
- 2016 女生赛 1002 Desert
- HDU-5703-Desert【2016CCPC女生专场】
- 【2016杭电女生赛1002】【排列组合 隔板法】Desert 对n做正整序列拆分的方案数
- Desert
- 2016女生赛 1004 Clock【】
- 2017女生赛 1002 Building Shops【dp】
- 2016女生赛 1001 Solving Order
- 2016女生赛 1003 Luck Competition
- 2016女生赛 1005 GirlCat【DFS】
- 2016女生赛 【(7+2)/10】
- HDU 女生赛
- 女生赛HDU6023
- 女生赛HDU6024
- 女生赛hdu6025
- 女生赛hdu6027
- 2017 女生赛总结
- 2017 女生赛总结
- 2016女生赛 1006 Combine String【LCS变形】
- C语言基础 如何初始化结构体的字符串
- SpringMVC返回json是设置编辑等消息头,消息头信息介绍(respone.setHeader,这个从网上获取)
- javascript进阶(五)— — 理解正则表达式
- linux netstat命令详解
- openwrt 编译出中文luci
- 2016 女生赛 1002 Desert
- .toggle() 第一讲·简单介绍
- android设备管理器使用
- 练习三 1001
- JAVA模式设计-简单工厂模式
- 多线程-单线程执行程序
- 基因数据处理30之avocado运行avocado-cli中的avocado问题1和2
- 最大公约数与最小公倍数
- BearSkill实用方法之UITextField限制输入的字符数量