摘要: IDA*:非常好用的搜索,可以解决很多深度浅,但是规模大的搜索问题。 估价函数设计思路:观察一步最多能向答案靠近多少。 埃及分数 题目大意: 给出一个分数,由分子a 和分母b 构成,现在要你分解成一系列互不相同的单位分数(形如:1/a,即分子为1),要求:分解成的单位分数数量越少越好,如果数量一样, 阅读全文
posted @ 2018-10-12 19:43 *Miracle* 阅读(220) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1778 https://www.luogu.org/problemnew/show/P2578 双向广搜。 有固定起点终点,过程可逆。 有时用于A*估价函数不好用的时候。 万圣节后的早晨 (由于鬼可以同时移动,估价函数不 阅读全文
posted @ 2018-10-12 19:06 *Miracle* 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题面:https://www.luogu.org/problemnew/show/P1731 剪枝: 可行性剪枝: 1.为了保证严格大于,并且是整数,所以每一层的h,r最小是m-now+1 2.如果最后都选择能选的最大的,比n还小,return 3.如果最后都选择能选的最小的(这个可以预处理),比n 阅读全文
posted @ 2018-10-12 18:29 *Miracle* 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 搜索: 一种基础的算法。 考察常见于NOIP 但是高级的搜索算法可能还会在省选出现。 50%以上的暴力都可以用搜索直接枚举来写。 但是,当数据规模不是很大的时候,搜索也可能成为正解。 (比如剪枝PK状压dp) 在搜索的基础上,可以衍生出最短路,而dp本质上,也是搜索的剪枝。 一、基础搜索算法 DFS 阅读全文
posted @ 2018-10-12 18:29 *Miracle* 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 题面:https://www.luogu.org/problemnew/show/P1312 搜索无疑 剪枝: 1.交换的两个块颜色相同,跳过。 2.如果一个块的左边有块,那么这个块左移不优。 因为左边的这个块右移效果相同,但是字典序更优。 我的剪枝:1.如果一个颜色的块>=1且<=2,return 阅读全文
posted @ 2018-10-12 17:56 *Miracle* 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 题面https://www.luogu.org/problemnew/show/P1092 肯定要从右到左,从上到下比较好处理。 必然记录一个数用过与否,某个字母是什么。 剪枝: 1.到了第三行,上面两个已经确定,可以判断。 2.往后预估。但是进位怎么考虑?? 没有关系!进位最多一位!! 如果对于已 阅读全文
posted @ 2018-10-12 17:47 *Miracle* 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 我们经常要用到前缀和。 一维: for(int i=1;i<=n;i++) b[i]=b[i-1]+a[i]; 二维: for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j 阅读全文
posted @ 2018-10-12 15:14 *Miracle* 阅读(6526) 评论(3) 推荐(5) 编辑
摘要: 题目大意: 一个有密码箱,数字是0~n-1,其中有若干个密码,密码的特点:若x是密码,y是密码,(x可以等于y)则(x+y)%n也是密码。 给一个n(<=10^14),一个k(k<=min(250000,n)),给k个数(a[k]<n),前k-1个数不是密码,第k个数是密码。 求在0~n-1中,最多 阅读全文
posted @ 2018-10-12 11:26 *Miracle* 阅读(350) 评论(3) 推荐(1) 编辑