![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索之dfs
oranges_c
落寞是岁月的痕迹
展开
-
【POJ】Square(DFS + 剪枝)
题目大意: 给你一些棍子的长度,问这些棍子能否组成正方形。 剪枝: 1.既然是正方形,长度总和肯定能被4整除。 2.最长的棍子的长度一定小于等于正方形边长。 3.满足上述两个条件,只要判断三边是否符合就可。看到网上一些题解上有对边长的排序,其实不排序也能过。#include <cstdio> #include <iostream> #include <cstring原创 2016-08-19 12:14:11 · 196 阅读 · 0 评论 -
Codeforces Round #394 (Div. 2)-E. Dasha and Puzzle(dfs)
题目链接PS:看了半天题意没看懂。。题目大意: 给你N个点的树,问能否将这些点放在坐标平面上,要求边平行于坐标轴。首先一个点的度数不超过4。因为平面只有四个方向,若度数超过4,肯定不存在方案。 然后就以2^n为长度递减dfs放点。 ∑ni=12i<2n+1\sum_{i=1}^n2^i < 2^{n+1}#include <bits/stdc++.h> using na原创 2017-02-03 15:52:55 · 267 阅读 · 0 评论 -
Codeforces 755-C. PolandBall and Forest(交互式题)
题目链接 题目大意: 给你n个点,每个点给出所在树的距离自己最远距离的点。问这个森林有多少棵树。PS:第一次交这种交互式的题。。交了一发给出了Idleness limit exceeded on test 1。一脸懵逼。查了一下发现这种题是用文件读入? 读入不能超过所需,否则就会出现这样的错误。 如果是用printf输出,需要在后面添上fflush(stdout),将原创 2017-01-18 14:53:18 · 594 阅读 · 0 评论 -
"玲珑杯”ACM比赛 Round #8-D XJT Loves Boggle(dfs)
记录一个菜逼的成长。。 DESCRIPTIONBoggle is a word game designed by Allan Turoff and distributed by Hasbro. It involves a board made up of 16 cubic dice, where each die has a letter printed on each of its sides.原创 2017-01-14 17:01:57 · 278 阅读 · 0 评论 -
codeforces Good Bye 2016-D New Year and Fireworks(dfs)
题目链接 题目大意: 一个烟花上天会分裂n-1次,给你n个每次飞行的深度,每次分裂会分裂成两个方向均与原来方向成45度,求覆盖了多少个点最多30个深度,每个深度最大为5,所以单向最长距离150,所以图只需要300*300即可。 定义一个记忆化数组dp[x][y][dir][cnt] := 在x,y处,朝dir方向,这是第cnt次飞行ps:本地运行与提交运行为什么输出不同原创 2016-12-31 15:04:00 · 295 阅读 · 0 评论 -
51NOD算法马拉松21(迎新年) A - 1737 配对(dfs树的重心)
题目链接 1737 配对 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一棵n个点的树,将这n个点两两配对,求所有可行的方案中配对两点间的距离的总和最大为多少。 Input一个数n(1<=n<=100,000,n保证为偶数) 接下来n-1行每行三个数x,y,z表示有一条长度为z的边连接x和y(0<=z<=1,原创 2017-01-03 14:49:39 · 727 阅读 · 0 评论 -
【玲珑学院OJ1058】Coco(记忆化搜索)
先排好序,只搜索比当前值小的b[i],记录最小值 用vis[i]记忆化保存//#pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <algorith原创 2016-11-27 10:51:05 · 213 阅读 · 0 评论 -
【POJ1321】棋盘问题(简单dfs)
之前搜索的题目接触的少。。现在多练练。。 这题的搜索很经典。#pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <algorithm> #inclu原创 2016-10-22 11:25:22 · 277 阅读 · 0 评论 -
【HDU5877】Weak Pair(线段树+dfs+离散化)
题目大意: 给你一个有根树,每个节点有权值,如果u是v的祖先,并且a[u] * a[v] <= k则(u,v)是一个虚弱对,求有多少组这样的对。dfs到某一节点时,路径上走过的点都是此节点的祖先。///#pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <ios原创 2016-09-21 16:08:13 · 301 阅读 · 0 评论 -
【HDU5802】Windows 10 (贪心 + dfs)
记录一个菜逼的成长。。 Windows 10直接贪心就好比较直观的看法是使劲往下降,然后升回来或者使劲往下降然后停顿然后再使劲往下降。。。于是就能将问题变成一个子问题,然后dfs就好需要注意的是由于按up键也可以打断连续向下的功效所以应该记录停顿了几次,以后向上的时候用停顿补回来#include <cstdio> #include <iostream> #include <cstring> #inc原创 2016-08-08 10:24:44 · 277 阅读 · 0 评论 -
团体程序设计天梯赛-练习集-L2-016. 愿天下有情人都是失散多年的兄妹(dfs)
题目链接一看题目,我以为可以用LCA算法写,写了半天,后来发现不是树(woc…) 再看题目,不超过5代,那么直接暴搜咯、、查询时,标记一个人的不超过5代的祖先,再从另一个人向上搜索在5代内是否有标记过的祖先。#include <bits/stdc++.h> using namespace std; #define ALL(v) (v).begin(),(v).end() #原创 2017-03-14 18:08:27 · 539 阅读 · 0 评论