警钟撅烂

P3853 [TJOI2007] 路标设置

这点属实是没有想到
by coldcloud @ 2024-01-02 21:19:26


的确,但是我觉得楼主没有把问题说的足够清楚(至少一开始我没看明白呜呜呜) 我再详细解释以下: ``` bool cmp(int x) { int tot=0,now=1,i; for(i=2;i<=n;i++) { if(road[i]-road[now]>x)//出现间隔大于假设的二分答案 { if((road[i]-road[now])%x!=0)//不能整除,说明该的长度是n*x+k(n倍的x还要多一点) //则应该在这个间隔里面插n个路标 { tot+=(road[i]-road[now])/x; } else//可以整除,说明该的长度是n倍的x,应该在其中插入(n-1个)路标 { tot+=(road[i]-road[now])/x-1; } now=i; } else//假设是正确结果的二分答案比这个间隔要大(那没事了,玩儿去吧) { now=i; } } return k>=tot; } ``` 我一开始就是写批注那几行没有注意(没有考虑整除和不整除的影响),导致了#2何#10出错。希望能帮到大家❤❤❤
by bxqm210 @ 2024-01-28 21:04:30


|