【考试总结】2022-05-24
奇怪的博弈
首先黑色白色棋子是独立的,所以局面 ,而 就是所有白色石子堆的大小异或和
由于每次只能取走数目最小的一堆中的石子,那么相对大小关系不会发生改变,也就是说没取完之前都只能取这堆石子
此时可以通过简单推导得到表达式,即
枚举最小的堆中的石子个数,此时问题本质上是求一个多重集合的子集异或和为 的子集数量
使用线性基判定是不是能表示出来,如果可以那么对于不在线性基中的元素,每种 “是否在子集” 的分配方案都可以对应一个线性基中的分配方案
倒序枚举复杂度即
赛时的暴力 写错模数是怎么回事呢?
奇怪的拆分
设 表示本题中定义的集合形成的二叉树数量,考虑枚举左右儿子大小并忽略其位置可以得到下述方程
使用 来补项化简可以得到:
解方程过后使用多项式开根即可
奇怪的植物
使用 自动机维护所有文本串,由于 所以可以将每个点的 写成矩阵的形式,套用倍增即可得到一个复杂度 的做法
其实第一步的倍增中不必要每个元素都处理 的所有转移矩阵,大可使用树状数组的思想每次消掉深度的 来进行上跳,如果深度差较小了则每次找到二进制下最高位跳上去
那么让 尽量小成了现在的目的,可以在根上方添加一系列虚点,即只改变深度,不含有任何信息
设最终的添加的点数为 ,初始 ,从小向大遍历每个二进制位 ,如果未确定 的元素中深度加 的第 位的数量超过第 位 的元素就让 来让更多的元素 尽量小即可
经过上述修改之后,使用 发现预处理复杂度中的 消失了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律