【CF/其他 经验总结贴】Key&Mind篇(一)
食用说明 \(‘ - ‘)/
个人训练总结用,主要是关键词联想丰富自己脑洞
Key&Mind
关键词 | 联想 |
---|---|
小于x的最大可用 | 二分,set |
配对分组 | 统计每组数量;小于一半防重复索引配对;先配数量最多的,堆动态维护;先配完,然后剩下的和其他配;一个个配,别着急;自己配自己,单独配对的,无法配对的等特殊情况 |
数论构造 | 分奇数偶数;不等式尝试构造贴近边界的;0,1,2; |
完全平方数 | 完全平方数=完全平方数(A)*完全平方数(B);分解质因数后质因子指数%2为0 |
序列整除 | 整除转化为取模 |
Mex函数 | 单调递增 |
不能对相邻元素进行某一操作 | 思考相邻的情况,无法相邻操作后会剩下什么,然后思考把剩下的作为判断结果的特征依据 |
能不能转化为某一排序 | 思考不能转化,某一元素是否不能再另外元素之前 |
枚举 | 枚举分界线(左边都进行一个操作,右边都进行一个操作),从两边向中间枚举,双指针 |
二维方格 | 二维转一维独立,分操作第几次是奇还是偶 |
数论符合等式解对数 | 转化为整除式子变为求因子数,有可能还要讨论因子种类数 |
gcd ,lcm | 分解质因数,设为两个互质的,lcm转gcd,lcm=npq,pq=lcm/n |
线性筛分解质因数预处理 | 可用直接预处理出每个数最小质因子,每个数质因子种类数量 |
如果确定答案为非负 | 加max(0,ans)或者加绝对值 |
取模 | 如果a+c,c<m那么可以把取模操作转化为是否减去m |
二维数组爆空间 | vector |
多个组选元素,每个元素有使用次数限制 | 按组的人数排序先选限制大的,然后每组选可使用最多的 |
两字符串操作后相等 | 公共子串,公共子序列,最短编辑距离,BFS |
字符串,相邻元素距离限制,最少修改次数 | 距离限制内找最远可以修改的 |
乘法除法 | 分解质因子,相应质因子次数加减 |
找n个数满足一个等式 | 双指针,二分,map(看冲突),鸽巢原理(时间复杂度) |
差分 | 边界特殊处理 |
互质乘积 | 求约数 l o g N logN logN,分解质因子 |
求方案数 | DP,组合计数,样例凑数递推 ,递归+记忆化(思考参数) |
BFS扩展 | 队列实现;直接扫整个集合已经出现过的就扩展 |
多重背包 | 物品抽象为操作 |
时间复杂度 | bool数组双重循环时间复杂度分析需要注意 |
贪心优先队列 | 先把宽容度大的加入堆,然后逐个遍历,比较当前元素与堆顶或堆的数据 |
不相邻染色 | 预处理黑白二分图,如果多种颜色则多次黑白二分染色 |
平衡(合法)括号串 | (和)各占一半;首尾分别为(和);对于任意前缀(一定比)数量多,栈 |
某一操作打破合法性 | 思考如何抵消这次操作,可能是再进行一次这种操作,奇偶性 |
前缀操作 | 反向操作,从后向前遍历,使得后半部分以后不会被重复修改 |
shuffled(打乱) | 顺序无关的话变成组合选数问题 |
判断是否能选n个数使他们的和为某个值 | 可以先根据公式推出这个值的可能的范围,然后如果超过范围就直接不成立,如果范围内再暴力尝试 |
如果自己想的不能覆盖某些特殊情况 | 分类讨论/while暴力微调(很爽)直到符合条件 |
构造题 | 把样例模拟一遍 |
涉及排列的构造 | 尝试从1~n自然排列开始,斐波那契,逆序排列,然后做微调修改 |
问经过m次操作后结果相关的东西 | 递归+记忆化(DP,递推),记忆化注意负数 |
给比较少的操作种类问最值(一般2种) | 设每个操作进行次数,然后线性规划找约束->消元->二分三分(或者想贪心打表) |
按位与性质 | a & b = b & a ; a & a = a ; a & b < = m i n ( a , b ) a\&b=b\&a;a\&a=a;a\&b<=min(a,b) a&b=b&a;a&a=a;a&b<=min(a,b)前两个用来式子转化补充完整 , 第三个常用来证相等 |
下标相关的式子 | 将其完全展开列出来,观察其中不变的项,寻找规律。区分下标是定值还是变化的 |
区间扩展 | 从左到右,右到做,中间向两边,两边向中间 ,前缀,后缀 |
区间性质 | 对于一个区间对于某个性质成立,观察一下区间扩展过程中,是否也是成立的,不然容易只看到最终区间符合操作条件,忽略了区间内部也是符合的,造成操作的遗漏 |
相关解题报告
【解题报告】CF DIV2 #ROUND 707 A~C
【解题报告】CF DIV2 #ROUND 708 A~C,E1
【解题报告】CF DIV2 #ROUND 709 A~C
【解题报告】CF DIV3 #ROUND 710 A~E
【解题报告】CF DIV2 #ROUND 711 A~D
【解题报告】CF DIV2 #ROUND 712 A~D
【解题报告】CF DIV3 #ROUND 713 A~E
【解题报告】CF DIV2 #ROUND 714 A~D
【解题报告】CF EDU #ROUND 107A~D