上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 在学主席树时找到了这道题 本来yyyy了一个二维的主席树这种东西,然后发现很多信息好像维护不了 观察到n和m都很小,考虑把一整行看成一个节点,开一个bitset 然后区间取反、单点修改,就都可以直接做啦。 最开始不敢直接这么做,总觉得在结构体里再封装一个bitset太大 但其实还好,时间复杂度100 阅读全文
posted @ 2023-03-21 21:08 liyishui 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 首先贪心是显然的,但是询问有n个 先考虑一个朴素的主席树做法 对于每个k,对于当前固定的L,二分R,用主席树查询一下[L,R]区间内的不同数个数是否大于K个(主席树的经典应用),更新答案,暴力跳过去 时间复杂度:一共有nlogN个区间(n/1+n/2+n/3~nlnN,调和级数知识) 二分的复杂度是 阅读全文
posted @ 2023-03-16 18:10 liyishui 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 今天学了回滚莫队,为什么会有回滚莫队呢? 比如普通莫队求max时就很不好撤销,那我们就换个思路,干脆不删了,通过调整枚举顺序进行暴力加点 回滚莫队的思想主要是这段代码: bool cmp(const query& a,const query& b){ if(bel[a.l]==bel[b.l]) r 阅读全文
posted @ 2023-03-09 21:41 liyishui 阅读(33) 评论(0) 推荐(0) 编辑
摘要: __终于学到了线段树维护xx,嘿嘿,嘿嘿嘿..树树:D 做了两题,感觉知识点是维护区间相同不相同可以拿hash做,不连续的区间也可以拿hash维护 主要是出得很有想法,太妙了要想得到hh 1. CF213E Two Permutations 考虑枚举x(因为值域不会很大) 观察到其实如果x++,会变 阅读全文
posted @ 2023-03-04 10:47 liyishui 阅读(52) 评论(1) 推荐(0) 编辑
摘要: 首先答案肯定有单调性,先二分出答案 然后如何保证c[i]+c[j]不为质数 如果同奇偶的话,除了1和1,其他必不为质数,否则可以for循环暴力判一下 所以如果是质数,必定为一奇一偶,这两点不能同时选 启发了我们可以把点分开来,奇数在一边,偶数在一边,在不能同时选的两点间连inf的边(因为inf不能被 阅读全文
posted @ 2023-03-02 16:41 liyishui 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 很经典,想记录一下 网络流里有一个很典的trick,求最大获利转化成最小损失 求最小损失转化成割边 求的是max(边权和-边所连接的点权和),考虑把边看成左部点,把点看成右部点 刚开始我们假设边全都要选,那么最小割也就是选取左部所有点,去掉右边所有点 也就是把所有边都选了,再扣掉所有点(根据最小割的 阅读全文
posted @ 2023-03-02 10:50 liyishui 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 势能线段树| 拉线段树题单时发现的这道 花神游历各国的骚操作至今让我印象深刻,原来有名字 所谓势能,大意就是原本你在高空,操作一点下降一点,势能变少一点..当你落地时,修改就没意义了 因此可以打一个落地标记:) 适用在操作次数不会很多、lazytag失效时,常见的比如开根号,区间取mod,位运算。 阅读全文
posted @ 2023-03-01 20:15 liyishui 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 开一个变量维护同一个区间内颜色是否相同,而且显然要用lazytag了 递归到颜色相同的区间时就可以直接打标记 然后对于标记,维护的就是常规区间加的部分 (最开始没写lazy,wa6,没明白自己怎么错的,但是又觉得要加lazy很合理:) 由于有区间推平的操作,用珂朵莉树也可以,详情见洛谷题解区 #in 阅读全文
posted @ 2023-03-01 11:45 liyishui 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 给你一个笛卡尔坐标系,现在要支持三种操作,第一种操作是添加一个点(x,y),第二种操作是删除一个点(x,y), 第三种操作是查询严格在点(x,y)右上角的点中,横坐标最小的点,如果有多个点,选择纵坐标最小的那个。 首先肯定离散化 然后考虑怎么用线段树表示二维的信息,觉得树套树也可以写,但是线段树套s 阅读全文
posted @ 2023-02-28 09:27 liyishui 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 让你构造一个数列,满足m种限制条件,每种限制条件是l,r,x,要求构造的序列区间[l,r] 与运算的值结果为x。 注意到如果某一位上&运算的结果为1的话,该区间内所有元素都要是1 先把需要是1的地方拎出来处理,相当于区间操作,写个lazytag; 然后再考虑0,显然如果为0,区间内只要有1个0就可以 阅读全文
posted @ 2023-02-28 09:21 liyishui 阅读(22) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页