随笔分类 -  DFS

摘要:606. 根据二叉树创建字符串 Solution 思路:最开始的思路就是简单的先序遍历,然后就可以得到带有空括号的字符串,再处理即可,代码都写了,然后发现有问题,还是在遍历的时候控制比较好,然后就开始无脑乱改,发现逻辑是通的,不过代码已经成狗屎了,删了重新写,梳理逻辑,1Y 主要是叶节点和非叶节点的 阅读全文
posted @ 2022-03-19 10:54 Frontierone 阅读(25) 评论(0) 推荐(0)
摘要:397. 整数替换 Solution 思路:BFS或者DFS,但是最大范围是2^31-1,会超出int的最大范围。还可以进行记忆化搜索。题解中面对奇数的情况,可以等效为2步到达偶数,即$2+Math.min(dfs(\frac{val +1}{2},dfs(\frac{val-1}{2}))\(,这 阅读全文
posted @ 2022-03-18 11:34 Frontierone 阅读(62) 评论(0) 推荐(0)
摘要:1219. 黄金矿工 Solution 思路:第一个想法是有点类似数塔dp的感觉,但是这里的起点是随机,而且规模不大,所以可以逐个枚举起点,然后dfs搜索即可。长时间不写,判断新点是否可行时,传入了旧的点,人麻了。 class Solution { int ans = 0; int[][] grid 阅读全文
posted @ 2022-02-05 18:03 Frontierone 阅读(37) 评论(0) 推荐(0)
摘要:Solutions A. Filling Diamonds 通过猜测就欧克了。 发现如果竖直放置就只有一种摆放方法了。 B. Sorted Adjacent Differences 排序后,比较显然的就相距最远的放右边,然后就这样放就可以了。 C. Powered Addition 这个题稍加分析, 阅读全文
posted @ 2020-04-30 22:03 Frontierone 阅读(193) 评论(0) 推荐(0)
摘要:Solutions A. Ichihime and Triangle 直接让三边是$a,c,c$即可 B. Kana and Dragon Quest game 贪心,只要操作1不会反向增加就一直用,然后再判断操作2能不能把血扣完。 阅读全文
posted @ 2020-04-19 11:49 Frontierone 阅读(220) 评论(0) 推荐(0)
摘要:Solutions A. Creating a Character 题意: 给出初始体力值$str$和智力值$int$,然后你可以把$exp$分别分配给这两个数值,使得分配后$str int$,求有多少种分配方案。 思路: 特判不可能情况:$str + exp int$,乱搞 正解: 假设分别分配给 阅读全文
posted @ 2019-09-13 18:08 Frontierone 阅读(210) 评论(0) 推荐(0)
摘要:Contest Info "Contest Link" Solved| A | B | C | D | E | F | G | H | I | J | K : : | : : | : :| : :| : : | : :| : :| : :| : : | : : | : : | : : 2/12 |O 阅读全文
posted @ 2019-08-06 22:38 Frontierone 阅读(208) 评论(0) 推荐(0)
摘要:Xor and Sum 之前做过一道异或的。感觉有点眼熟,发现不是。由于对异或一点也不熟悉。所以直接放弃了 首先写出来几项看看。 a: 1 2 4 1 1 2 4 prex : 1 3 7 6 7 5 1 prey: 1 3 7 8 9 11 15 可以发现如果区间异或和==区间和,那么缩小区间还是 阅读全文
posted @ 2019-04-12 19:07 Frontierone 阅读(210) 评论(0) 推荐(0)
摘要:读题可以知道是DFS,注意一点,题目说的是赢过,所以str[i][j]=‘W',那么g[i][j]=1,str[i][j]='L',g[j][i]=1 然后就常规搜索即可,还有一点就是剪枝,如果没有可以回到0的点,就直接返回。 阅读全文
posted @ 2019-03-06 16:06 Frontierone 阅读(148) 评论(0) 推荐(0)
摘要:A、题目意思理解就过了 B、读了题目没有写,但是依稀感觉是前缀和,不过写残了。题解代码非常简洁。 维护前缀、后缀奇数和,维护前缀、后缀偶数和。 题解把遍历过的数都减去了,也就维护了后缀和。 前缀过一个加一个。 1 #include<bits/stdc++.h> 2 typedef long long 阅读全文
posted @ 2019-02-28 20:40 Frontierone 阅读(226) 评论(0) 推荐(0)
摘要:很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。 J是T国 阅读全文
posted @ 2019-02-17 16:17 Frontierone 阅读(165) 评论(0) 推荐(0)
摘要:单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分 阅读全文
posted @ 2019-02-17 11:08 Frontierone 阅读(316) 评论(0) 推荐(0)
摘要:100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 从标准输入读入一个正整数N (N<1000*10 阅读全文
posted @ 2019-02-15 22:24 Frontierone 阅读(866) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=2531题目大意:给你N个点,然后以矩阵形式给你了 Cij 的权值, 然后让你把这N个点,分成两部分,使 值最大。思路:显然对于深搜极差的我体验感极差,首先分为 0,1 集合,在1里面就减,在0里面就加... 阅读全文
posted @ 2018-08-03 10:36 Frontierone 阅读(115) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=2488题目大意:可以从任意点开始,只要能走完棋盘所有点,并要求字典序最小,不可能的话就impossible;思路:dfs+回溯,因为字典序最小,如果可以的话,肯定是从(1,1)开始的。然后递归搜索该点的所有方... 阅读全文
posted @ 2018-08-03 09:49 Frontierone 阅读(67) 评论(0) 推荐(0)
摘要:题目链接:点击打开链接题目大意:跑毒,跑到安全区,每个地方有敌人,输出路线经过的最少敌人的数量;-1是起点。 -2是安全区输入56 6 0 -2 34 2 1 2 12 2 8 9 78 1 2 1 -19 7 2 1 2输出9输入562 33 18 -2 8585 ... 阅读全文
posted @ 2018-05-05 23:54 Frontierone 阅读(147) 评论(0) 推荐(0)
摘要:题目链接:点击打开链接Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组... 阅读全文
posted @ 2018-04-25 23:05 Frontierone 阅读(97) 评论(0) 推荐(0)
摘要:题目链接:点击打开链接Problem DescriptionSuppose that we have a square city with straight streets. A map of a city is a square board with n rows ... 阅读全文
posted @ 2018-04-19 10:55 Frontierone 阅读(174) 评论(0) 推荐(0)