DFS
编号21212
SSL是母校,现前往新地图开拓中。
漫游于平行线间的灰鲤,于此处激起黑色孤独的水花。
展开
-
【DFS】【剪枝】【DG特长生2012】栅栏的木料
农民John准备建一个栅栏来围住他的牧场。他已经确定了栅栏的形状,但是他在木料方面有些问题。当地的杂货储存商扔给John一些木板,而John必须从这些木板中找出尽可能多所需的木料。当然,John可以切木板。因此,一个9英尺的木板可以切成一个5英尺和一个4英尺的木料 (当然也能切成3个3英尺的,等等)。John有一把梦幻之锯,因此他在切木料时,不会有木料的损失。所需要的木料规格都已经给定,每种规格的木材最多需要1块(注意:如果给定的规格值相同,则也各要一块),当然也有可能某些规格的木料无法切出。解D原创 2021-05-14 09:18:05 · 235 阅读 · 0 评论 -
【DFS】【剪枝】【DG特长生2011】民生问题
某市政府非常关注民生,最近对民生问题作了调研,提出了最近要解决的n个民生问题,政府的专家顾问组有w人,每一个专家都有自己的特长,政府知道每专家能解决哪些问题,现在政府想知道至少请多少位专家,才能把所有的问题都解决?解DFS+优化。如果一个专家可以解决的任务,某一个专家全都可以解决,那么删掉前面一个专家…如果某个任务只有一个专家可以解决,那么这个专家必然被选择。瞎搞。代码瞎几把优化,居然加起来有50行左右…#include<cstdio>#include<cmath>原创 2021-05-13 20:44:24 · 195 阅读 · 0 评论 -
【DFS】数独游戏
数独游戏只有一个规则:将 9×99\times99×9 的矩阵填满,使得每一行,每一列,和每一个小的九宫格恰好包含 1∼91\sim91∼9 这 999 个数字。你需要编写一个程序填写不完整的数独。解代码原创 2021-05-09 16:42:27 · 159 阅读 · 0 评论 -
【DFS】水库选址
有 mmm 条枢纽管道,每一条管道连接着两个村庄,使得水源流通。有 nnn 个村庄,只有一个水库,水从有水库的村庄通过这些枢纽管道流向向其它村庄。而且水只能往低处流(同海拔之间不能相互流水),需要让所有村庄都能得到水库的供水。想要知道水库应该建设在哪一个村庄,请你给出答案。存在方案则输出 Yes 和建在的村庄编号,否则输出 No。解水库当然是建在最高的地方。然后就 DFS 跑,看能否到达所有点。代码#include<cstdio>int n, m, ans1, ans2,原创 2021-05-09 15:33:05 · 149 阅读 · 0 评论 -
【DG特长生2015】有趣的英语角
单词接龙。给你一些单词,再给你一个字符,要求出以这个字母开头的最长的“龙”。其中:1.每个单词都最多在“龙”中出现两次。2.在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,如果接成一条龙则变为 beastonish,3.另外相邻的两部分不能存在包含关系,例如 at 和 atide 间不能相连。4.但是ENGLISHE和ENGLISHE可以相连。解预处理哪些字符串可以相连,相连后增加的长度为多少,然后DFS。我当时不知道同个串可以自己相连,也不知道串中有大写原创 2021-05-04 16:20:17 · 101 阅读 · 0 评论 -
【DFS】【DP】【DG特长生2017】T2益智游戏
题目大意24点游戏。给你n组数据,要你得出这四个数是否能完成24点。需要注意的是可以使用括号且数字顺序可调换,运算过程中只能出现整数。(然而原题面上没说数字顺序可调换…导致一堆人比赛时70分…)解原题:顺序可调换由于顺序可以打乱,直接暴力dfs看看能不能合成24。顺序不可调换啊啊,挺头裂的。悄悄跑去问TJH大爷这题怎写。TJH:我不清楚对不对啊 就暴搜啊我:这题气得我想用桶…TJH:这?我用了个vector好。vector,我不会。再见。于是写了个DP。分区间处理结果…再合并原创 2021-04-03 13:33:43 · 96 阅读 · 0 评论 -
【BFS】山峰与山谷
题目给出一个 n∗nn*nn∗n 的矩阵,每个点都有一个高度。一个山峰或山谷是一个高度相等的连通块。这个连通块周围的方格,都比山峰矮或都比山谷高。*如果整个地图是个连通块,那么它既是山峰又是山谷。解。BFS,每走过一个点判断它旁边的点是否决定它是否山峰或山谷。代码#include<cstdio>int b[1001][1001], h[1001][1001], n, sf, sg, anssf, anssg;int fx[10] = {0,-1,0,1,-1,+1,-1,原创 2021-01-20 16:51:32 · 255 阅读 · 0 评论 -
【DFS】Ybt_数独游戏
题目大意给你一些数独题,让你填。空位以 ‘.’ 表示,多组数据,以end结尾。解深度搜索,剪枝。用二进制位压缩储存状态,用这个以判断当前位置可以填的数字。代码#include<cstdio>#include<iostream>#include<cstring>using namespace std;int l[20], h[20], z[5][5], k[20][20], flag;char c;char getc(){ //输入 c原创 2021-01-09 10:05:04 · 303 阅读 · 1 评论 -
【DFS】Ybt_拔河比赛
一场拔河,给出所有人都体重,让你将他们分成两队:拔河比赛两边人数最多不能相差 1。每个队员都有体重,我们要使两边比赛的人体重和相差最小。多组数据。其中 1 <= T <= 50 , n <= 20 , 30 <= W_i <= 120以上。解由于数据十分小。所以直接暴力DFS即可。代码#include<cstdio>#include<iostream>#include<cmath>using namespace原创 2021-01-08 21:41:40 · 306 阅读 · 0 评论 -
【DFS】【暴力】【最小正环】开心小屋(smile)
题目描述Kc来到开心小屋。开心小屋是用来提升心情的。在这个小屋中有n个房间,一些房间之间有门连通。从房间i到达房间j,心情值可以加上-10000<=Cij<=10000,当然Cij可能是负的。现在kc失恋了,所以他想要知道他是否可以在这个小屋中无限地增加他的心情值,也就是无限地绕着一个环走?请帮kc求出最小的环需要经过的房间数,来使他的心情无限增加。输入第一行给出,1<=n<=300,1<=m<=5000。分别表示房间数及门的数量。接下来m行,每行四个数:i,j原创 2020-08-19 20:24:39 · 204 阅读 · 0 评论 -
【DFS】【暴力】KC看星(star)
题目“一闪一闪亮晶晶,满天都是小星星”Kc吟唱着歌谣,躺在草坪上边想着她边看起了星星。Kc刚刚结识了笛卡尔这位好基友,认为他的坐标系非常神奇。于是他随机地选出了8颗星星,并且给它们标上了坐标。Kc又不甘寂寞,于是思考起一个问题:这八个点能否恰好构成一个正方形和一个矩形呢?输入输入文件包括1行16个数,表示8个星星的坐标,坐标绝对值不超过10000。输出输出文件第一行是"YES"或者"NO"。表示是否有解。若有解则第二行依次输出正方形每个顶点的序号。第三行依次输出矩形每个顶点的序号。序号即为输入原创 2020-08-19 20:05:36 · 122 阅读 · 0 评论 -
【递归】洛谷P1087 FBI树
思路这里要求是输出后序遍历,很明显用递归可以解决。代码#include<cstdio>int n,f[15],b[10001];char work(int q,int z){ char zuo,you; if(q==z){ if(b[q] == 0) return 'B'; else return 'I'; } zuo = work(q,(q+z)/2); //左子树 printf("%c",zuo); you = work((q+z)/2+1,z); //..原创 2020-08-09 19:17:50 · 185 阅读 · 0 评论 -
【DFS】洛谷P1078 文化之旅
Link题目Sample1-In2 2 1 1 2 1 2 0 1 1 0 1 2 10 Sample1-out-1Sample2-In2 2 1 1 2 1 2 0 10 0 1 2 10 Sample2-out10解数据不大,dfs+剪枝即可。需要注意的是学完一门文化是可以到这门文化排斥的地方的,只是不能到这门文化被排斥的地方。Code–#include<cstdio>#include<cmath>#include&l原创 2020-08-08 23:03:34 · 168 阅读 · 0 评论 -
【LCA】洛谷P4281 [AHOI2008]紧急集合 / 聚会
题目Sample-in6 4 1 2 2 3 2 4 4 55 64 5 66 3 12 4 4 6 6 6Samplee-out5 22 54 16 0思路已知这个图是一颗树,然后要求三个点到某个点的距离总和最少。两个点的话可以找最近公共祖先,用LCA,即倍增求最近公共祖先。三个点的情况根据模拟可以得到:至少有 两组的最近公共祖先是相同的,如下图lca(x,z)=lca(y,z)。而最优解是走到x,y的最近公共祖先上,因为这个祖先深度最深,可以牺牲z一原创 2020-08-03 13:00:56 · 130 阅读 · 0 评论 -
【DFS】洛谷P6566 [NOI Online #3 入门组]观星(民间数据)
LinkProblemSample-1 in5 7*........**..*.*...*....*.......*..Sample-1 out3 4Sample-2 in10 10**..**.**.***....*..*...**.**....*..*.............**...**.*...*.*....*..........***..*.*...***..*...Sample-2 out4 12思路这天空如此狭小暴力。d原创 2020-07-21 22:02:48 · 446 阅读 · 0 评论 -
P3379 【模板】最近公共祖先(LCA)
Link如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。Input第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。Output输出包含M行,每行包含一个正整数,...原创 2019-10-31 17:33:32 · 131 阅读 · 0 评论 -
【DFS】Candy选首都(treeland)(这个是第二个DFS更改过的版本)(节省一丢代码量)
Jzoj-Link:(虽然我有一个点RE了)我前一篇博客:可以去看看,前一篇博客是从1点转移,有点乱,参考的是其他人的思路。这一篇是自己打的,从前一个点转移,稍有不同。(其实是来水博客的)(其实还节省了丢丢丢空间,优化代码使我快乐)Treeland是一个有n个城市组成的国家,其中一些城市之间有单向边连通。在这个国家中一共有n-1条路。我们知道,如果我们不考虑路的方向,那么我可以从任意城市到达...原创 2019-09-06 19:56:54 · 170 阅读 · 0 评论 -
【连通分量】【DFS】刻录光盘
Description在PJOI2010夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保证每个人都能拿到刻录上资料的光盘,又来不及去买了,怎么办呢?组委会把这个难题交给了DYJ,DYJ分析了一下所有营员的地域关系,发现有些营员是一个城市的,其实他们只需要一张就可以了,因为一个...原创 2019-04-18 16:08:29 · 191 阅读 · 0 评论 -
【记忆化搜索】【DP】滑雪
Description 题目描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21...原创 2018-12-30 10:44:07 · 114 阅读 · 0 评论 -
【DFS】Candy选首都(treeland)
Jzoj-Link:(虽然我有一个点RE了)Treeland是一个有n个城市组成的国家,其中一些城市之间有单向边连通。在这个国家中一共有n-1条路。我们知道,如果我们不考虑路的方向,那么我可以从任意城市到达任意城市。最近,Treeland的总理Candy为了发展经济,想要从这n个城市中选择一个作为Treeland的首都,首都必须要能到达其他任意城市,这使得有些道路必须反向,付出的代价即需要反...原创 2019-09-06 19:35:16 · 224 阅读 · 0 评论 -
tyvj【dfs枚举】【sl】费解的开关
题目链接题目大意有n个5* 5的01矩阵,你可以选择一个矩阵中的位置,使此位置和其上下左右总共5个数取反。求从给出的矩阵变换到全是1的矩阵需要多少步,如果结果大于六步,输出-1。如果一个一个枚举的话肯定是超时的。所以:已知“一个点不可以点两次”我们可以先枚举第一行的状态(O(2^5)),枚举完之后,如果第一行存在0,那么得出第二行的这个位置必须点,其它位置不可以点(因为这样就会把第一...原创 2019-08-06 11:36:35 · 117 阅读 · 0 评论 -
【DFS深搜】2001年分区联赛普级组之四---装箱问题
题目 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30=,每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。分析 一个物品一个物品搜,搜“放进背包”与“不放”。用一个变量ans=v,v随着放与不放的操作变化,如果v小于ans那么ans=v。代码#include&amp;amp;lt;cstdio&amp;amp;gt...原创 2018-08-20 14:42:19 · 186 阅读 · 0 评论 -
【DFS深搜】神秘数列
题目研究中心正在研究一种数列,该数列由整数组成,每次可以对相邻的两个数进行相减操作,并删去这两个数,将运算结果替换进去。直到此数列只剩一个数为止。现在此研究中心欲使此最后剩下的数字为目标数,请你帮助他们完成这个任务。 若此数列为{12,10,4,3,5},目标数为4,E(n)表示对第n和第n+1数进行相减并替换。 E(2)={12,6,3,5} (6 = 10-4) E(3)=...原创 2018-08-20 15:53:04 · 439 阅读 · 0 评论 -
【DFS深搜】石子归并
题目你有一堆石头质量分别为W1,W2,W3…WN.(W<=100000)现在需要你将石头合并为两堆,使两堆质量的差为最小。输入格式 测试数据第一行为整数N(1<=N<=20),表示有N堆石子。第二行为N个数,为每堆石子的质量。 输出格式 每组测试数据只需输出合并后两堆的质量差的最小值。思路一个数一个数搜,选择放第一堆(a堆)还是第二堆(b堆)。计算一下差值。...原创 2018-08-20 16:02:39 · 429 阅读 · 0 评论 -
【DFS深搜】2001年分区联赛提高组之二---数的划分
题目将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3 (6<n<=200,2<=k<=6),下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 输入 n,k 输出 一个整数,即不同的分法。思路从1开始搜,下一次搜的不能小于这次,这样就可以避免分法相同。每一次都搜到n/2,...原创 2018-08-20 16:49:45 · 112 阅读 · 0 评论 -
【DFS】【BFS】【邻接表】【STL】求连通分量
-Description -求一个图的连通分量-Input-n 顶点数(&amp;amp;amp;lt;=100)边-Output-连通分量(例子为4)方法:(写了那么多,就当是摸鱼吧)DFSDFS+邻接表BFSBFS+邻接表DFS很快就打完了#include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt;using namespace std;in原创 2019-01-05 09:22:34 · 743 阅读 · 1 评论 -
【DFS】排排坐
现实告诉我不要作死【车祸现场】——SSL 2019.03.02模拟赛T2题目小B喜欢在蓝心网玩游戏,一天他玩到了这个游戏:他感觉非常好玩…于是他就YY出了一个类似的简易模型…游戏规则:每次点击一个小朋友,他和他的周围的小朋友都会改变状态(蹲下的变成了站起来的,站起来的变成了蹲下的)我们将这个抽象成如下图所示的1*N的图.对于一个单元格,黑色表示小朋友是站起来的,反之,蹲下的小朋友是是白...原创 2019-03-02 16:47:37 · 246 阅读 · 0 评论 -
【SPFA】腾讯大战360
题目描述2010年11月3日,是一个难忘的日子。 腾讯发布消息:存360则,不留QQ。留QQ,则须卸360。 360则表示360与QQ可以共存。 这也就标志着腾讯与360的大战就此开始!现在,腾讯与360由于身处异地,非常迫切地想在最短的时间内相遇,然后干一架。但是由于双方的技术员都在努力地编程序想干掉对方,所以他们希望你来帮他们找到一个最好的方案使得相遇的时间最短。在此我们定义“相遇”为:...原创 2019-03-02 17:24:51 · 119 阅读 · 0 评论 -
【暴力】【DFS】相似度
题目某人不仅把图一的点打乱,还修改了一些路径。这个新图成为图2.现在求图1和图2的最大相似度。(ps:相似度的定义为将城市还原后还有多少条道路和之前的道路相同)Input第一行为两个整数n,m,表示一共有n个城市,m条道路接下来m行,每行两个整数x,y,表示原来小G的世界地图中有一条道路连接编号为x和y的两个城市。紧接着m行,每行两个整数x’,y’,表示被大G修改后的世界地图中有一条...原创 2019-03-09 17:44:52 · 197 阅读 · 0 评论 -
2*【DFS】+【树】机器选择
题目大意机房有一个网络,某些机器的网络是互通的。(是一个树形结构)找一机器使得:距离它最远的机器的距离 最小。Input第1行:一个整数n。第2~ n行:两个整数u、v,即u、v两台机器间有一条网线连接。机器从1~ n编号。输入数据保证是一个连通的树型结构。Output1行一个整数,即最短的时间。思路求出树的直径,然后(ans+1)/2得出结果。树的直径求法:任意一个点,D...原创 2019-03-14 16:08:30 · 96 阅读 · 0 评论 -
【DFS】棋盘变换
中途犯了很多低级错误。。。果然是因为中午睡觉的时间都用来看书了。题目描述小G在一个n*m的棋盘上随意放上了一些黑色的棋子,然后又在剩下所有没有放棋子的格子里放上了白色的棋子。现在小G想知道他是否能通过以下两种变换将整个棋盘上的棋子全部变成白色。 变幻1:选择一列,将这一列的棋子全部反色,即黑变白,白变黑。 变幻2:选择一行,将这一行的棋子全部反色。 如果能将整个棋盘上的棋子全部变成...原创 2019-03-14 17:15:16 · 688 阅读 · 0 评论 -
【DFS】聚会
思路其实就是有n个树,DFS求所有树最深的深度即可#include<cstdio>#include<iostream>int n,l,ans=0,tt=0,T=0,t[2002],L[2002];struct asdf{ int y,next;} a[2002];void s(int k,int d){ if(d>ans) ans=d; for...原创 2019-03-16 13:37:15 · 125 阅读 · 0 评论 -
【DFS】【最短路】产生数
Description给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15)。 规则: 一位数可变换成另一个一位数: 规则的右部不能为零。 例如:n=234。有规则(k=2): 2-> 5 3-> 6 上面的整数 234 经过变换后可能产生出的整数为(包括原数): 234 534 264 564...原创 2019-03-29 20:26:06 · 172 阅读 · 0 评论 -
【DFS】马蹄印
Description农夫约翰的N只奶牛排成了一条直线,每只奶牛都有一个特定的标识序号,从左到右第i只奶牛的编号是Bi。约翰认为他的奶牛队列中存在某段连续区间都是相同序号的,那他的队列就非常的美观。为了创造这样的一个连续区间,约翰决定将某个特定的序号的奶牛全部剔除队列。问题描述:请帮助约翰计算出通过选择除去某个特定序号的全部奶牛后,所剩下的队列中连续的有相同序号的奶牛的最大区间。Inpu...原创 2019-04-27 12:17:44 · 267 阅读 · 0 评论 -
【DFS】Chocolate
DescriptionCharlie 有一块巧克力。这块巧克力是矩形的,有 n 行 m 列一共 n × m 个大小相同的小块,每一小块都有一个美味值 ai,j。Charlie 有 k 个朋友,他希望把巧克力分给这些朋友。Charlie 按如下方法分配巧克力:做 k-1 次分割,每次拿出一块巧克力,将它沿水平或竖直方向分成两块矩形的巧克力。分割完成后一共有 k 块巧克力,Charlie会...原创 2019-05-04 15:02:15 · 375 阅读 · 0 评论 -
【dfs】【模拟】I Like Matrix Forever!
对一个 n ∗ m 的零矩阵 A 进行 q 次操作:• 1 i j:将 Ai,j 取反;• 2 i:将矩阵 A 第 i 行的所有元素全部取反;• 3 j:将矩阵 A 第 j 列的所有元素全部取反;• 4 k:将矩阵 A 还原为第 k 次操作之后的状态。进行每一次操作之后,询问当前矩阵所有元素的和。Input第一行包含三个整数 n,m 和 q。之后 q 行每行包含两个或三个整数,表示...原创 2019-05-16 17:48:42 · 176 阅读 · 0 评论 -
【DFS】通行证(license)
你离开了朝鲜,现在在俄罗斯给贵族开车。这本来是一件非常安全的工作,但是现在出了一些问题。贵族为了彰显自己的地位,在车上装了很多闪光灯。不过政府最近作出了一个决定:每条道路由若干个机构管辖,要在这条街道上使用闪光灯,至少要拥有其中一个机构的通行证。那么如何获得通行证呢?当然要靠贿赂了。为了让开销尽量小,贵族希望你能找出一种方案,使得能通行与家与工作地点之间,且通行证数最少。城市的交通网络可视为由若...原创 2019-07-08 07:46:12 · 173 阅读 · 0 评论 -
【DFS】家族
在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏。现在给你岛上的地图,求出岛上有多少个不同的家族。岛上的地图有n 行,每行有若干列,每个格子中要么是’空格表示大海,要么是‘ *’,表示河流或山丘,要么是小写字母,表示一户人家的姓氏。Input第一行是个数字 N,表示下面...原创 2019-07-09 14:55:29 · 252 阅读 · 0 评论 -
【DFS深搜】四色问题
题目问题描述: 设有图4-11所示地图,每个区域代表一个省,区域中的数字代表省的编号,今将每个省涂上红(R),兰(B),黄(Y),白(W)四种颜色之一,使相邻的省份不同颜色,且第一种颜色必须填1。 输入格式: 一个n表示省的个数,接着n行,读入关系(0表示不相邻,1表示相邻)。 输出格式: 按字典序输出方案,最后一行输出方案数。 输入1 4 0 1 1 1 1 0 1 0...原创 2018-08-20 11:30:51 · 2084 阅读 · 0 评论