问题:
1.时间安排还合理,T1T2共130分每道50分钟,T2对于m的规律没找就先看了T3
然后状态极度下滑,T3的各subtask的思路在脑海中交织,然后什么都没想出来
其实不要给自己太高定位,一定要一步步来,不管是不是水题,先从sub1开始想,注意检查心态,不要长时间盲目思考
2.T3最后打了线段树骗20分,本来很基础的线段树,然后就。。。。
1.修改没pushup!!!2. t[lc].f+=t[k].f,t[lc].sum+=t[k].f*(t[lc].r-t[lc].l+1);
T1【可反悔型贪心】
dp很好想定义f[i][j]表示考虑到第i个物品,那么转移很显然。
正解是可反悔型贪心:
首先我们要做的是找到若干点对(x,y),想要产生贡献,必须使y>x,
所以每次就可以维护一个小根堆,每次取堆顶,做差
考虑,从前往后有 a<b<c,
那么当考虑到b的时候,就可以买a卖b,获得b-a的收益,当到c的时候,发现买a卖c更优,也就相当于(c-b)-(b-a),
但我们会发现b是没用的,但b可能会和其他的配对,
所以每次对于当前枚举到的x,考虑堆顶的元素top,若top<x那么ans+=x-top
同时x要放入堆两次,第一个是与后面结合,另一个是反悔用
T2【莫队】
根据C(n,m)=C(n-1,m-1)+C(n-1,m)
S = S(n,m-1) + C(n,m)
S = 2S(n-1,m)− C(n-1,m)
将询问S 看成区间询问[m, n],已知[m, n]的答案,可以通
过以上递推式得到[m + 1, n],[m, n − 1],[m − 1, n],
[m, n + 1]的答案,问题就转化成了莫队问题。
原文地址:https://www.cnblogs.com/casun547/p/11635874.html