bzoj 4695: 最假女选手】的更多相关文章

最假女选手 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 480  Solved: 118[Submit][Status][Discuss] Description 在刚刚结束的水题嘉年华的压轴节目放水大赛中,wyywyy如愿以偿的得到了最假女选手的奖项.但是作为主办人的 C_SUNSHINE为了证明wyywyy确实在放水,决定出一道基础题考察wyywyy的姿势水平.给定一个长度为 N序列,编号 从1 到 N.要求支持下面几种操作: 1.给一个区…
题目链接 区间取\(\max,\ \min\)并维护区间和是普通线段树无法处理的. 对于操作二,维护区间最小值\(mn\).最小值个数\(t\).严格次小值\(se\). 当\(mn\geq x\)时,不需要改变,return:\(se>x>mn\)时,\(sum=sum+(x-mn)*t\),打上区间\(\max\)标记: 当\(x\geq se>mn\)时,不会做,继续递归分别处理两个子区间,直到遇到前两种情况. 操作三同理,维护最大值.最大值个数.次大值. 复杂度\(O(m\log…
算导: 核算法 给每种操作一个摊还代价(是手工定义的),给数据结构中某些东西一个“信用”值(不是手动定义的,是被动产生的),摊还代价等于实际代价+信用变化量. 当实际代价小于摊还代价时,增加等于差额的信用: 当实际代价大于摊还代价时,减少等于差额的信用. 显然总摊还代价等于总实际代价+总信用变化量. 如果信用变化量始终>=0,那么总摊还代价给出总实际代价的一个上界:设法证明信用变化量始终>=0 势能法 对整个数据结构定义一个“势”函数$\Phi$ 定义一个操作的摊还代价为实际代价加上势的变化量…
……一道丧病线段树膜板题…… 被常数卡的死去活来……QAQ 学到了些奇技淫巧:把取min标记 和 区间最小值 合并 可以快很多…… #include <bits/stdc++.h> #define lc(t) ((t) << 1) #define rc(t) (((t) << 1) | 1) #define N 2000010 #define INF 1000000000 #define LL long long template <class T> inl…
题意: 给定一个长度为 N序列,编号从1 到 N.要求支持下面几种操作: 1.给一个区间[L,R] 加上一个数x  2.把一个区间[L,R] 里小于x 的数变成x  3.把一个区间[L,R] 里大于x 的数变成x  4.求区间[L,R] 的和 5.求区间[L,R] 的最大值 6.求区间[L,R] 的最小值   分析: 你听说过Segment Tree Beats么? 快去看一看吧.这题居然才只有六个操作,真的是重口难调啊. 思想还是不难的,这里就不粘课件了. 由于这题拥有着比较玄学的空间限制和比…
BZOJ题目传送门 终于体会到初步掌握势能分析思想的重要性了. 一开始看题,感觉套路还是很一般啊qwq.直接在线段树上维护最大值和最小值,每次递归更新的时候,如果不能完全覆盖就暴力递归下去.挺好写的欸 鉴于上次写冒险常数太大的经历,蒟蒻这次来个码风奇特的指针线段树 #include<bits/stdc++.h> #define RG register #define R RG int #define G if(++ip==ie)fread(ip=buf,1,N,stdin) #define p…
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4695 [题解] SegmentTree beats!(见jiry_2论文/营员交流) 考虑只有对p取max,区间加,查min/和怎么做. 有一道类似的题,是取min,见hdu5306. 按照segmentbeats这套理论,我们要维护最小值,最小值出现个数,次小值即可. 每次区间对$p$取max,如果当前节点满足$min < p < sec$,那么打区间max标记,而且我们也可以很方便算…
浅谈区间最值操作和历史最值问题:https://www.cnblogs.com/AKMer/p/10225100.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=4695 吉司机线段树板子大集合.所有信息都封装在一个结构体里会比开多个数组快14秒. 注意暴力\(dfs\)子树时要\(pushdown\). 时间复杂度:\(O(nlog^2n)\) 空间复杂度:\(O(n)\) 代码如下: #include <cstdio> #in…
传送门 线段树好题 支持区间加,区间取min" role="presentation" style="position: relative;">minmin和max" role="presentation" style="position: relative;">maxmax. 维护区间和,区间最大值,区间最小值. 这题可以类比另外一道线段树 维护区间最大,次大,最小,次小,和. 每次修改的时候…
题目描述 给定一个长度为 N 序列,编号从 1 到 N .要求支持下面几种操作:1.给一个区间[L,R] 加上一个数x 2.把一个区间[L,R] 里小于x 的数变成x 3.把一个区间[L,R] 里大于x 的数变成x 4.求区间[L,R] 的和5.求区间[L,R] 的最大值6.求区间[L,R] 的最小值 输入 第一行一个整数 N 表示序列长度. 第二行 N 个整数 Ai 表示初始序列. 第三行一个整数 M 表示操作个数. 接下来 M 行,每行三或四个整数,第一个整数 Tp 表示操作类型,接下来 L…