2023.2 做题记录
目录
IOI 2014 friend(树形 dp)
IOI 2014 holiday 假期(主席树,决策单调性)
APIO 2014 连珠线(换根 dp)
AHOI/JSOI 2014 骑士游戏(dp,拓扑排序)
AHOI/JSOI 2014 奇怪的计算器(转化,线段树)
CQOI 2014 数三角形(莫比乌斯反演)
FJOI 2014 最短路径树问题(最短路径树,点分治)
ARC 153 C(调整法,构造)
CF 1188 D(数位 dp,进位)
ARC 153 D(数位 dp,进位)
CF 1439 B(拓扑排序,团)
CF 1336 D(交互,构造)
ARC 108 C(图论,构造)
ARC 108 D(分类讨论)
CF 1344 D(二分答案,凸函数)
USACO 2023 JAN P T3(转化,树形 dp)
USACO 2023 JAN P T2(转化,状压 dp,李超线段树)
ARC 146 D(转化,构造,bfs)
CF 1540 B(概率,期望)
CF 1540 C2(转化,dp,剪枝)
ARC 144 C(贪心,构造)
ARC 110 D(组合数学)
CF 1778 D(期望 dp)
CF 1778 F(约数,dp)
CF 1500 A(鸽巢原理,复杂度分析)
ARC 112 D(并查集)
CF 1500 C(性质,拓扑排序)
CF 1500 D(性质,dp)
CF 1444 B(结论)
CF 1444 C(二分图,可撤销并查集)
ARC 114 E(概率,结论)
CF 1444 D(背包 dp,构造,bitset)
ARC 117 D(构造,dfs 树)
ABC 288 H(组合数学,容斥,数位 dp)
CF 1483 D(floyd,枚举)
ACL1 B(exgcd,同余)
ACL1 C(费用流)
ACL1 D(倍增)
AGC 044 A(时光倒流)
AGC 041 C(打表,构造)
ABC 141 F(转化,线性基)
ABC 209 F(性质,转化,dp)
ABC 243 H(转化,bfs,判断点在多边形内部)
AGC 024 D(性质,树同构)
AGC 010 C(性质,树形 dp)
ARC 094 B(二分答案,二次函数)
ABC 282 G(插入 dp)
AGC 039 C(性质,结论,dp)
AT_yahoo_procon2019_qual_d(结论,dp)
AGC 010 B(差分,方程)
ABC 240 G(组合数学,范德蒙德卷积)
ARC 123 D(dp,slope trick)
AT_tenka1_2019_e(同余,结论)
ARC 156 D(位运算,dp)
AT_dp_w(dp,线段树)
CF 1659 E(结论,并查集)
CF 1656 E(树,构造)
ABC 221 H(转化,dp)
CF 1375 E(逆序对,构造)
CF 1552 E(转化,构造,贪心)
CF 42 D(构造,哈密顿路径)
CF 1672 F2(置换,性质,构造)
CF 1404 C(转化,离线,扫描线)
ARC 072 E(性质,dp)
CF 1720 D2(位运算,01 trie,dp)
CF 1358 E(构造)
CF 1608 D(组合数学,性质)
AGC 045 C(性质,结论,转化,计数 dp)
AT_codefestival_2016_qualA_e(性质,转化)
AT_codefestival_2016_qualA_d(带权并查集)
CF 840 C(计数 dp)
CF 1082 F(trie,树形 dp)
AT_apc001_f(转化,状压 dp)
CF 1379 E(二叉树,构造)
CF 1404 D(博弈论,构造)
CF 1422 F(单调栈,可持久化线段树)
CF 1684 G(数论,构造,二分图最大匹配,网络流)
CF 1375 F(博弈论,构造)
CF 1453 F(dp,差分)
AGC 050 D(概率 dp,dp 状态设计,记忆化搜索)
部分题解
AHOI/JSOI 2014 骑士游戏(dp,拓扑排序)
首先,不难想到一个简单 dp,设 表示消灭怪兽 的最小体力消耗,假设普通攻击体力消耗为 ,魔法攻击体力消耗为 ,可以得到状态转移
但是,有一个很明显的问题,这张图并不是 DAG,不能够直接拓扑排序。
不过,由于 ,因此一定存在一个终止的位置,也就是说,转移的顺序一定满足 DAG 的结构。
不难发现,如果对于任意的 ,都有 ,那么当前状态下 已经转移完成了。
因此,可以开一个维护最小的 ,每次从堆中取出的元素一定是完成了转移的,它就可以作为一个终止位置对其它点产生贡献,然后类似拓扑排序的方法,如果一个点的入度为 了,它就转移完成了,再把它加入堆中即可。
AHOI/JSOI 2014 奇怪的计算器(转化,线段树)
很有启发性。
把询问离线,放到一棵线段树上,然后题目中修改操作相当于全局加,全局乘,全局特殊加,区间取 或 。
发现全局特殊加不好维护,但是可以观察到一个性质:进行操作后,答案的相对大小不会发生改变。
因此可以把初始值排序,最大值和最小值一定在端点处取到,这样全局特殊加就可以用标记维护了。
ABC 288 H(组合数学,容斥,数位 dp)
考虑把 不降的那个限制去掉,转化成:
求每个数的取值范围为 ,且异或和为 的方案数。
因为如果存在 满足 ,把这两个数删掉不会有影响,因此可以考虑在最后枚举删了多少对相同的数。
设 表示 个互不相同的数满足如上限制的方案数,最后的答案是
钦定了 个数互不相同,不好计算,考虑容斥,先用数位 dp 算出长度为 的合法序列个数(不限制元素互不相同),用 表示。
这部分时间复杂度 。
那么
其中 表示所有出现次数为奇数的数的总数, 表示出现次数为奇数的数的种类数, 表示出现次数为偶数的数的种类数, 表示把 个不同的元素划分成 个不可区分的集合且集合大小是奇数的方案数, 同理。
这部分可以通过预处理做到 。
因此总复杂度 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具