11 2016 档案
摘要:测试地址:不可思议的清晨做法:我是按照这位前辈的做法做的:前辈的题解里面有一句话我特别赞同:树上乱搞用倍增。事实证明,树上倍增在很多树的题目中都有很大用处,用了它,在往树根方向“走动”时时间效率可以从O(n)缩为O(log n),非常优秀。而在这个题目中,我们要分类讨...
阅读全文
摘要:测试地址:不可思议的清晨做法:我是按照这位前辈的做法做的:前辈的题解里面有一句话我特别赞同:树上乱搞用倍增。事实证明,树上倍增在很多树的题目中都有很大用处,用了它,在往树根方向“走动”时时间效率可以从O(n)缩为O(log n),非常优秀。而在这个题目中,我们要分类讨...
阅读全文
摘要:测试地址:过河做法:30分的做法很容易想,设f[i]为走到i时所踩的最少的石子数,则状态转移方程为:f[i]=f[i-x](i处无石子)或f[i-x]+1(i处有石子),其中S≤x≤T。但是L高达10亿,我们就要想办法优化。首先是空间上的,由于我们在状态转移方程中只用...
阅读全文
摘要:测试地址:过河做法:30分的做法很容易想,设f[i]为走到i时所踩的最少的石子数,则状态转移方程为:f[i]=f[i-x](i处无石子)或f[i-x]+1(i处有石子),其中S≤x≤T。但是L高达10亿,我们就要想办法优化。首先是空间上的,由于我们在状态转移方程中只用...
阅读全文
摘要:测试地址:字串变换做法:这道题...比较玄学,网上大多数人的题解都是双向BFS,这里就不赘述了。但我认为,还有一种迭代加深搜索的算法,但是肯定比双向BFS要慢...在Vijos上这两种方法都过了,放在这里让大家参考。以下是本人代码(本人水平不行,代码非常丑,凑合着看吧...
阅读全文
摘要:测试地址:字串变换做法:这道题...比较玄学,网上大多数人的题解都是双向BFS,这里就不赘述了。但我认为,还有一种迭代加深搜索的算法,但是肯定比双向BFS要慢...在Vijos上这两种方法都过了,放在这里让大家参考。以下是本人代码(本人水平不行,代码非常丑,凑合着看吧...
阅读全文
摘要:测试地址:数的划分做法:我们分析将整数i划分成j份的情况,发现分为两种情况:1.最小的一份是1,这种情况的方案数等于将整数i-1划分成j-1份的情况(相当于在所有方案前面加上一个1)。2.最小的一份不是1,这种情况的方案数等于将整数i-j划分成j份的情况(相当于在所有...
阅读全文
摘要:测试地址:数的划分做法:我们分析将整数i划分成j份的情况,发现分为两种情况:1.最小的一份是1,这种情况的方案数等于将整数i-1划分成j-1份的情况(相当于在所有方案前面加上一个1)。2.最小的一份不是1,这种情况的方案数等于将整数i-j划分成j份的情况(相当于在所有...
阅读全文
摘要:测试地址:循环做法:两年了!!两年来,我数次挑战,屡败屡战,屡战屡败,终于在今天,终于把这题AC了!好吧回归主题。我们设L(k)为尾k位的循环节长度,不难发现L(k)=mL(k-1),其中1≤m≤10,不难发现m为n^L(k-1),n^(2L(k-1)),...中第k...
阅读全文
摘要:测试地址:循环做法:两年了!!两年来,我数次挑战,屡败屡战,屡战屡败,终于在今天,终于把这题AC了!好吧回归主题。我们设L(k)为尾k位的循环节长度,不难发现L(k)=mL(k-1),其中1≤m≤10,不难发现m为n^L(k-1),n^(2L(k-1)),...中第k...
阅读全文
摘要:测试地址:华容道做法:简单的BFS是肯定过不了的,我们来分析一下时间都花在了哪里:在多个询问中,有许多状态被重复搜索了,使得时间被拖慢。我们可以发现,在许多的状态中,只有空格挨在要移的棋子旁边的状态才是有用的,于是我们用A[i][j][h]表示要移的棋子在(i,j)且...
阅读全文
摘要:测试地址:华容道做法:简单的BFS是肯定过不了的,我们来分析一下时间都花在了哪里:在多个询问中,有许多状态被重复搜索了,使得时间被拖慢。我们可以发现,在许多的状态中,只有空格挨在要移的棋子旁边的状态才是有用的,于是我们用A[i][j][h]表示要移的棋子在(i,j)且...
阅读全文

浙公网安备 33010602011771号