摘要:NOIP 2008 传纸条题解 题目描述: 在一个矩阵内找出两条从1,1到m,n的路径(一条从1,1 到 m,n 一条 从m,n到1,1),并且路径之上的权值之和最大 关键字: 双线程DP 思路 不要按照题目中所给的思维方式,而是可以这样想 纸条同时从1,1出发,并描述这种状态...
阅读全文
摘要:注意事项:1.记住要清除标记 2.查询时要下放标记,但没必要向上更新 #include#define lson l,m,rt>1; build(lson); build(rson); Pushup(rt);}int Pushdown(in...
阅读全文
摘要:成段更新(通常这对初学者来说是一道坎),需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候 题意:O(-1) 思路:O(-1) 线段树功能:update:成段替换 (由于只query一次总区间,所以可以直接输出1结点的...
阅读全文
摘要:题目大意:一条队伍 ,给你每个人插队的状态,得到最后的队伍状态 思路:容易从后方去思考,首先最后一个百分之百可以确定的 而倒数第二个 倒着来看 他之前必定还有pos[i]个人 (未包括后面的人)所以能需要空pos[i]个人的位置就是倒数第二个人的位置,同理可得倒数第三 倒数第四,而线段树就去维...
阅读全文
摘要:主要是利用线段树能求区间最大值的性质完成这样一个功能 “查询最靠前能容纳广告的位置“ 将位置用来建树(实际上h#define maxn 200005#define lson l,m,rt>1; build(lson); build(rson);}int Pushup(int rt...
阅读全文
摘要:有点思考难度 主要是用线段树求逆序对 利用线段树保存区间和的性质 #include#define lson l,m,rt>1; build(lson); build(rson); Pushup(rt);}int query(int L,int R,int l,int r,int...
阅读全文