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

Gravatar
乌龙猹
积分:1288
提交:469 / 784
我的暴力竟然比优先队列快、、真是个忧桑的故事

Gravatar
天一阁
积分:1723
提交:544 / 1314
水过了!怎么可能!!!!⊙﹏⊙‖∣

Gravatar
ztx
积分:2207
提交:758 / 1351
有那么难么 = =

Gravatar
→震世逆空波→
积分:573
提交:189 / 310
节操都去哪了……

Gravatar
奶猹
积分:930
提交:352 / 820
对于poj上的强大数据来说,cogs的数据太水了。。。
还有对于那些刷排名的桑病,我不想说什么了。。

Gravatar
水中音
积分:1265
提交:406 / 833
首位出现的‘ - ’ 不用删,末尾的要删除…

Gravatar
乌龙猹
积分:1288
提交:469 / 784
调了2个小时、、,我果然还是只会用 goto 么

Gravatar
→震世逆空波→
积分:573
提交:189 / 310
状态
* F[i] 为入度为0的点到i的路径条数
* G[i] 为i到N的路径条数
状态转移方程
* F[i]=Sum{ F[j] } 存在边(j,i)
* G[i]=Sum{ G[j] } 存在边(i,j)
边界条件
* F[k]=1 k为入度为0的点
* G[N]=1
目标结果
* Ans=Max{ F[a]*G[b] } 存在边(a,b)

Gravatar
天一阁
积分:1723
提交:544 / 1314
不行,我要刷回去

Gravatar
wolf
积分:629
提交:223 / 361
getline()用不了,所以直接 >>

Gravatar
FoolMike
积分:5199
提交:1165 / 2240
我去,居然还有一件装备重量为0- -出题人你个坑,我的正确率啊

Gravatar
helloworld123
积分:774
提交:1187 / 2211
拓扑

Gravatar
筽邝
积分:1128
提交:558 / 983
OvO

Gravatar
乌龙猹
积分:1288
提交:469 / 784
用静表一直边点不分

Gravatar
水中音
积分:1265
提交:406 / 833
回复 @元太祖 :
原来答案是pow(m,n)-pow(m-1,n-1)*m……

Gravatar
Asm.Def
积分:1014
提交:240 / 495
回复 @唯我独清 :
这题是我被黑了2333333

题目 1757 约数问题
2014-10-25 19:52:46
Gravatar
Asm.Def
积分:1014
提交:240 / 495
回复 @天一阁 :
我能说我没看懂吗QAQ

Gravatar
水中音
积分:1265
提交:406 / 833
……还有炮姐为什么会出来

Gravatar
水中音
积分:1265
提交:406 / 833
到一定时间没达到跳出输出不可能就行了= =……