【考试总结】2022-08-05
毒假强
二分答案,统计 的有多少个 的倍数的十进制表示下不含有 。
的倍数的条件是将 从低到高每 位分成一段(最后一段不够就当高位是 )得到的每一段的和是 的倍数。由于段数非常有限,于是可以枚举倍数(每段数值之和)的值。
由于最终每段的总和为定值,于是数位 。按照常规操作枚举 并钦定之后的一位小于 的对应位。设 表示考虑长度为 的段的前 位,之前的位对这位及以后造成的进位大小为 的方案数。
从 向 的转移可以枚举每个段中这一位选择的数值记录到进位中,被限制的位不能自由选数。枚举完每位的选择之后 要向 统一转移,只能转移十进制下尾数和 总和 的当前位相同的那些状态
赌徒
能作为硬币的某一面出现的数字一定是出现过的数字或者 。每一面朝上时能给 带来的收益是固定的,可以将每个硬币拆成两个,每个都带 的收益。将数字从小到大排序之后做前缀和
剩下的工作是最大化 ,斜率优化。
零和
大样例告诉我们选择的正数集合可以固定。甚至可以直接把大样例给出的正数集合拖到 Submission 上。剩下的选负数,尝试每个为零子集都只有一个负数,也就是说每个负数都是 中的数字
背包计算 每个数字能被多少子集凑成。再背包计算使用最少负数使得为零子集数量为 的方案(记录转移路径)
题解说任选一个长度为 的 的正数序列都可以凑出合法方案,不会证明。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律