【技巧与思想】搜索剪枝
文章平均质量分 88
【技巧与思想】搜索剪枝
A_zjzj
衢州华茂外国语学校郑钧
展开
-
洛谷P1025数的划分题解--zhengjun
题目描述将整数nnn分成kkk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7n=7n=7,k=3k=3k=3,下面三种分法被认为是相同的。1,1,5;1,1,5;1,1,5;1,5,1;1,5,1;1,5,1;5,1,1.5,1,1.5,1,1.问有多少种不同的分法。输入格式n,kn,kn,k (6<n≤2006<n \le 2006<n≤20...原创 2020-03-05 15:31:01 · 313 阅读 · 0 评论 -
洛谷P1034矩形覆盖题解--zhengjun
题目描述在平面上有 nnn 个点(n≤50n \le 50n≤50),每个点用一对整数坐标表示。例如:当 n=4n=4n=4 时,444 个点的坐标分另为:p1p_1p1(1,11,11,1),p2p_2p2(2,22,22,2),p3p_3p3(3,63,63,6),p4p_4p4(0,70,70,7),见图一。这些点可以用kk个矩形(1 \le k \le 41≤k≤4)全部覆盖...原创 2020-03-20 15:29:02 · 1532 阅读 · 2 评论 -
洛谷P1074靶形数独题解--zhengjun
题面传送门思路一看就是一道搜索的好题目。说道搜索,就想到了剪枝优化,然后,可以想到一个很简单的剪枝,就是先选所在的行、列、宫已知的数字最多的格子,这样有点麻烦,我就直接看看行就完事了。然后,然后就是一个搜索了。代码#include<bits/stdc++.h>#define max(x,y) ((x)>(y)?(x):(y))#define abs(x) ((x)...原创 2020-04-21 08:48:32 · 298 阅读 · 0 评论 -
洛谷P1078文化之旅题解--zhengjun
题面传送门思路一看,数据这么小,打个搜索剪枝一下就可以了。然后,我打完了之后,TTT了一个点,就使劲想剪枝,就是已经走到的点就不用再走一次了。代码#include<bits/stdc++.h>#define maxn 101#define maxm 10001using namespace std;int n,k,m,s,t;int c[maxn];int a[m...原创 2020-04-21 14:44:31 · 277 阅读 · 0 评论 -
洛谷P1092虫食算题解--zhengjun
题面传送门思路我明知正解是枚举每一位是否进位然后用高斯消元来验证是否有解。可是我偏不!!!!我偏偏dfsdfsdfs。剪枝剪枝+剪枝。剪枝一:从低位的数开始搜索。剪枝二:枚举每一个字母是什么数的时候从大到小枚举。剪枝三:因为每一位最多只会进1,所以判断每一位如果不是这样的就直接returnreturnreturn。代码85ms不错不错#include<bits/stdc+...原创 2020-04-24 09:29:16 · 208 阅读 · 0 评论 -
P6474 [NOI Online #2 入门组] 荆轲刺秦王 题解--zhengjun
我一开始就打出来了,可是忘记一个很重要的剪枝,就是如果当前的步数已经超过答案的步数就不用搜了,还有就是每一个点的每一种状态都只能走到一次(其实就是走到一个点,之前使用了相同的魔法已经到过这个点)那么也不用搜下去了。代码#include<bits/stdc++.h>using namespace std;int n,m,c1,c2,d;//如题int sx,sy,tx,ty;/......原创 2020-05-01 07:50:54 · 766 阅读 · 0 评论