2016寒假訓練 二分

2021-07-10 02:31:06 字數 635 閱讀 3504

poj3104

用模擬會超時,所以考慮用二分節約時間

首先分析,實際上是每一次都是去烘乾水量最大的,風乾其他的,然後烘完再排序一下,重複這一操作,直到所有的都為1。當然,模擬顯然是會超時的。所以我們這樣考慮,我們這樣考慮,如果對於乙個時間t,我們的有一部分衣服就會自然風乾,有一部分衣服需要自己來烘乾,所以我們來二分列舉時間。

這裡有幾個注意點(網上其他題解中提到的):

1.a/b向上取整有(a+b-1)/b;

2.注意k==1的情況

大概就是這樣。。。

ac**:(本人在vj上做的這一題,不是在poj,有人和我說可能有區別,這。。。就很尷尬了)

#include #include #include #include using namespace std;

const int maxn=100100;

int a[maxn];

bool judge(int x,int n,int k)

}return true;

}int main(){

int n,k;

long long ans=0,t;

while(scanf("%d",&n)!=eof){

ans=0;

for(int i=0;i

2016寒假訓練 二分(2)

poj3122 就是說現在有n個餅,f個朋友來分,要求 f 1 個能分的一塊餅上的一塊,不能來自不同的餅,這個題目就明顯多了,就是估計大概的餅的面積,然後分了試試看,模擬進行和人數進行比較。技巧 1.這裡poj的discuss中提到,這裡pi取3.1415926不夠,所以這裡可以用pi acos 1...

2016寒假訓練 搜尋

一開始做這個題目還是覺的挺煩的,主要是要加個四個變數,然後比較,比較起來還比較麻煩。繞口令,呵呵 首先,不需要找到的次序,而且m 20,所以不會有爆棧的風險。然後就是怎麼去解決的問題,因為所有的木頭都是整數,所以我們考慮這個問題,所以我們可以預見的是,一旦總和 4不為0的話,則一定是不可能。下面就是...

2016寒假訓練 字典樹

還是字典樹,是判斷是否有字元是另乙個的字首,kuangbin的部落格上說交立即碼。有扯遠了。看官別介意。其實就是字典樹的使用,只不過就是在build tree的時候就判斷就好了?下面是一些注意點 1.注意一旦不成立了,下面就不用繼續建樹了。這樣節約時間。2.注意這些不是太容易找到結束的輸入,注意多次...