一些值得记录的小tips
multiset 的erase如果喂val会将指定val的所有元素删掉,如果只想删一个那么是 S_of_dp.erase(S_of_dp.find(x));
。
如果不确定操作的合法性:
auto it=SET.find('b');
if(it!=SET.end())
SET.erase(it);
XCPC赛制没有部分分,要自己给自己设置部分分,简化题目。
很多题的做法都是出自于一些在不合理的贪心想法上的修正,如威海I。
添加一些显然不优的解可能有助于dp。(2023秦皇岛D,2019银川D,CF484D)
一定要尝试一些看似naive的方向!很有可能就是这个naive做法的优化(2021南京I)
从小结构开始发现性质(2023西安E,CF1876E)
构造题的几个常规想法:递归缩减问题规模,强行给问题增加一些限制。
从必要条件入手(CF1893D)
仔细看题目,别把题目条件看漏了,做不出来。
猜测/尝试上界,证明其也是下界。
假设可以取到最大值,证明之。(CF1477D)
从特殊情况入手(CF1592E)
快速枚举子集 for(int j=i;j;j=(j-1)&i )
对于题目给定的游戏规则,根据样例模拟游戏过程,从中发现结论。