10 2017 档案

摘要:传送门 想了半小时,没什么思路。。 看了题解,是个叫做树分块的奇奇怪怪的操作。。 题解 树分块的研究 阅读全文
posted @ 2017-10-18 19:11 zht467 阅读(149) 评论(0) 推荐(0) 编辑
摘要:传送门 假设第一个位置是1,那么枚举它的左右两边是谁,有两种情况,然后可以递推求出序列。 然后可以贪心,两个序列有多少个不同的数,答案就是多少,具体为啥,yy一下即可 然后就是判断递推求出的序列和目标序列最少有多少个不同,也就是最大有多少个相同 因为是环,得破环为链,然后再判断的话是 n^2 的,显 阅读全文
posted @ 2017-10-16 16:20 zht467 阅读(160) 评论(0) 推荐(0) 编辑
摘要:传送门 先通过dfs预处理出来所有只有2和9的数,也就大概2000多个。 想在[L,R]中找到是这些数的倍数的数,可以通过容斥原理 那么如果a % b == 0,那么便可以把 a 去掉,因为 b 的倍数肯定包括 a 的倍数,那么就会只剩500多个数 然后我们dfs枚举所有数的可能,并顺便求出他们之间 阅读全文
posted @ 2017-10-13 21:17 zht467 阅读(212) 评论(0) 推荐(0) 编辑
摘要:传送门 好神啊。。 需要用非负数个a1,a2,a3...an来凑出B 可以知道,如果一个数x能被凑出来,那么x+a1,x+a2.......x+an也都能被凑出来 那么我们只需要选择a1~an中任意一个的a,可以求出在%a下的每个数最小需要多少才能凑出来 这样我们选择一个最小的a,速度更快,令m=m 阅读全文
posted @ 2017-10-10 14:23 zht467 阅读(163) 评论(0) 推荐(0) 编辑
摘要:传送门 蒟蒻并不懂A*是什么,但是题解里有个Astar 可以看出,当前棋盘和最终的棋盘如果有k个不同的,那么至少需要k-1步来移动 所以如果 当前步数 + k - 1 > limit 就直接退出 然后当然就是用喜闻乐见的迭代加深搜索啦,广搜占空间那么大又难写 最后吐槽一句,为什么我加哈希判重反而比不 阅读全文
posted @ 2017-10-09 16:38 zht467 阅读(144) 评论(0) 推荐(0) 编辑
摘要:传送门 迭代加深搜索是必须的,先枚举加数个数 然后搜索分母 这里有一个强大的剪枝,就是确定分母的范围 阅读全文
posted @ 2017-10-09 15:25 zht467 阅读(221) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示