- Quiz
- AC
- 解法
- x日を最適化に使った場合にかかる日数をf(x)とすると、ceil関数を除けば下に凸
- 整数の三分探索をしそうになるが、それはWA
- 追記:整数の三分探索は闇 by kenchon ⚠️
- strinctly increasing/decreasing じゃないと平地に出会った時に底だと勘違いしてしまう
E で三分探索を実装すると WA になる理由です。 pic.twitter.com/l0piDaFBps
— E869120@公開アカウント (@e869120) June 6, 2021
E、整数での三分探索で終わりになって、実数での三分探索→付近を見るをしました
— ねてるくん (@neterukun_cd) June 6, 2021
- ceil関数をひとまず無視してf(x)を微分して0とおき、その周辺のxのみ線形探索すればいい
// 微分による正当解法 void solve2(){ ll n,d; cin>>n>>d; // 何日かかるか auto f = [&](ll x){ ll days = x + ceil_div(d,x+1); return days; }; ll sq = sqrt(d); ll left = sq-100; ll right= sq+100; if(left<0)left=0; FOR(i,left,right){ if(f(i)<=n){ p_yes();return; } } p_no(); }