cf 644人 二進位制 數字dp

2021-08-14 21:50:28 字數 1048 閱讀 6538

乙個數變成他的二進位制表示中的一的個數

6->2->1

問2^1000以下所有數中,可以進行這個操作k次的數有多少個.

找到每個數需要幾次的思路是容易的,問題是這個組合數的計算過程

1,有自己和沒自己,0則直接沒自己

#include 

#include

#include

#include

#include

#include

using

namespace

std;

#define debug(x) std::cerr << #x << " = " << (x) << std::endl

typedef

long

long ll;

const

int maxn = 1e3+17;

const

int mod = 1e9+7;

int down[maxn],tms[maxn];

string str;

ll c[maxn][maxn];

inline

void upd(ll & a,ll b)

void comb(ll n, ll m, ll p)

}ll ans = 0;

int dfs(int p,int c)

else

upd(ret,dfs(p+1,c));

return ret;

}int main(int argc ,char

const *argv)

tms[1] = 0;

for (int i = 2; i <= 1000; ++i)

if(k==1) vec.push_back(1),ans--;

for (int i = 0; i < vec.size(); ++i)

if(vec[i]<=str.length())

upd(ans,dfs(0, vec[i]));

cout

0;}

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

權勢二進位制 CF 1413

1413 權勢二進位制 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 乙個十進位制整數被叫做權勢二進位制,當他的十進位制表示的時候只由0或1組成。例如0,1,101,110011都是權勢二進位制而2,12,900不是。當給定乙個n的時候,計...

二進位制 cf 1300C

題目 其實些幾個式子出來就可以發現,所有式子的值只有第乙個值有關,我們要找的就是二進位制裡1出現的次數為1的最大的那個數。include include include include include include include include include include include i...