rqnoj 107 Ural的鷹蛋實驗 dp

2021-06-18 17:43:54 字數 701 閱讀 3515

詳參:

採用了耗時最少的解法,時間複雜度o(sqrt(n))

dp[i][j] :試驗i次,使用j個蛋,最高可測的樓層高度。

dp[i][j]=dp[i-1][j-1]+dp[i-1][j]+1;

對於dp[i][j]:假如試驗第乙個蛋的時候蛋碎了,那麼就得用剩下的j-1個蛋,試驗i-1次,能獲得的最大樓層高度dp[i1][j-1];

假如試驗第乙個蛋的時候蛋沒有碎,那麼就得用剩下的j個蛋,試驗i-1次,能獲得的最大樓層高度dp[i-1][j];

那麼dp[i][j]能獲得的樓層高度就為dp[i-1][j-1]+dp[i-1][j]+1;

多以題目就變成了尋找最小的x,使得dp[x][j]>=n;

題目輸入的蛋的個數n和樓層高度k。

當n>floor((log(k)/log(2))+1);就可以使用二分法測量;

#include#include#include#include#includeusing namespace std;

int dp[101];

void dos(int n,int k)

{ int i,j;

if(dp[n]>=k)cout<<1<=2;j--)

{dp[j]=dp[j]+dp[j-1]+1;

if(dp[j]>=k)

{cout<=k)

{cout<<1{

cout<

RQNOJ 篝火晚會

題目描述 佳佳剛進高中,在軍訓的時候,由於佳佳吃苦耐勞,很快得到了教官的賞識,成為了 小教官 在軍訓結束的那天晚上,佳佳被命令組織同學們進行篝火晚會。一共有n個同學,編號從1到n。一開始,同學們按照1,2,n的順序坐成一圈,而實際上每個人都有兩個最希望相鄰的同學。如何下命令調整同學的次序,形成新的乙...

FPGA 程式130例 例10 7 例10 7

10.1 非流水線方式的8位全加器 module adder8 cout,sum,ina,inb,cin,clk output cout reg cout output 7 0 sum reg 7 0 sum input 7 0 ina,inb input cin reg 7 0 tempa,tem...

其他 RQNOJ 排考場

期中考之前,總要排一下試場。張校長為此心煩 每個試場擁有的桌椅數不同。為了排試場,不免有些桌子要被移到別的試場去。為了減少移動量,張校長決定再開m個試場 m盡量要小,這是人之常情 將每個試場多餘的桌椅放入新試場內。由於教育局規定 每個試場的桌椅數必須相同。張校長犯難了,於是他找到學noip的你,希望...