摘要:
声明:《CSP初赛知识点梳理》一文由洛谷用户 159号程序员 所作,本文仅将原文中提到的习题汇总于此,并进行了一些修改与微调。如有侵权,立即自删! 题目答案需要展开剪贴板源码获取。 p.s. 建议配合原文食用。 \[\texttt{1. 计算机} \] CSP 2019 入门组第一轮-T15 CSP 阅读全文
摘要:
结论题。 首先第一次放置一定处于中间,即 \(pos = \lfloor \dfrac{m+1}{2} \rfloor\) 处,其中 \(pos\) 为当前放置的位置。 接下来要放置的位置可能在现在位置的左边或右边。 我们可以猜测到最终的放置方式应当为先左后右,以此类推。 进一步的: 若 \(pos 阅读全文
摘要:
Problem T1 翻转反转后的字符串得到原串,与污染过的原串比较即可得到被污染的字符。 T2 dfs 枚举选 \(k\) 个数的方案,对于每种方案求能组成的数字个数,累加即可。 T3 恶♂趣♂味♂ \(dp\)。 首先因为数据范围过大,所以先要进行离散化。 离散化的时候可以顺便求出 \(ps_i 阅读全文
摘要:
Problem T1 我们知道,某数 \(x \bmod 9\) 的值 \(= x\) 各个数位上的数之和 \(\bmod \ 9\) 的值。 于是遍历 \([a,b]\),求出区间中每个数各个数位上的数之和 \(sum\),输出 \(sum \bmod 9\) 即可。 T2 中规中矩的 \(dp\ 阅读全文
摘要:
乍一看正解似乎不好想,因此我们先将 \(O(2^n)\) 的爆搜写出来。 然后将 \(n \in [1,10]\) 都跑一遍,结果如下: \(n\) \(p\) 数组 \(1\) \(0\) \(2\) \(2,1\) \(3\) \(1,3,2\) \(4\) \(1,2,4,3\) \(5\) 阅读全文
摘要:
一眼 dp。 状态:令 \(dp_i\) 表示前 \(i\) 个数进行若干次操作能删除的最多的数的个数。 转移方程: \[dp_i = \max(dp_{i-1},dp_{j-1}+i-j+1) \]其中 \(j\) 满足 \(1 \le j < i\) 且 \(a_i = a_j\)。 不过这样朴 阅读全文
摘要:
首先,若 \(n \bmod 3 \neq 0\),则一定无解。 考虑 \(n \bmod 3 = 0\) 的情形: 首先肯定是先进行一遍树形 dp,求出树上每个节点 \(x\) 的子树大小 \(size_x\)。 若当前节点的 \(size\) 值 \(=3\),则说明需要切断当前节点于其父节点的 阅读全文