SHOI2015 自動刷題機

2022-03-03 16:38:36 字數 995 閱讀 8543

我也想要乙個!!!

顯然能夠看出來單調性——當n越大,能ac的題越少,反之越少。所以。。。很明顯的二分答案對吧。

唯一一點不太一樣的是,它要求可能的最大值,和可能的最小值。

那我們就寫兩個check,先求出來最大值,如果算出來的ac題數大於等於k,我們就選擇右區間。

然後再0和最大值的區間中再次二分(減小帶的log的大小),因為是求最小值,所以如果ac題數小於等於k,我們就選擇左區間。

最後注意如果最小值算出來是0的話還是要+1的,因為題目中說要求非負。

什麼時候不合法?當最小值大於最大值(為什麼會這樣?,大家可以手動模擬一下,根據我寫的這種二分的原理,如果中間沒有==k的,那麼便會出現這種情況)或者最小值和最大值都是0的時候。。。就非法啦!

**如下:

#include#include#include#include#define maxn 100010

using namespace std;

int n,k;

int a[maxn];

long long cur_ans;

inline bool check(long long x)

}if(ans>=k) return true;

else return false;

}inline bool check2(long long x)

if(ans>k) return true;

else return false;

}int main()

cur_ans=l-1;

r=l,l=0;

while(l>1;

if(check2(mid)) l=mid+1;

else r=mid;

}if((l==0&&cur_ans==0)||(cur_ansif(l==0) l++;

printf("%lld %lld\n",l,cur_ans);

return 0;

}

SHOI2015 自動刷題機 題解

題目鏈結 自動刷題機tt 蒟蒻也好想擁有 可惜目前不存在,留著給以後的oier發明吧 這是本蒟蒻第一次做shoi,發現是道好水的藍題 題目大意就是讓你求乙個最小值n和乙個最大值n滿足題意能恰好a掉k題 我們會發現 當n越大的時候 a掉的題目會越少 這很顯然吧,想想看寫個巨長的 直接交不是很難a成功 ...

洛谷P4343 SHOI2015 自動刷題機

題目 易得該題目中的 n 和 k 具有單調性,滿足二分的性質,因此該題目而已用二分來列舉 n 然後對於每個 n 模擬出它所對應的 k 然後注意注意 細節,並且當當前 k 等於題目要求的 k 時,要分別向左和右二分,才能找出所有情況。include define n 3000011 define in...

BZOJ 4590 Shoi2015 自動刷題機

bzoj 4590 shoi2015 自動刷題機 二分答案 曾經發明了訊號增幅儀的發明家shtsc又公開了他的新發明 自動刷題機 一種可以自動ac題目的神秘裝置。自動 刷題機刷題的方式非常簡單 首先會瞬間得出題目的正確做法,然後開始寫程式,每秒,自動刷題機的 生成模 塊會有兩種可能的結果 a.寫了x...