TopCoder SRM 泛做一(548 ~ 599)

记录大部分Hard题,和部分难度较大的Medium

548C 容斥原理,分类计数 注意到 特别小,可以分类讨论。需要解决一个弱化的问题: 个点 条边的连通图个数,通过经典的容斥解决。以 为例,首先按照 是否连接分类(若连接可以转化为 的情况)。否则接下来按照删除 后的连通块个数讨论即可。

549B 博弈,状压DP 注意到帽子的数量特别少,于是可以状压。 分别表示是否翻开以及是否有硬币。可以预处理所有的合法状态。注意到 DP 的状态值只需要记录收集到的硬币个数即可。

550B 杨辉三角,卢卡斯定理推论 首先得到一些性质:每次放置的检验器 均相同,且刚好加 , 的一定被 整除,而 的被 除余 。注意到 ,下标变换为 ,即是模 意义下的杨辉三角。利用经典的卢卡斯定理推论:。

550C 矩阵快速幂 注意到使每个位置变为相同的总变换次数 (以及总代价 )是固定的,之后根据 我们可以求出 表示最多多余的周期。 表示当前还差 次, 次变化的位置个数,转移 次即可。容易发现不会重复计数,或者出现不合法的情况。

551C Meet-in-the-middle,矩阵树定理,容斥 分解问题,不妨枚举恰有 个真甜水果,于是要解决:1.选取 个甜水果,且其甜度不超过 , 解决。2.有 个真甜水果,求生成树个数,矩阵树定理+容斥(注意到容易求出“至多”有..个方案)

552C DP,trick 直接令 表示 中的质数之于 的答案,枚举 的选择个数即可。然而只需注意到,当 时, 至多只有一个质因子,二分质数表即可。复杂度比较玄学...

564C DP,异或性质 考虑到:如果存在一个 位变量没有任何限制,那么异或和的结果是等概率的。于是枚举第一次存在一个限制的位置,根据 这一位的奇偶性,DP 即可

你可能感兴趣的:(TopCoder SRM 泛做一(548 ~ 599))