
线段树
瑞灯的路牌
直面
展开
-
codeforces 338e
题意:根据伪代码 求出答案思路:其实他要我们求的是一个符合他条件 a[] 的连续的子串有多少个 这个字串必须满足一个条件 就是经过和b[]任意的匹配后 每一对数之和需要大于等于 一个特定的值 那么 最优的方案就是贪心 子串最大的 和 最小的b[]的匹配 第二大和第二小的 。。。。 如此匹配 虽然源代码得到的最后匹配不是这个 但是如果不满足这个方案 就肯定无解对于每个a[] 我们可以从原创 2016-01-22 13:28:24 · 442 阅读 · 0 评论 -
codeforces 650d Zip-line
题意:求改变原数列的一个数以后 最长上升子序列的长度,询问之间没有联系。思路:设原序列的lis为k,那么答案只有k-1,k,k+1三种。这里有一个结论,如果一个数在lis之中,那么他在lis的位置是一定的。所以只要判断在这个位置上有多少个数就可以知道这个数是否在原序列的lis是必须的。如果是必须的,那么在没有这个数的lis就是k-1,否则就是k。那么接下来只要求出有这个数的数列的lis原创 2016-03-22 13:35:19 · 510 阅读 · 0 评论 -
CodeForces - 675E
题意:一开始 你在第一个站 现在告诉每个站可以买一张票去其他地方(只能去比他坐标大的) 最后一个站没有卖n表示 有n张车站于是有n-1张车票车票ai 表示这张车票可以从 i 车站出发 去 i+1 车站到 ai车站的任意一个车站 现在 假设 pij 表示从i 到 j 的车站 最小用票数量求所有的pij的和思路:假设我原创 2016-07-13 21:51:02 · 332 阅读 · 0 评论 -
codeforces 722C Destroying Array
codeforces 722C原创 2016-10-02 11:51:35 · 295 阅读 · 0 评论 -
codeforces 803G Periodic RMQ Problem
题意:放大版的区间更新的线段树题解:由于实际上操作并不会生成太多节点,而且只有更新才会生成新节点,如果查询的时候发现下面并没有节点,就知道下面没有更新而且原来数组是循环的,所以直接得到答案,如果更新过就会有节点生成,就如同原来一样计算就行,更新操作就像如同原来的线段树一样,只是如果当前节点不存在就给他生成一个。ps:看到有人是用离线算法写的,有兴趣的同学可以去学习下姿势。原创 2017-05-25 14:57:20 · 288 阅读 · 0 评论