摘要:
喜闻乐见的迭代加深搜索快速幂最多只需要 2∗logX 次就能得到想要的任何数然而这道题的答案会更小,迭代加深搜索显然是可以承受的。剪枝优化: 如果剩余的操作次数都用来将最大数与最大数相乘, 得到的结果仍然比希望得到的数小,那么这个状态就一定是不可行的#include #include... 阅读全文
摘要:
似乎是NOI 2001的题目,感觉很有意思。。。Meet in the Middle (中途相遇法)看起来O(MN)不可做,方程移项有真相:k1∗xp11+k2∗xp22+k3∗xp33=−(k4∗xp44+k5∗xp55+k6∗xp66)分别计算 :k1∗xp11+k2∗xp22+... 阅读全文
摘要:
传说正解是V图,想想都觉得难写。。。模拟退火~ 随机取几个点,将温度设置为随机范围,然后随机爬山算法即可。。。如果参数设置得比较优,就可以在精度范围内取得最优解。。。所以暂时就不学V图了(反正写不出)注意如果用G++交题的话,要用 %f 输出。。。我以后还是用C++交题吧,虽然语法比... 阅读全文
摘要:
博弈搜索,Alpha−Beta 剪枝Alpha−Beta 剪枝:令 alpha = max{beta = min{alpha′}}如果在搜索的过程中,beta=beta,那么alpha′ 对 beta的值将没有贡献,对 alpha′ 不必继续搜索。本题还有特殊的特判技巧,然而并不会证... 阅读全文
摘要:
将每个数转成二进制的形式,可以发现对每个数的操作只会使二进制数中的 ‘1’减少,而有效的目标状态一定不大于 max{a[i]}, 所以每个数能扩展出的有效状态只有 2*log max{a[i]} 种,而这个范围是非常小的。。。可以用搜索处理出每个数能扩展出的有效状态以其代价。最后枚举... 阅读全文
摘要:
#include #include #include #include #include #include #include #include #include #include #include #include #include templatevoid read(Num &x)... 阅读全文
摘要:
这次比赛是用小号打的,于是现在小号比大号rating高。。。QwQA题和B题很简单不多说。C题:统计子序列中长度为3,公比为 k 的等比序列的个数。从后往前处理,分别统计满足条件长度为1,2,3的序列的个数, f(i,j)=∑f(i−1,t)|t=j∗k,实现时离散化一下就好~然而,... 阅读全文