05 2012 档案
HDU 3397 Sequence operation 线段树
摘要:再做一道线段树。http://acm.hdu.edu.cn/showproblem.php?pid=3397这题还是很有意义的,其特殊之处在于操作2和操作4.操作2是0变1,1变0,这样在pushdown的时候就不能简单覆盖下去,因为如果孩子节点有操作没有完成,会导致结果错误。但是又不能遇到操作2就把子节点也pushdown,这样会超时。。。需要想点办法。。。所以观察一下操作2的效果,可以得出如下结论:当字节点操作未做操作为1时,将操作2pushdown下来等同于将字节点进行0操作同理,字节点未做操作为0时,等同于1操作;当字节点未做操作为2时,等同于什么也不做;字节点没有未做操作时,直接覆盖
阅读全文
hdu3974 Assign the task
摘要://5930448 2012-05-11 22:32:09 Accepted 3974 218MS 928K 1079 B G++ nkhelloworld//20120511 1A//变换任务时不更新,询问时一直更新到最大BOSS#include <cstdio>#include <iostream>using namespace std;#include <cstring>#define MAXN 51000int father[MAXN];int n,m;struct DOING{ int level,work;}doing[MAXN...
阅读全文
2012金华邀请赛D题(POJ4047 Garden)解题报告
摘要:金华邀请赛D题,现场lazy标记推错了,颇为不爽,重做一下。给出一个N个数的序列以及一个k(0<k<=n<=200000),m个操作p,x,y,其中p=0:将x位置的数替换为yp=1:将x y位置的数互换p=2: 查询x-y位置区间连续k个数的和的最大值很快可以想到用O(n)的复杂度预处理,将从i位置起始连续k个数的和求出来,那么对于查询操作,就变为查询和数组中x~y-k+1这个区间里的最大值。再看对于前两种操作,第二种可以等效于两次第一种操作。对于第一种操作,将x位置由y0替换为y,变化量det=y-y0,这个变化量会对和数组产生怎样得影响呢?很明显会导致和数组的x-k+1
阅读全文
浙公网安备 33010602011771号