【CF/其他 经验总结贴】Key&Mind篇(一)

【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
二维数组爆空间 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

你可能感兴趣的:(Codeforces,个人总结)