考试总结 模拟87

T1二分没想到??

T2dp想到了一个比较好的预处理,拿到了80分,虽然是数据出锅

T3最后只想着T2对拍了,就没有去看。调整时间,T1不确定时心态要稳住,正常思考T2T3

T1「二分」「最短路」

二分答案k然后去跑最短路chk,显然是路径长度与k成正相关不用考虑那么多bfs的

T2「线段树优化」

定义f[i]表示考虑到i这个位置,并且在i开枪,的最大贡献,转移f[i]=f[j]+cnt[i]-sum[i,j]

因为cnt为覆盖i的区间个数,但是同时覆盖i,j的之前已经算过贡献,所以去重,

用线段树维护一个f[j]-sum[j][i],在i往后枚举的时候,sum_{i,j}也会随之而变,

dp的思路,当算完i的贡献后,若i这一位是某个区间的右端点,

那么在这个区间中的点的sum值,在i++后就会少一个,所以区间加就好了

原文地址:https://www.cnblogs.com/casun547/p/11741707.html