深搜dfs
disPlayLzy_
梦在前方,路在脚下
展开
-
Jzoj P6308 中间值___分治
题目大意:两个长度为nnn的序列a,ba,ba,b,m个操作,操作种类有两种①修改某个序列中的某个数②查询两个序列中的某两个区间合并后的中位数。保证合并后的区间长度为奇数。保证任意时刻a,ba,ba,b都满足非严格单调递增。分析:修改就直接改,对于查询而言,我们显然就是要求两个区间合并后的第kkk小,那么因为序列都满足非严格单调递增,那么我们每次就找两个区间的k/2k/2k...原创 2019-08-19 11:44:39 · 187 阅读 · 0 评论 -
Jzoj P1737 删边___dfs+树的直径+预处理
题目大意:给出NNN个点,N−1N−1N-1条边的连通图. 现要求删除一条边,使得连通块的直径总和最大.所谓连通块的直径是指连通块中最远两点之间的距离。问直径总和最大是多少?分析:暴力就是每次拆掉一条边,然后暴力求解分成的222棵树的树上最长链的总和,不过我们发现, 可以预处理出每一棵子树的 ①最大直径 ②子树中的最远点,次远点,与次次远点与根的距离与所在的子树位置(任意222...原创 2018-07-08 21:05:17 · 471 阅读 · 0 评论 -
Luogu P1312 [Noip2011]Mayan游戏___dfs
题目大意:给出5列7行的棋盘,棋盘上的每个格子有不同颜色给出5列7行的棋盘,棋盘上的每个格子有不同颜色给出5列7行的棋盘,棋盘上的每个格子有不同颜色 问在N次操作以后,是否能够使得所有的格子都被消掉。问在N次操作以后,是否能够使得所有的格子都被消掉。问在N次操作以后,是否能够使得所有的格子都被消掉。 每次操作可以交换任意两列相邻的格子每次操作可以交换任意两列相邻的格子每次操作可以交换任意两...原创 2018-06-12 16:57:14 · 196 阅读 · 0 评论 -
Bzoj P1053 [HAOI2007]反素数ant___dfs+思维
题目大意:对于任何正整数x,其约数的个数记作g(x)。 当某个正整数x满足:g(x) > g(i) 且 0 < i < x,则称x为反质数。 现在给定一个数N,你能求出不超过N的最大的反质数 么?1 <= N <= 2,000,000,000分析:这题其实并不难,不过比较难想得到, 设[1..N]中的一个数x, 我们将x质因数分解, 即x=p1^c1*p2^c2*……*pm^cm 则我原创 2018-05-09 20:35:14 · 356 阅读 · 0 评论 -
网络流24题 最小路径覆盖问题___最小路径覆盖
题目大意:给定有向图G=(V,E)。 设P是G的一个简单路的集合。 如果V中每个顶点恰好在P的一条路上, 则称P是G的一个路径覆盖。P中路径可以从V的任何一个顶点开始,长度也是任意的,特别地,可以为0。G 的最小路径覆盖是G 的所含路径条数最少的路径覆盖。设计一个有效算法求一个有向无环图G 的最小路径覆盖。 设V={1,2,…. ,n},有M条边, 构造网络G1=(V1,E1)如下:...原创 2018-04-20 20:56:27 · 255 阅读 · 0 评论 -
USACO 2.2 Party Lamps___dfs+思维
题目大意:有N盏彩色灯,他们分别从1到N被标上号码。 按下按钮1后,将改变所有的灯:本来亮着的灯就熄灭,本来是关着的灯被点亮。 按下按钮2后:当按下此按钮,将改变所有奇数号的灯。 按下按钮3后:当按下此按钮,将改变所有偶数号的灯。 按下按钮4后:当按下此按钮,将改变所有序号是3*K+1的灯。例如:1,4,7… 一个计数器C记录按钮被按下的次数。 当宴会开始,所有的灯都亮...原创 2018-04-13 19:59:29 · 230 阅读 · 0 评论 -
Luogu P1378 油滴扩展___dfs
题目大意:在一个长方形框子里,最多有N个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界。必须等一个油滴扩展完毕才能放置下一个油滴。那么应该按照怎样的顺序在这N个点上放置油滴,才能使放置完毕后所有油滴占据的总体积最大呢?(不同的油滴不会相互融合) 注:圆的面积公式V=pi*r*r,其中r为圆的半径。0≤N≤6 所有的坐标都在[-10...原创 2018-03-29 17:00:13 · 249 阅读 · 0 评论 -
USACO 2.1 The Castle___dfs+枚举
题目大意:给出一副N*M的图,图上的任意一点[i,j]中四周可能存在墙壁,用ai,j描述周围的墙壁, 每个ai,j表示[i,j]东西南北是否有墙存在。每个数字是由以下四个整数的某个或某几个或一个都没。 1: 在西面有墙 2: 在北面有墙 4: 在东面有墙 8: 在南面有墙 求①城堡的房间数目②最大的房间的大小 ③移除一面墙能得到的最大的房间的大小 ④移除哪面墙可以得到面积最大的...原创 2018-04-11 21:20:34 · 180 阅读 · 0 评论 -
Luogu P2258 子矩阵___dfs+dp
题目大意:给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵。 相邻的元素:矩阵中的某个元素与其上下左右四个元素(如果存在的话)是相邻的。 矩阵的分值:矩阵中每一对相邻元素之差的绝对值之和。 本题任务:给定一个n行m列的正整数矩阵,请你从这个矩阵中选出一个r行c列的子矩阵,使得这个子矩阵的分值最小,并输出这个分...原创 2018-04-03 21:11:28 · 382 阅读 · 0 评论 -
特长生模拟——12年东莞市特长生考试
T1 安全密码,题意:给出a,b,c,计算计算a^b mod c 的值。60%的数据中,a的b次方的值在longint范围内。 70%的数据中,a的b次方的值在int64范围内. 100%的数据中,a,b,c 的值小于1000 。题解:显然暴力每乘一次模一次即可代码:#include<iostream>#include<cstdio&...原创 2018-03-27 20:34:47 · 338 阅读 · 0 评论 -
特长生模拟——17年东莞特长生考试
序言:一模爆炸以后,模拟赛也炸了。。。 这次因为心态跟对时间的把握不足,直接导致了失手 估分是100+80+100+100=380 实际是100+50+100+20=270 而去年特长生前10的线是310… 要调整心态,继续努力了… 能拿的分,绝对不丢 难拿的分,尽量去拿 可打的暴力,不能不打T1,优美景点,题目大意:给出N个数a1,a2…an,从大到小输出。 1...原创 2018-04-14 14:40:54 · 411 阅读 · 0 评论 -
USACO 2.1 Healthy Holsteins___dfs
题目大意:给出一头牛V种所需维他命的所需最小量,以及喂给牛的G种种类的饲料,问所需的饲料种类数最少是多少。1<=V<=25 1<=维他命的最小量<=1000 1<=G<=15题解:dfs搜出所有组合情况判断即可。代码:#include <bits/stdc++.h>#define INF 2333333...原创 2018-04-08 21:25:49 · 237 阅读 · 0 评论 -
Luogu P2239 螺旋矩阵___dfs+思维
题目大意:一个n行n列的螺旋矩阵可由如下方法生成:从矩阵的左上角(第1行第1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1, 2, 3, … , n,便构成了一个螺旋矩阵。 现给出矩阵大小n以及i和j,请你求出该矩阵中第i行第j列的数是多少。对于50%的数据,1 ≤ n ≤ 100; 对...原创 2018-03-31 16:51:01 · 408 阅读 · 0 评论 -
Luogu P1441 砝码称重___dfs
题目大意:现有n个砝码,重量分别为a1,a2,a3,……,an,在去掉m个砝码后,问最多能称量出多少不同的重量(不包括0)。对于20%的数据,m=0; 对于50%的数据,m≤1; 对于50%的数据,n≤10; 对于100%的数据,n≤20,m≤4,m<n,ai≤100。题解:dfs搜出所有可行情况,然后每个情况dp求出可能数代码:#include<bit...原创 2018-03-30 21:16:27 · 268 阅读 · 0 评论 -
USACO 1.4 Mother's Milk___dfs
题目大意;三个容量分别是A,B,C升的桶。最初,A和B桶都是空的,而C桶是装满牛奶的。有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了。当然每一次灌注都是完全的。由于节约,牛奶不会有丢失。去帮助农民找出当A桶是空的时候,C桶中牛奶所剩量的所有可能性。A,B,C分别是三个从1到20的整数题解:因为A,B,C≤20,所以我们可以直接dfs,去找出所有情况是否存在,用rp...原创 2018-03-17 07:58:02 · 360 阅读 · 0 评论 -
USACO 1.3 wormhole___dfs
题目大意:有N个虫洞在农场上,虫洞将形成 N/2连接配对。例如,如果A和B的虫洞连接成一对,进入虫洞A的任何对象体将从虫洞B出去,朝着同一个方向,而且进入虫洞B的任何对象将同样从虫洞A出去,朝着相同的 +x 方向(右)前进。有些匹配可能会导致陷入一个无限循环中! 求这样的匹配的数量。2<=N<=12,n是偶数题解:因为n≤12,所以可以搜出所有的匹配情况然后判断是否有...原创 2018-03-16 21:05:11 · 241 阅读 · 0 评论 -
NOIP 2017 提高组 宝藏___状压dp+dfs
题目大意:题解:这题不难发现,f[i]表示选了的点的状态为i,用的最小代价,dis[i]表示起点到i经过的宝藏数。 然后转移的话,不知道从何做起, 后发现可以枚举能作为起点的N个点,然后果断用dfs去更新代码:#include<cstdio>#define INF 1234567890int n,m,rp,a[20][20],f[10000],di...原创 2018-03-09 20:04:58 · 617 阅读 · 0 评论 -
NOIP 2017 提高组 奶酪___dfs
题目大意:题解:这题有多种做法,我来讲讲怎么去实现dfs,虽然也可用bfs啊,并查集啊去实现,可是搜索的代码实现很容易。①将老鼠一开始能到的空洞标记,即所有满足圆心zi-r≤0的空洞。 ②以这些空洞为基础去看是否能够到达其他空洞,需满足2个圆点间距离≤2*r。 ③被标记过的点除了一开始的基础点,其他不需要再次搜,大力剪枝,暴力AC。代码:var ...原创 2018-03-08 17:10:24 · 766 阅读 · 0 评论 -
Jzoj P3325 压力___求点双分量+LCA+树上差分
题目大意:世界上有NNN个网络设备,他们之间有MMM个双向的链接,这个世界是连通的。 有QQQ个数据包要从一个网络设备发送到另一个网络设备。 某些数据包无论走什么路径都不可避免的要通过某些网络设备。 你要计算:对每个网络设备,必须通过(包括起点、终点)他的数据包有多少个?N≤100000,M,Q≤200000N≤100000,M,Q≤200000N≤100000,M,Q≤200000...原创 2018-07-08 21:39:15 · 268 阅读 · 0 评论 -
Jzoj P3387 终极武器___枚举+dfs
题目大意:XenonLaser−kXenonLaser−kXenon Laser - k上共有NNN个波段能够发射激光,每个波段可以用一个闭区间[ai,bi][ai,bi][ai,bi]来表示,其中ai,biai,biai,bi为正整数,b[i−1]<ai≤bib[i−1]<ai≤bib[i-1]<ai≤bi。对于两个数字ppp和qqq,如果对于这NNN个波段内的任意一个整数numnumnum...原创 2018-07-14 15:29:32 · 309 阅读 · 0 评论 -
Poj P3889 Fractal Streets___规律+dfs+分治
题目大意:有TTT组数据, 每组给出3个数n,h,on,h,on,h,o 求在分形图中第nnn级情况下,编号为hhh和ooo的两个点之间的距离∗10∗10*10为多少。 如图: 分形图随等级增加而增大即每增加一级: 1.右下角,右上角复制一遍 2.顺时针旋转909090度,放到左上角 3.逆时针旋转909090度,放到左下角 4.相连编号是从左上角那个点开始计111,沿...原创 2018-07-31 23:15:58 · 298 阅读 · 0 评论 -
Jzoj P6287 扭动的树___记忆化搜索
题目大意:分析:因为这颗二叉查找树的中序遍历必定是keykeykey值的升序排列,考虑dp,设fi,j,kf_{i,j,k}fi,j,k表示选了区间[i,j][i,j][i,j]上的一个点作为kkk儿子时的最大合法sum和。显然对于一个区间[l,r][l,r][l,r]而言,不管我选出一个什么样的点去作为其父亲的儿子,都不会影响fl,r,kf_{l,r,k}fl,r,k因为...原创 2019-08-09 17:29:17 · 212 阅读 · 0 评论 -
Jzoj P4805 跟踪___dfs
题目大意:分析:处理出3个人分别到各个点的距离然后从SSS开始dfsdfsdfs遍历能走到的点,当一个点xxx被SSS走到的时候,P,QP,QP,Q能更早走到,那么就不继续走下去,能否更早走到可以通过之前的预处理做到O(1)O(1)O(1),然后对于P,QP,QP,Q能更早走到的点,我们将这些点时被追上的时间取个maxmaxmax即可然后时间复杂度就是O(n)O(n)O(n)代码:...原创 2019-06-06 14:40:43 · 170 阅读 · 0 评论 -
Jzoj P1764 游戏___预处理+dfs
题目大意:一个倒三角有nnn层,第iii层有n−i+1n-i+1n−i+1个数字,假如第一行数字为a1,1,a1,2,...,a1,n−1,a1,na_{1,1},a_{1,2},...,a_{1,n-1},a_{1,n}a1,1,a1,2,...,a1,n−1,a1,n,对于第222到nnn行,有ai,j=ai−1,j+ai−1,j+1a_{i,j}=a_{i-1,j}+a_{i-1...原创 2019-05-19 20:57:04 · 183 阅读 · 0 评论 -
Bzoj P4325 [NOIP2015]斗地主___dfs+dp
题目大意:分析:同上一篇一样,https://blog.csdn.net/Gx_Man_VIP/article/details/90180584代码:#include <iostream>#include <cstdio>#include <cmath>#include <queue>#include <cstring>...原创 2019-05-13 20:53:20 · 172 阅读 · 0 评论 -
Luogu P2540 斗地主增强版___dfs+dp
题目大意:牛牛最近迷上了一种叫斗地主的扑克游戏。斗地主是一种使用黑桃、红心、梅花、方片的A到K加上大小王的共54张牌来进行的扑克牌游戏。在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<...原创 2019-05-13 20:22:23 · 438 阅读 · 0 评论 -
Bzoj P2282 [Sdoi2011]消防___二分+前缀和+树的直径
题目大意:有nnn个点的一棵树,任意两点都连通且有唯一一条路径。给出一个最大允许花费sss,要在树中选择一条边长度和不超过sss的路径,且使其他所有点到这条路径的距离的最大值最小。问最大值最小是多少。n<=300000,边长≤1000n<=300000,边长≤1000n<=300000,边长≤1000分析:树的直径:树中长度最长的一条链我们发现需要选...原创 2019-04-27 22:09:17 · 220 阅读 · 0 评论 -
Bzoj P1024 [SCOI2009]生日快乐___dfs
题目大意:nnn个人分一个x∗yx*yx∗y的蛋糕,每次切只能平行于一块蛋糕的一边(任意一边),并且必须把这块蛋糕切成两块,通过切n−1n-1n−1次将蛋糕分成nnn份,要使得每份蛋糕的面积都相等,问此时nnn块蛋糕的长边与短边的比值的最大值最小是多少。1<=X,Y<=10000;1<=N<=101 <= X,Y &...原创 2019-04-07 08:46:36 · 187 阅读 · 0 评论 -
Jzoj P4672 Graph Coloring___01图染色+dfs
题目大意:一张n个节点m条边的无向图。最初,每一条边都是蓝色或者红色。每一次你可以将一个节点连接的所有边变色(从红变蓝,蓝变红)。找到一种步数最小的方案,使得所有边的颜色相同。1<=n,m<=1000001<=n,m<=1000001<=n,m<=100000没有自环的边分析:分别将边变为蓝色或者红色,然后取最优方...原创 2019-03-26 16:17:52 · 244 阅读 · 0 评论 -
Jzoj P4221 互相追逐的点___dfs+环
题目大意:平面上有nnn 个点,初始任意两个点距离&gt;=1&gt;=1>=1,点 i(i∈[1,n])i(i∈[1,n])i(i∈[1,n])有一个值 a[i]a[i]a[i]。所有点同时开始移动,点 i(i∈[1,n])i(i∈[1,n])i(i∈[1,n])的运动速率为 111 单位/秒,方向为它到点 a[i]a[i]a[i]连线方向(点 iii 与点 a[i]...原创 2019-01-28 19:18:08 · 200 阅读 · 0 评论 -
Jzoj P3894 改造二叉树___二叉树遍历+LIS
题目大意:二叉搜索树是一棵二叉树。设key[p]表示结点ppp上的数值。①若其存在左孩子lchlchlch,则key[p]&gt;key[lch]key[p]&gt;key[lch]key[p]>key[lch];②若其存在右孩子rchrchrch,则key[p]&lt;key[rch]key[p]&lt;key[rch]key[p]<key[r...原创 2019-01-25 19:10:50 · 322 阅读 · 0 评论 -
Jzoj P3470 最短路___分点spfa+dfs
题目大意:一个nnn个点mmm条边的有向图,有kkk个标记点,要求从规定的起点SSS按任意顺序经过所有标记点到达规定的终点TTT,问最短的距离是多少。n<=50000,m<=100000n<=50000,m<=100000n0<=k<=10,1<=边权<=50000<=k<=10,1<=边权<=50000SSS跟每个标...原创 2018-09-08 15:36:46 · 363 阅读 · 0 评论 -
Poj P2248 Addition Chains___迭代搜索
题目大意:多组数据,每组给出一个nnn, 使A[1]=1,A[m]=nA[1]=1,A[m]=nA[1]=1,A[m]=n, 满足A[1]<A[2]<……<A[m−1]<A[m]A[1]<A[2]<……<A[m−1]<A[m]A[1]A[i]A[i]A[i]都满足A[i]=A[j]+A[k]A[i]=A[j]+A[k]A[i]=A[j]+A[...原创 2018-08-19 20:32:36 · 253 阅读 · 0 评论 -
Poj P3074 Sudoku___dfs
题目大意:给出多个数独,回答数独的解。分析:利用二进制存储行列以及宫格的111~999是否被用过, 然后每次找一个答案选择性最少的点去dfsdfsdfs, 然后枚举答案可以利用二进制中的lowbitlowbitlowbit,这个有点骚-代码:#include&lt;algorithm&gt;#include&lt;iostream&gt;#include&lt;cstr...原创 2018-08-13 21:30:25 · 168 阅读 · 0 评论 -
Codevs P4228 小猫爬山___dfs
题目大意:NNN个猫坐车,每个猫质量为CiCiC_i,任意一辆车能承受的最大质量为WWW,问最少要多少辆车才能让NNN个猫都上车。1<=N<=18,1<=Ci<=W<=1081<=N<=18,1<=Ci<=W<=1081...原创 2018-08-13 15:58:56 · 273 阅读 · 1 评论 -
Poj P3076 Sudoku__dfs
题目大意:给出多个16∗1616∗1616*16的数独,分别求解。分析:直接搜索即可,注意几条剪枝, ①如果当前位置只有一个可能性可以选择,直接填 ②如果某一行的某一个可能性只有一个位置能够被填,那么直接填 ③如果某一列的某一个可能性只有一个位置能够被填,那么直接填 ④如果某一个九宫格的某一个可能性只有一个位置能够被填,那么直接填 ⑤每次选择可能性最少的点搜索代码:#...原创 2018-08-15 21:10:36 · 190 阅读 · 0 评论 -
Poj P1011 Sticks___dfs
题目大意:给出nnn根小棒的长度stick[i]stick[i]stick[i],已知这n根小棒原本由若干根长度相同的长木棒分解而来,求出原棒的最小可能长度。分析:直接枚举答案,[maxmaxmax{stickistickistick_i}..长度和], 然后用dfs判断可不可行, 设枚举的答案是xxx, 当满足xxx是长度和的约数的时候, 我们则判断能不能合成sum/xsum...原创 2018-08-14 22:09:30 · 175 阅读 · 0 评论 -
Poj P1190 生日蛋糕___dfs
题目大意:ACM-THU为此要制作一个体积为NπNπNπ的MMM层生日蛋糕,每层都是一个圆柱体。 设从下往上数第i层蛋糕是半径为RiRiR_i, 高度为HiHiH_i的圆柱。当i<Mi<Mi < M时,要求Ri>Ri+1Ri>Ri+1R_i > R_{i+1}且Hi>Hi+1Hi>Hi+1H_i > H_{i+1}。 我们希望蛋糕外表面(最下一层的下底...原创 2018-08-14 22:01:18 · 203 阅读 · 0 评论 -
Luogu P2444 病毒___AC自动机+dfs
题目大意:有N个确定的二进制串是病毒的代码。当某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。n≤2000 所有病毒代码段的总长度不超过30000题解:将所有的病毒代码构建一个AC自动机, 如果存在一个可行解,必定它在trie树中,从根节点开始走,不会碰到所有病毒的末尾节点(即不可...原创 2018-03-14 21:18:01 · 169 阅读 · 0 评论 -
jzoj P3769 A+B___dfs+规律
题目大意:对于每个数字x,我们总可以把它表示成一些斐波拉切数字之和,比如8 = 5 + 3, 而22 = 21 + 1,因此我们可以写成 x = a1 * Fib1 + a2 * Fib2 + a3 * Fib3 + … + an * Fibn, 其中,Fib1 = 1, Fib2 = 2…. Fib[i] = Fib[i – 1] + Fib[I - 2], 且a[n] > 0.那么我原创 2018-02-03 16:20:02 · 296 阅读 · 0 评论