Gravatar
snake
积分:328
提交:135 / 502
求最小值变量初值不够大(INT_MAX)导致WA,引以为戒

Gravatar
小字、小瓶子
积分:437
提交:175 / 311
所有的变量都要用long long。。。
最小值一定要开的足够大,开 10^10 只有75,开 10^11 才AC。。。

Gravatar
Fisher.
积分:941
提交:301 / 521
我是强行主席树+二分(二分一开始写跪了)。有比我更好的方法。

Gravatar
Shirry
积分:2262
提交:554 / 1107
long long

Gravatar
rvalue
积分:720
提交:213 / 573
曾经的考试题再打一遍居然发现理解错题意了WA到死...

Gravatar
Cooook
积分:1234
提交:290 / 667
主席树+三分强行水之。。
代码写的是二分QAQ

Gravatar
CSU_Turkey
积分:1723
提交:614 / 1589

Gravatar
test
积分:1080
提交:380 / 1216
我是卿云鹏,我要带领数千万巨人踏平这个世界!!!

Gravatar
哒哒哒哒哒!
积分:3347
提交:1118 / 2737

Gravatar
YGOI_真神名曰驴蛋蛋
积分:1978
提交:671 / 1901
对不起国家对不起人民

Gravatar
Tabing010102
积分:550
提交:160 / 492

Gravatar
iortheir
积分:1021
提交:288 / 610

Gravatar
yushi
积分:70
提交:24 / 124
什么鬼45分

Gravatar
Asm.Def
积分:1023
提交:240 / 495
回复 @TA :
那个标记其实不用管啦……不加优化也可以过的

Gravatar
TA
积分:891
提交:582 / 1147
想问楼上标记是指的什么。。
而且。。感觉常数和代码复杂度都相当高的样子。

Gravatar
Asm.Def
积分:1023
提交:240 / 495
二分答案,扫一遍求前缀和,利用前缀和O(1)计算每个区间的检验值。总时间复杂度$O((m + n) * log_2 W)$。在实现中还可以离散化所有的W,消除运行时间对参数W的依赖,还可以记录下当前已经计算到了哪一点,统计时只需添加或删除当前参数与所求参数之间的那段就可以了。这样,所有”标记“所需的时间就可以降为$O(n)$。于是总时间复杂度就变成了$O(n + mlog_2 n)$。
最后剩下一点细节:二分答案找到的Y不保证距离S最近,因此我们还要取在S另一边的一个Y做判断,输出较小的那个即可。

Gravatar
正确率超低的渣渣
积分:110
提交:67 / 150
longint改成int64就对了 s竟然是 10^12 果然被打跪了

Gravatar
gungnir
积分:182
提交:49 / 103
二分法+前缀和处理。由于随着参考系数W的增大Y单调递减显然成立,由此可以对W二分答案,在二分的过程中维护最接近s的答案ans即可。