题解 1110: 2^k进制数

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

2^k进制数 (C++代码)

摘要:解题思路:  题目的例子为例,长度为7位的01字串按3位一段就这样分:0 000 000。其中除了首段,每段都小于(111)2,也即小于2k,而首段自然是小于2w%k(对于w%k为0时也成立)了。  ……

2^k进制数 (C++代码)-排列组合+高精度巧妙处理

解题思路:这个题用了一天的时间,看各种大神写的,然后最后找到了一个比较简单且易懂的方式分享给大家,这个题我也不会做,不过学到了点新知识。思路:这是一个组合数学问题,注意这句话:作为2^k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。

2^k进制数-题解(C++代码)

#题意:######设r是个2^k进制数,并满足以下条件:(1)r至少是个2位的2^k进制数。(2)作为2^k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。(3)将r转换为2进制数q后,则q的总位数不超过w。满足上述条件的不同的r共有多少个?##思路:对于小于最大长度的,

2^k进制数 (递归解决)

```cpp#include#includeusingnamespacestd;intpr,max2,tot=0;voiddp(intbit,intn){if(bit>1&&bit>k>>w;pr=w/k+1;//分为w/k+1段max2=pow(2,
优质题解

2^k进制数-题解(C/C++代码)

####解题思路:这是一个组合数学问题,注意这句话:作为2^k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。其实这是在暗示组合数,显然r中的不会有相同的位如果每一位都不同,显然只有严格递增的排列是合法的这便是组合,将r转化成这种形式(设k为3)000000000000显然除首位外每一位的

2^k进制数-题解(C++代码)

###做一个辅助的二维数组f[i][j],表示位数为i的数,当最高位为j时,可以构成的数的个数以3,7为例f[2][1]=6;f[2][2]=5;...;f[2][6]=1;(和为21)f[3][1]=f[2][2]+f[2][3]+...+f[2][6]=15;(右边的数严格大于左边的)(第3为只能

全网最简单最快,几行字解释清楚!!!

#1110:2^k进制数,全网最快。##思路**这道题最快的方法就像小学那样找规律**比如说题目中的k=3,w=7:答案是:(6+5+4+3+2+1)+(5+4+3+2+1)那么我们就可以推断出来,如果k=3,w=8:答案就是:(6+5+4+3+2+1)+(5+4+3+2+1)+(4+3+2+1)+(

2^k进制数-题解(C++代码)

#include#includeusingnamespacestd;intadd(inta){return(a+1)*a/2;}intmain(){intk,w,i,count=0;cin>>k>>w;intmax=pow(2,k)-1;if(w%k==0)i=max;elsei=pow(2,

2^k进制数-题解(C++代码) 组合数+巧妙避免溢出

摘要:其实这题卡了挺久的,emmmm有点恶心,各种关系推了挺久,同时因为采用了比较巧妙的也导致了一些bug调试了挺久,不过好像数据还挺有的,原题中说结果位数k>>w; int maxsize=0……