04 2022 档案
摘要:CF-GR20 半夜思混乱还硬打3h的Global Round 的下场。。。 C 在输入n之前先给mn赋值n+1,然后样例n是不降的所以没发现,然后在WA2中迷茫。。。 #include<bits/stdc++.h> using namespace std; const int N=2e5+5; i
阅读全文
摘要:题目链接 想法是很自然的,首先对于每排能确定的地方(没有与之相等的价值)先确定,然后对每个位置,如果前后排只有一个确定了,那么另一排必然取满足条件最优的。 所以剩下一些两排都没有确定的区间,对于每个这样的区间,从左往右扫,取目前选择较少的那排为准,剩下一排取满足条件的最优,用set维护这个取的过程即
阅读全文
摘要:题目链接 对于有向图,首先考虑拓扑,然后就剩下一些环。由于题目中每个点只有一条出边,故剩下的是一些简单环,所以整个图就可以化为一些有向基环树(森林)。 然后考虑计算答案,对于环上的点,考虑该基环树内每个点都可以贡献环上的一个区间,于是直接差分后做前缀和即可。对于树上的点,答案即为子树内与自
阅读全文
摘要:题目链接 原本想的是对询问离线,从小到大考虑,然后维护每个点能到达的集合。但是这个集合间的连边,因为与本身的点权和有关,所以是单向的,即是加了虚点之后也不太会维护优先考虑的边。(感觉不要刻意往离线想,会变得不幸) 如果对克鲁斯卡尔重构树有正确的理解,就会发现:虽然在连边的时候,限制与集合的点权和以及
阅读全文
摘要:补题 B 题解链接 C 题解链接 H 题解链接
阅读全文
摘要:题目链接 考虑状压DP,原本想的是一行行转移,而最后一行的状态需要记个,然后直接转移的话,需要枚举该行的2变成0或1,以及0是否选入集合,又是一个,复杂度爆炸,且难以优化状态。(原本还莽了一下,以为可以优化掉一些地方,然而全是2的数据就凉了。) 那么只能优化转移的方式了。所以这个
阅读全文