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.注意這些不是太容易找到結束的輸入,注意多次...