一道有意思的线段树题目,维护一个pair值(下一个元素的位置,权值)对其维护最大值(就是影响越持久)
把问题离线处理,按照问题的右端点排序,这样就能满足单调性
输出的时候一定要判断一下first的值是否符合要求
注意:
- 这棵线段树维护的是最大值,不管是修改还是查询都需要取max
- 如果没有nxt,数组的值要赋值为n+1
一道有意思的线段树题目,维护一个pair值(下一个元素的位置,权值)对其维护最大值(就是影响越持久)
把问题离线处理,按照问题的右端点排序,这样就能满足单调性
输出的时候一定要判断一下first的值是否符合要求
注意:
无向图求割边的模板题,缩点后建立新图DP一下就可以了
对于每条割边,答案都可以为dp[x]+1+dp[y]
,然后dp[x]=dp[y]+1
(合并x和y)
只需要注意e1、e2的区别和h1、h2的区别就行了
DP经典题目,枚举第一个正整数就得到了区间长度,再暴力枚举区间最后一个值,$O(n^2)$的DP就搞定了~
在DP的时候,可以从i优化到j而不需要倒着循环来DP,f[n+1]就是答案
注意:f[i]的初值为1!
区间前缀和的经典问题,离散化后求前缀和(值即为覆盖的条数),用离散化之前的值直接计算即可
注意:
一道贪心的简单题,插入无非就是两种情况:
注意:
一道简单但是题面很难懂的水题,说了半天就是求不同型号的个数而不是需要修改几个字母,用unordered_map维护即可(不需要求前驱后继就用unordered_map会更快)
一场简单题之战,就是比做题的速度以及正确率(感觉出题人去看球赛去了)
模板题,没什么好说的,正着算一遍,反着算一遍,乘积即为答案
相信大家一眼就看出是二分答案的模板题,问题就是如何检验是否可行
我们先求出最小的能够包含所有点的矩形,暴力选取四个角分别覆盖,再这样操作一次,检验最后一个矩形的大小就可以了
注意覆盖完成后要恢复到初始状态!!
一道语文题
$c$的含义是兴奋度,只有大于0的时候才是兴奋状态
$u$的含义是兴奋阀值,只有大于阀值才能传递剩余的兴奋状态
注意输入模块的兴奋度要加上兴奋阀值