NOIP2012模擬8 7 奶牛編號

2022-05-16 12:20:30 字數 828 閱讀 1363

對於這道題,我們先設0放x個,1放k個k個

設當前剩下x'個0和k'個1,則對於剩下的位置,我們可以把它抽象成將x'個0插入到x'+k'個位置中,方案數為\(c_^\)

因此我們可以先列舉放置的0的個數,當總方案數\(\geqslant\)n時,那麼我們要求的答案長度便求了出來

於是我們可以暴力列舉了

即使我們知道了答案的長度,暴力列舉仍然不在考慮範圍內,因為它還是會炸

而上文提到的組合數又派上了用場

我們用組合數計算出當前這個位置放0的方案數,若其小於當前要求的n,則說明我們要求的答案在該位一定放1,否則一定放0。這樣我們就可以一路遞推下去,以o(len)的時間算出答案。

再加點小優化就卡過去了,正解好像要用一維的來著。

#include using namespace std;

int n,k,len,x,i,j,f[3000001],c[3001][3001];

long long p,num;

int c(int x,int y)

void dg(int x,int y,int z)

if (x==1)

else

g=c(len-x,z-1);

if (g>=y)

else

}}int main()

else p+=c[k+i-1][i];

n-=p;

dg(1,n,len-k);

}

NOIP2012模擬8 7 找位置

farmer john 想找乙個最好的位置來建新農場,這樣他每天可以少走些路。fj所在的區域,有n個城鎮 1 n 10,000 城鎮之間,有m 1 m 50,000 條雙向路相連。所有城鎮都可以借助一些路相互連線。fj需要你的幫助來選擇最合適建新農場的城鎮。k 1 k 5 個城鎮中有超市,fj每天都...

2932 NOIP2012模擬8 7 奶牛編號

作為乙個神秘的電腦高手,farmer john 用二進位制數字標識他的奶牛。然而,他有點迷信,標識奶牛用的二進位制數字,必須只含有k位 1 1 k 10 當然,每個標識數字的首位必須為 1 fj按遞增的順序,安排標識數字,開始是最小可行的標識數字 由 1 組成的乙個k位數 不幸的是,他沒有記錄下標識...

NOIP2012模擬10 25 旅行

給定乙個n行m列的字元矩陣,代表空地,x 代表障礙。移動的規則是 每秒鐘以上下左右四個方向之一移動一格,不能進入障礙。計算 在空地中隨機選擇起點和終點 可以重合,此時最短耗時為0 從起點移動到終點最短耗時的平均值。每一行每一列至多有1個障礙,並且障礙不在對角線方向相鄰。以下矩陣是不合法的 x x.第...