dfs
newhonor
可以不伟大,但不能卑微
展开
-
F1. Tree Cutting (Easy Version)
http://codeforces.com/contest/1118/problem/F1题意:给一棵树,有些节点是红色或蓝色,或无色,切掉一条边后分成两棵树且红蓝在不同的树;有多少条边可以切;思路:一个节点的一个子树点有么包含红的全部且不包含蓝的,或包含蓝的全部而不包含红的,那么这条边可以切;dfs是计算子树红蓝个数是否满足条件;#include<algorithm&g...原创 2019-02-22 17:27:27 · 430 阅读 · 0 评论 -
zyb的面试
http://acm.hdu.edu.cn/showproblem.php?pid=6468思路:dfs从小枚举到第k个;反思:有个枝没剪以为问题不大,但每次递归后才判断大于n会多出很多次调用的复杂度!!#include<algorithm>#include<set>#include<queue>#include<cmath>...原创 2019-05-10 17:10:46 · 723 阅读 · 0 评论 -
smart robot
https://ac.nowcoder.com/acm/contest/903/L题意:给n*n方格,0-9;起点任意,上下左右走,组成一个数值;问最小没出现的数;n<=50;思路:好像是数值是不会超出1e6.............然后就直接dfs枚举每个数,再找没出现的;大胆猜!!#include<algorithm>#include<set>...原创 2019-05-26 11:48:28 · 392 阅读 · 0 评论 -
The 2019 ACM-ICPC China Shannxi Provincial Programming Contest-L.Swap
https://nanti.jisuanke.com/t/39279题意:给一个数组操作1:前后部分调换(n为偶数中间的不变);操作2: 偶数位置与前面位置的交换(n为奇数最后一个不变)思路:打表找规律,n偶数时如果是4倍数就是4,不是就是数组长度;n为奇数时发现每个一个奇数是12,其余是2*n;#include<algorithm>#include<set>...原创 2019-05-28 16:08:03 · 294 阅读 · 0 评论 -
斐波那契串
https://ac.nowcoder.com/acm/contest/911/E思路:dfs;类似二分一样,确定位置y是前面f[i-1]还是f[i-2],然后dfs下去;直到i==1或2;x超过最长1e8的就一直是i-1(前面的串了),y<=1e18;所以取最长和x的最小值;#include<algorithm>#include<set>#inclu...原创 2019-06-05 15:37:12 · 417 阅读 · 0 评论 -
异或的路径
https://ac.nowcoder.com/acm/contest/911/J思路:dfs处理出根节点到全部节点的异或值,然后对每一位二进制计算贡献;第i位就是2^i的贡献,而贡献的数量就是0和1的数量积,因为只有端点是0和1路径异或后才是1,该位才会1;最好乘二是终起点可以调换;#include<algorithm>#include<set>#inclu...原创 2019-06-06 20:49:10 · 308 阅读 · 0 评论 -
n的约数
https://ac.nowcoder.com/acm/contest/907/B思路:约数个数数目只与素质子分解的指数有关,所以素因子从小取;枚举取得个数,爆炸取得个数递减;#include<algorithm>#include<set>#include<queue>#include<cmath>#include<cstr...原创 2019-06-03 22:55:26 · 374 阅读 · 0 评论 -
第002话 宝可梦中心大对决!
https://www.cometoj.com/contest/42/problem/B思路:n很小一定想想可不可以暴力dfs;#include<algorithm>#include<set>#include<queue>#include<cmath>#include<cstring>#include<iostr...原创 2019-06-03 22:58:25 · 390 阅读 · 0 评论 -
E. Cover it!
https://codeforc.es/contest/1176/problem/E题意:选不超n/2个点使得每个没选的最少连一个选了的点;思路:隔层取,答案是最少点数的;#include<algorithm>#include<set>#include<queue>#include<cmath>#include<cstr...原创 2019-06-10 19:08:27 · 425 阅读 · 0 评论 -
B题
https://ac.nowcoder.com/acm/contest/948/D思路:前向星存边,奇数边就是反向边,dfs一遍反向边就有贡献,就是顺时针和逆时针判断那个最少,sum减掉dfs的就是相反时针#include<algorithm>#include<set>#include<cmath>#include<cstring&...原创 2019-07-07 20:55:41 · 563 阅读 · 0 评论 -
P1141 01迷宫
https://www.luogu.org/problemnew/show/P1141思路:染色问题,记录每个联通块的格子总数即可#include<algorithm>#include<set>#include<cmath>#include<cstring>#include<iostream>#include&l...原创 2019-07-07 12:33:58 · 149 阅读 · 0 评论 -
Partition problem
https://ac.nowcoder.com/acm/contest/882/F#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <map>using namespace std;#define sf...原创 2019-08-05 09:14:18 · 248 阅读 · 0 评论 -
Parallel Lines Gym - 101986B
https://cn.vjudge.net/problem/Gym-101986B思路:暴力dfs枚举方案#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>#include <cs...原创 2019-08-13 15:30:41 · 387 阅读 · 0 评论 -
CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019) 篮球校赛
https://www.cometoj.com/contest/59/problem/G?problem_id=2697思路:每种属性选5个,必然是从这些中选出的;判断哪个人,哪种属性用过dfs;#include <iostream>#include <cstring>#include <algorithm>#include <cstdi...原创 2019-08-11 11:30:59 · 148 阅读 · 0 评论 -
Joyride Gym - 101873C
https://cn.vjudge.net/problem/Gym-101873C#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>#include <cstdio>#inclu...原创 2019-08-30 19:25:37 · 323 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Shanghai 2019 Counting Sequences I
https://nanti.jisuanke.com/t/41412其它排列与组合有三种。① 从n个元素中取出m个元素的循环排列数=A(n,m)/m!=n!/m!(n-m)!。② n个元素被分成K类,每类的个数分别是n1,n2,…,nk这n个元素的全排列数为n!/(n1!*n2!*…*nk!)。③ k类元素,每类的个数无限,从中取出m个元素的组合数为C(m+k-1,m)。...原创 2019-09-17 16:43:02 · 169 阅读 · 0 评论 -
D. Beautiful Graph
https://codeforc.es/contest/1093/problem/D题意:该图染色,奇偶相间,奇是1,3,偶是2;问多少中方案;思路:直接间隔染色,不合题意就是0;方案数是可以101或010两种1时可以1,3就2^ji+2^ou;#include<algorithm>#include<set>#include<vector>#...原创 2019-05-04 22:55:24 · 133 阅读 · 0 评论 -
实际问题
https://ac.nowcoder.com/acm/contest/642/L反思:dfs剪枝可以跑1e6,要注意枚举到n-(m-cnt),例如n=99,m=5;已经有2个;第三个只要枚举到当前n-2;保证后面还有两个可以枚举~~否则会tle;#include<algorithm>#include<set>#include<vector>...原创 2019-05-01 17:19:12 · 246 阅读 · 0 评论 -
B. Dreamoon and WiFi
http://codeforces.com/problemset/problem/476/B题意:给两个‘+’‘-’字符串,第二次串有'?'可+,-;问第二个串到第一串概率;思路:(1)dfs,记录可行个数;(2)排列组合;(3)dp[i][j],串的i位置在坐标j的概率dfs:#include<bits/stdc++.h>#include<algorit...原创 2019-03-04 22:00:30 · 238 阅读 · 0 评论 -
C. Connect
http://codeforces.com/contest/1130/problem/C题意:给一个n*n的01图,0表示陆地,1表示海,给出起点和终点,最多修一条路使得终点起点相互到达,修理费为(ri-rj)^2+(ci-cj)^2;不用修路则输出0;思路:dfs;把起点和终点所在的陆地位置都记录下来,取最小值就行啦;#include<algorithm>#incl...原创 2019-02-26 17:07:50 · 563 阅读 · 0 评论 -
B. Equivalent Strings
http://codeforces.com/contest/559/problem/B题意:给两个字符串,两个串相等条件:(1)直接相等(2)两个字符串在中间切开后a1,a2; b1,b2 ;有a1=b2&&a2=b1;可以一直分;思路:递归搜索,奇数长度时直接判断;#include<bits/stdc++.h>/*#include<algo...原创 2019-03-08 11:26:28 · 169 阅读 · 0 评论 -
G. Privatization of Roads in Treeland
http://codeforces.com/contest/1141/problem/G题意:给树染色,一个节点为坏点是多与两条边颜色相同,在最多k个坏点下,问最少的使用颜色种类;思路:度数越大必然先是坏点,所以选度数最大的前k个当#include<algorithm>#include<set>#include<vector>#include...原创 2019-03-21 23:06:10 · 254 阅读 · 0 评论 -
L2-020 功夫传人
思路:直接dfs,记录一下得道者,搜索到就累加一下,水~#include<algorithm>#include<set>#include<vector>#include<queue>#include<cmath>#include<cstring>#include<iostream>#in...原创 2019-03-29 19:55:33 · 201 阅读 · 0 评论 -
Zipper
http://acm.hdu.edu.cn/showproblem.php?pid=1501题意:给出三个串,问是否第三个能用前两个表示,且他们的顺序不变,可以打乱;思路:dfs: 要记忆化搜索,标记s1,s2完成了匹配的位置vis[cnt1][cnt2],因为值两个位置前无论再怎么组合都可以匹配出两个串的两部分; dp:dp[i][j]=true,表示s1前i...原创 2019-03-26 19:41:51 · 528 阅读 · 0 评论 -
A. Thanos Sort
http://codeforces.com/contest/1145/problem/A题意:给数组;当数组没有sort时对半分开;直到时已经sort的,问最长的长度;思路:dfs,没sort就对半dfs;#include<algorithm>#include<set>#include<vector>#include<queue&g...原创 2019-04-10 20:16:56 · 200 阅读 · 0 评论 -
HihoCoder - 1844
https://cn.vjudge.net/problem/HihoCoder-1844题意:给定一个正整数N,请你找出最小的整数X,满足X的所有数位上数字的乘积恰好是N。 如果这样的X不存在,输出-1。思路:小于10的直接就1*n;其他从9到2开始可以除就除这样可以使得长度最短所以x最小;#include<algorithm>#include<...原创 2019-04-01 16:27:04 · 399 阅读 · 0 评论 -
F. Graph Without Long Directed Paths
http://codeforces.com/contest/1144/problem/F题意:给一个图给它的边加方向,使得没有大于等于2的边;不能就NO;思路:dfs下去每层染色1,0交替;当遇到已经染了的颜色是否和要染的相同,相同就是不行的;#include<algorithm>#include<set>#include<vector>#...原创 2019-04-10 22:34:05 · 132 阅读 · 0 评论 -
小于等于n的且每一位数字乘积最大的值
题意:给n,问小于等于n的且每一位数字乘积最大的值;思路:比它小要么变成9,要么不变;#include<algorithm>#include<set>#include<vector>#include<queue>#include<cmath>#include<cstring>#include<io...原创 2019-04-10 22:45:00 · 729 阅读 · 0 评论 -
L2-016 愿天下有情人都是失散多年的兄妹
思路:家谱图倒过来就两棵树,判断重叠的部分是否超过5代反思:没有初始化fa,mo数组,导致他们都等于0是会判定为相等! dfs要确保父亲和母亲都要符合条件,所以要返回bool;一条路符合是不行的;#include<algorithm>#include<set>#include<vector>#include<queue>#...原创 2019-03-28 22:07:44 · 280 阅读 · 0 评论 -
L2-026 小字辈
思路:先dfs找出最长的路劲,再dfs取最长路劲的节点#include<algorithm>#include<set>#include<vector>#include<queue>#include<cmath>#include<cstring>#include<iostream>#inc...原创 2019-03-29 10:33:41 · 213 阅读 · 0 评论 -
NB群友
https://ac.nowcoder.com/acm/contest/625/A题意:求一个数数z字(不包含0,1)的积在[l,r]的数有多少;思路:相当于把一个数能分成2-9乘积的种数;dfs记忆化搜索;#include<algorithm>#include<set>#include<vector>#include<queue&g...原创 2019-04-16 18:39:18 · 100 阅读 · 0 评论 -
Tree
https://ac.nowcoder.com/acm/contest/560/I题意:给一棵树分成k部分,是的每部分节点的权总和最小的最大;思路:二分每部分的权和,看能分出来的部分是否符合k;反思:二分的思想不够强啊!割一条边分开的就是这个根的权加上它字节的的权!#include<algorithm>#include<set>#include<...原创 2019-04-13 20:22:39 · 110 阅读 · 0 评论 -
D. Serval and Rooted Tree
http://codeforces.com/contest/1153/problem/D题意:n个节点的树,叶子可以任意分别给1~k(k为叶子个数)的值,每个节点有操作min,max分别取其子树的最小和最大的值;问根节点1最大多少;思路:每个节点记录它能表示的它叶子数量的最小的值(排序后最靠近前面的,第k大的数),min时就是只能是子树的叶子的数量了;max时就能是儿子最小的了(最靠前...原创 2019-04-14 10:52:12 · 343 阅读 · 0 评论 -
L-shapes Gym - 101845L
https://cn.vjudge.net/problem/Gym-101845L#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>#include <cstdio>#inclu...原创 2019-09-27 16:51:06 · 189 阅读 · 0 评论