摘要: 题目 Sumdiv 题解 想写出这道题要先知道两个数学知识,分别是约数定理和约数个数定理。 约束个数定理 约数定理 有了上述两个知识之后这题就有了方向,将所有约数分解出来进行计算就可以了,但是求约数个数中的每一项该怎么求呢,不难发现这是个等比数列,可以用等比数列公式来求,但是这个要求逆元,我们也可以 阅读全文
posted @ 2025-03-06 20:54 PZnwbh 阅读(11) 评论(0) 推荐(0)
摘要: 题目 Strange Towers of Hanoi 题解 如果只有三根柱子的话,记d[i]为移动次数,那就需要将上面i-1跟移动到其中一个盘子,然后最下面那根放到目标盘子,最后将i-1放在目标盘子上,可以得到递推式为 d[i] = 1 + d[i - 1] * 2; 那么如果有四根柱子的话,记f[ 阅读全文
posted @ 2025-03-06 19:33 PZnwbh 阅读(6) 评论(0) 推荐(0)
摘要: 题目 费解的开关 题解 将第一层的状态确定下来,第二层就能确定,同理到最后一层也就确定了,所以只需要枚举第一层所有状态就可以确定步数,满足条件就存下步数,比较并选取最小步数,最后如果步数大于6输出-1。对于翻转操作,dx、dy可以很方便得对周围方格进行枚举,别忘了每枚举完第一层一个状态需要恢复到题目 阅读全文
posted @ 2025-03-05 21:04 PZnwbh 阅读(4) 评论(0) 推荐(0)
摘要: 题目 递归实现排列型枚举 题解 这道题其实就是求无重复元素的全排列问题,递归一般注意截止条件,这里的截止条件一定是全部遍历完了,因为顺序是乱的,所以我们应该不止拿个数组存储是否使用,还需要拿个数组存储路径,遍历一遍如果没被使用可以选择,然后进行下一个数的选择,此时dfs里面的参数u表示的是当前选了几 阅读全文
posted @ 2025-03-05 19:38 PZnwbh 阅读(11) 评论(0) 推荐(0)
摘要: 题目 递归实现组合型枚举 题解 可以参考上一题的递归代码,思路是一样的,也是拿个数组存储是否选了该位,多了一个参数记录选了几个,若选了cnt+1,否则直接cnt不变化。 注意观察递归从非递归是如何变化的。 参考代码(递归) #include<iostream> using namespace std 阅读全文
posted @ 2025-03-05 19:12 PZnwbh 阅读(17) 评论(0) 推荐(0)
摘要: 题目 递归实现指数型枚举 题解 由于书本的顺序,刚做完第一章可能会联想到用位运算这样的手法来遍历所有状态,因为他的范围不大,所以理论可以实现。但是题目要求用递归思路,所以我们用递归思路写一遍,递归有两条路往下,选当前位置和不选当前位置,我们不能一边输出一边选,这样会导致输出混乱,可以拿个数组来记录当 阅读全文
posted @ 2025-03-05 18:59 PZnwbh 阅读(19) 评论(0) 推荐(0)
摘要: 题目 起床困难综合症 题解 如果将所有伤害点数一一枚举的话,时间复杂度会来到O(nm),对此肯定是满足不了题目要求的,经过分析不难发现,位运算操作只与当前位有关,这样我们可以枚举每一位,再在其中选其优,这样子时间复杂度就来到了O(nlogm),,由于伤害要尽可能大,所以我们要从高位开始往下,接下来会 阅读全文
posted @ 2025-03-04 21:15 PZnwbh 阅读(7) 评论(0) 推荐(0)
摘要: 题目 最短Hamilton路径 题解 这里的数据范围n为20,若暴力强行解的话时间肯定是不够的,所以我们要考虑如何知道哪些边走过,可以使用状态压缩的思想,而且我们要的不是所有解法而是最优解,所以只需要存储min即可,f[i][j]中的i表示当前状态,比如有1、2、3、4四个点,1100就表示1、2两 阅读全文
posted @ 2025-03-04 16:14 PZnwbh 阅读(5) 评论(0) 推荐(0)
摘要: 题目 64位整数乘法 题解 这道题是要先算出a*b再对其结果进行求模(取余),因为a和b的最大值为1e+18,我们知道乘法有的时候会溢出,即使是 longlong 也可能在乘法时爆掉。所以我们寻找一种能高效完成乘法操作并且不会爆 longlong 的算法,也就是快速乘。快速乘(Fast Multip 阅读全文
posted @ 2025-03-03 16:44 PZnwbh 阅读(23) 评论(0) 推荐(0)
摘要: 题目 a^b 题解 首先看这题是让我们求a的b次方并对结果去余,如果是按照循环去做的话那么肯定时间复杂度O(b)太大了(b最大到1e+9),所以这里就要想办法把时间缩少,既然一个个循环着相乘不行,我们是否可以一次乘多个呢,这里就用到了快速幂的做法了,很显然这题是个快速幂模板。理论成立,代码开始。 参 阅读全文
posted @ 2025-03-03 15:57 PZnwbh 阅读(10) 评论(0) 推荐(0)