
ACM 预备队培训
文章平均质量分 59
ACM 预备队培训
LYB0130
这个作者很懒,什么都没留下…
展开
-
ACM预备队训练 第十一周 博弈论
博弈论包含知识点:1.必胜点&必败点判定性质 2.nim游戏必败点判定定理 3.SG函数的实现及作用。原创 2023-12-23 13:21:38 · 494 阅读 · 1 评论 -
ACM 预备队训练第九周 图论初步
所以,对于这一个图的点的选法,可以考虑到相邻的点染成不同的颜色。于是,对于一个连通图,要不就只有两种选法(因为可以全部选染成一种色的,也可以全部选染成另一种色的),要不就是impossible!思路:可以使用 dfs(深度优先搜索)求解,求出 u 到 v 间的每一条路径,将路径总数统计,并将被经过的点被经过总数加一。/*本题思路:所有的边全部给出,按照时间顺序更新每一个可用的点(即修建好村庄),对于每个时间点进行两点之间询问,至于压缩路径,fa()与f[]其实他们的压缩路径就是记忆化的斐波那契数列的思路。原创 2023-12-09 21:40:32 · 115 阅读 · 0 评论 -
ACM 预备队训练 广度优先搜索(BFS)
我们根据stl的队列的使用,我们可以利用它来进行二叉树的遍历,这就是广度搜索(BFS)的基础。而根据题目,每一次按按钮都有两种(当然,排除超出1-n范围的种类),故可以广度搜索每一种可能,直到到达终点。注意有排除前面已经走过的点,这样不仅可以加速,还可以保证求出的按键次数为最小的次数。本题还是bfs的思路,与上一题唯一不同的是马有8种走法,故每一次搜索有8种可能(即每一个父节点下有8个子节点,有8种路径)。将endl去掉,这是在测试的时候看似没问题(如下),但根据oj的测评方式会WA的!原创 2023-11-19 09:16:56 · 168 阅读 · 1 评论 -
ACM 预备队训练第五周 背包问题
1.01背包 2.完全背包 3.01背包+完全背包(部分背包)原创 2023-11-11 00:31:34 · 141 阅读 · 1 评论 -
ACM 预备队训练第四周 动态规划入门
解题思路:本题为基本的DP题。如果要判断第i个数是否要放入时,则要循环遍历k=0~n-1判断a[i]是否大于a[k-1],若大于则可以放入,那么这时利用max函数比较出k=0~n-1最大的数,它能够使得接上第i个数后序列最长。由此得到dp[i]=max(dp[j]+1,dp[i]);我们下面只要在dp[ ]中找到最大的就可以了。原创 2023-11-04 19:25:29 · 84 阅读 · 0 评论 -
ACM 预备队训练第三周 递推求解
思路:根据递推求解的思想,当第k个元素要放在栈底时,k前面的元素都要出栈,它们的顺序与第k个无关。k后的元素排列时k都在栈底,它们的顺序也与第k个无关。则我们可以用乘法原理用h[j-1] * h[i-j]表示第j个元素放栈底的排列种类,将它们相加,由此可得递推公式。思路:上一阶台阶时,我们可以从下1阶上来,也可从下2阶上来……思路:本题如果用正常的思维方式,开一个1e5 * 1e5的素组明显会溢出。根据递推的思想,每一个数后面可以添加的数的种类数为它后面所加的数的添加种类数的和再加1(表示不加任何数)原创 2023-10-29 14:00:00 · 71 阅读 · 1 评论 -
ACM预备队训练第二周 贪心算法
本题思路:本题注意用贪心的思想。重难点是要考虑到:士兵相遇后转身回走,可以看成两人穿过彼此并继续向前走。就意味着不要考虑士兵的相遇问题,看成桥上每次只有一人。注意:注意审题,题中开始位置坐标为0,结尾是L+1。所以是L-aa[i]+1。原创 2023-10-20 19:53:30 · 74 阅读 · 0 评论 -
ACM 预备队训练第一周
思路:1.每次找到每个输入值之间的差值进行大公约数(GCD)的计算;2.根据等差数列计算公式:项数为(最大值-最小值)/ 公差 + 1,求得答案;注意!!!但要注意有每个数相等的情况,即为公差1是0的等差数列,这时应该输出n即可。以下为gcd的计算:使用辗转相除法。1.迭代2.while 循环。原创 2023-10-14 23:20:55 · 184 阅读 · 2 评论