搜索与枚举
文章平均质量分 55
AC__dream
道阻且长,行则将至;行而不辍,未来可期!
展开
-
P1120 小木棍(搜索+剪枝)
P1120 小木棍(搜索+剪枝)原创 2023-03-11 18:53:41 · 599 阅读 · 0 评论 -
(蓝桥真题)剪格子(搜索+剪枝)
(蓝桥真题)剪格子(搜索+剪枝)原创 2023-03-09 11:07:58 · 520 阅读 · 0 评论 -
杭电多校十 1007-Even Tree Split(组合+搜索)
给定一棵有n个节点的树,其中n是偶数,我们可以删掉树的一些边,问我们有多少种删边方案使得我们删完边后形成的所有连通子图的顶点个数均为偶数。其中删的边数至少为1.原创 2022-08-19 11:49:11 · 406 阅读 · 0 评论 -
(第九届蓝桥杯国赛)搭积木(记忆化搜索)
记忆化搜索原创 2022-06-01 19:52:26 · 300 阅读 · 0 评论 -
(L2-016)愿天下有情人都是失散多年的兄妹(dfs)
题目链接:PTA | 程序设计类实验辅助教学平台输入样例:2400001 M 01111 -100002 F 02222 0333300003 M 02222 0333300004 F 04444 0333300005 M 04444 0555500006 F 04444 0555500007 F 06666 0777700008 M 06666 0777700009 M 00001 0000200010 M 00003 0000600011 F 00005 00007原创 2022-04-21 20:49:29 · 212 阅读 · 0 评论 -
(第十三届蓝桥杯省赛)H:扫雷(搜索+哈希)
分析:这道题就是利用排雷火箭去搜索他管辖范围内的所有点,如果有炸弹就用炸弹再去递归搜索他范围内的炸弹,由于每个炸弹可能会被重复搜索,所以我们需要加一个vis数组,记录每个炸弹是否被搜到过,但是我们这就发现一个问题,就是炸弹的可能位置是很大的,不可能直接开数组去存,所以只能将一个二维的点哈希处理一下,由于最大x值是1e9,我们只要将(x,y)映射成x*(1e9+1)+y即可一一映射,再将映射后的值哈希存一下即可,由于每个位置可能会有多个炸弹,而我们搜索到一个位置有炸弹后,我们需要用这个位置的所有炸弹都去搜..原创 2022-04-13 18:57:31 · 1492 阅读 · 4 评论 -
(L3-029)还原文件(dfs)
题目链接:PTA | 程序设计类实验辅助教学平台分析:这道题直接暴力搜索就可以了,每次匹配完一个就标记一下直到匹配完所有的纸条即可。下面是代码:#include<cstdio>#include<iostream>#include<cstring>#include<vector>#include<algorithm>#include<map>#include<cmath>#include&.原创 2022-04-02 19:33:59 · 184 阅读 · 0 评论 -
(L3-023)计算图(数学+dfs)(第三个测试点是e的精度问题)
题目链接:PTA | 程序设计类实验辅助教学平台输入样例:70 2.00 5.05 03 0 16 11 2 32 5 4输出样例:11.6525.500 1.716分析:这道题就是一个基本的搜索:先来说一下怎么计算图的函数值:假如有x号节点u和y号节点v要进行z号运算,我们就从z号节点向x号节点和y号节点各连一条边,由于图一定是个拓扑图,假如我们递归到z号节点,就必须要把x号节点和y号节点的值全算出来,所以这显然是一个递归搜索的过程,终止条件.原创 2022-03-28 21:24:51 · 784 阅读 · 0 评论 -
(L3-004)肿瘤诊断(三维bfs)
题目链接:PTA | 程序设计类实验辅助教学平台输入样例:3 4 5 21 1 1 11 1 1 11 1 1 10 0 1 10 0 1 10 0 1 11 0 1 10 1 0 00 0 0 01 0 1 10 0 0 00 0 0 00 0 0 10 0 0 11 0 0 0输出样例:26分析:这道题目比较简单,就是在一个三维空间内部进行bfs搜索,我们每次搜索一个尚未搜索过的值为1的连通块,函数返回连通块的大小,每次判断大小与T的关系,如果原创 2022-03-21 20:50:36 · 7 阅读 · 0 评论 -
(L3-001)凑零钱(搜索或背包路径)
题目链接:PTA | 程序设计类实验辅助教学平台分析:这道题目一看就是动态规划,我写完之后过了样例但是就是通不过,于是我写了一个搜索想对拍一下,写完后想看看爆搜能过多少,结果……过了,才发现这道题暴力搜索也可以过(一会附上搜索代码)下面对这道题目进行分析:其实这道题目就是一个普通的背包问题,设f[i][j]=true/false表示能/不能用前i个硬币组成面额j。这样我们只需要最后判断f[n][m]是true还是false即可,那怎么保证硬币的字典序呢?其实这个很简单,由于字典序的规则我们可以知原创 2022-03-20 23:11:09 · 1397 阅读 · 0 评论 -
P1040 [NOIP2003 提高组] 加分二叉树(区间DP+路径输出)
题目链接:[NOIP2003 提高组] 加分二叉树 - 洛谷原创 2022-02-23 17:38:00 · 376 阅读 · 0 评论 -
(JLOI2014)聪明的燕姿(质因子爆搜)
分析:一个数的质因子分解与其约数有如下关系:所以,我们可以直接根据约数和与其质因子分解的关系来枚举每个质因子的幂次来搜索约数和等于s的数,在搜索过程中我们需要记录当前已经搜索到的数以及其约数和还有上一个幂次不为0的质因子的编号,然后我们依次往下搜索,搜索到答案就记录,但是仅仅这样搜索还是不行的,我们还需要对搜索过程进行剪枝,当我们搜索到的约数离s只差一个质因子时,我们可以直接记录答案而不用再进行向下搜索,这样会比较明显地减少代码运行的时间,具体代码如下:#include<cstdio..原创 2022-02-22 19:41:49 · 146 阅读 · 0 评论 -
(POJ - 1426)Find The Multiple(搜索)
题目链接:1426 -- Find The Multiple题意:给你一个n,然后让你输出任意一个非零十进制数m使得m是n的倍数且m的十进制表达式中只含有0或1.这道题显然直接进行dfs搜索就行,但是需要我们剪枝,搜索过程中需要记录两个值,一个是当前搜索到的十进制数,另一个是当前搜索到的位数,剪枝就从搜索到的位数方面开始考虑,若当前搜索到了18位即以后就默认未找到答案,十进制最高位我们i肯定是要从1开始的需要提醒的是剪枝一定要从18位剪 ,19位会超longlong,但是17位可能搜不到答案,这原创 2022-02-19 09:15:00 · 251 阅读 · 0 评论 -
(POJ - 3279)Fliptile(搜索)
题目链接:3279 -- Fliptile题意:给你一个01矩阵,矩阵大小为M x N。(1 <= M , N <= 15)每次操作选择一个格子,使得该格子与上下左右四个格子的值翻转。至少多少次操作可以使得矩阵中所有的值变为0?请输出翻转方案,若没有方案,输出"IMPOSSIBLE”。这道题目一开始我是直接暴力搜索,这个比较简单,然后提交就返回了超时,一会我会附上暴力搜索代码正确思路:首先我们需要知道的一点是,每个格子最多只能被反转一次,若反转两次则相当于没有反转,我们枚举第.原创 2022-02-17 18:57:16 · 333 阅读 · 0 评论