- 博客(40)
- 收藏
- 关注
原创 P3152 正整数序列
那你就做一个k=1,在k<=n时一直ans++,大于时就跳出去,输出ans。题目意思就是说问你一个数进行多少次+1/-1的操作能变成0。
2024-05-03 18:17:20
224
1
原创 P1094 [NOIP2007 普及组] 纪念品分组
解法就是先排序,然后定义两个指针,指向数组的头和尾,然后如果符合题意,就l++,r--然后解法++;如果不符合题意,就直接l--就行了,往左查找解法。一道裸贪心啊,没什么难度,就是证明比较麻烦,但是题解里写的听清楚的,就先不放了。
2024-05-03 18:09:45
244
原创 P5412 [YNOI2019] 排队
题目大家都看懂了吧,就是给你一串小数,让你给它们排序,然后按男生女生输出。其实知识点就是一个结构体排序啊,而且也没有什么坑点......因为数据比较水,所以没有写得那么严谨(
2024-05-03 18:03:22
570
原创 2024.3.16的周总结
因为要看一个数出现了几次,所以先用sort快排一下,再看一个数出现了几次就行。这只是一周一部分题的小节,日后会写知识点笔记。关键在于二进制和十进制的互换,不详细说。参考题解的,因为我一开始也没有想到dp。一道dfs和dp均为正解的一道题。(从题解那里学坏的:()
2024-03-16 20:52:36
397
原创 P2040 打开所有的灯
直接输入进这个二维数组然后把ans要判断min的值设大一点就行了。这道题dfs不需要用什么值来判定边界,只需要一个step来记录步数就行了。首先dfs要判断是否符合题意,如果符合题意就更新最短路;如果不符合题意就枚举。用深度优先搜索实现的一个填色题。如果是关的就把周围四个包括。
2024-03-01 22:09:54
635
原创 P1927 防护伞
这道题可以简化为“先枚举所有点,然后把这些点到另外点距离的最大距离和其他点比较,求出最小距离”。项,枚举自身以外的所有点,判断自身和自身以外的所有点的距离中最大的距离。题目中要求我们选择最有性价比的伞,所以要找半径最小的。所以我们要选择距离最远的点。作业出了这道题,写一篇题解纪念一下。
2024-02-24 17:53:42
392
原创 P5461 赦免战俘
函数使用递归的方式处理每个子矩阵。对于每个子矩阵,函数首先处理左上角的子矩阵(所有作弊者都被赦免),然后递归处理剩下的三个子矩阵。由于左下角子矩阵在上一轮递归中已经包含在当前子矩阵的左上角子矩阵内,因此不需要单独处理。
2024-02-22 19:09:01
449
原创 P2036 [COCI2008-2009 #2] PERKET
需要注意的是,代码中并没有直接处理“没有食材”的情况,因为题目要求“我们必须添加至少一种配料”。相等时(即酸度和苦度都为1,因为没有食材的酸度和苦度应该是0),递归会立即返回,不会更新。dfs搜索题,关键在于判断酸度和苦度的绝对差最小。这一行代码来保证的。
2024-02-21 11:48:23
452
原创 P1596 [USACO10OCT] Lake Counting S
找到一个点就开始搜索,上下左右查找直到找到了边界,最后返回。将搜索过的路标记成非水坑,防止重复搜索。
2024-02-16 13:47:13
661
1
原创 B3623 枚举排列 (深度优先搜索)
这道题就是一个典型的深度优先搜索的考法,为全排列问题,难点在于如何标记这个数使没使用,并得到新的解时清空标记。
2024-02-08 18:23:41
590
原创 B3621 枚举元组 (深度优先搜索)
考点为深度优先搜索,其实是全排列问题。但是也有区别,这道题可以把所有的排列都输出,全排列问题有一定的限制。我们就把标记的代码删掉就可以了。
2024-02-07 16:20:23
507
1
原创 B3625 迷宫寻路
本体考点为宽度优先搜索(bfs,又称广度优先搜索),当然也不会限制我们使用别的思路。样例给出的图路线如下图:那搜索的顺序是什么呢?观察下面的图:第一步:第二步:第三步:第四步:第五步:第六步:第七步:注意,这里就会有两个可行的路,如果向上:就会发现:没有路可以走,就往前回溯一步:就会发现往右走是一条可行的路,于是这就是第八步。则第九步:到达终点。以上就是深搜的过程:尝试可行的路,如果走的路不行,就往前回溯搜索程序:1.边界为机器猫的x,y值分别等于n、m时。
2024-02-05 11:29:16
1417
1
原创 P1036 [NOIP2002 普及组] 选数
既然要搜索,要有dfs函数,搜索每一个数。这道题不需要写回溯代码,只需要判断然后是否加上可能性即可.。题目考点为深度优先搜索。
2024-02-03 18:41:08
1099
1
原创 P2670 [NOIP2015 普及组] 扫雷游戏
一个建议:这道题不需要开二维char,只需要每次输入时把字符串存进char变量里,然后作int数组标记地雷为1,不是地雷为0。枚举整个方阵,枚举到不是地雷时就枚举周围的种类。
2024-02-02 10:36:50
352
原创 P1219 [USACO1.5] 八皇后 Checker Challenge
输出顺序就是从上到下,不用担心两个皇后在同一列是怎么表示,因为这不是一个正确的解。标记皇后要行、列、对角线,可以用x-i+15来表示对角线是否被占领。这道题的难点其实在于如何表示出一个正确的解。
2024-02-02 09:55:40
398
原创 P2404 自然数的拆分问题
任何一个大于 1 的自然数 n,总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。考点是回溯,但是暴力枚举/递归也可以,但是显然这道题深搜是正解。输入:待拆分的自然数 n。输出:若干数的加法式子。数据保证,2≤n≤8。
2024-02-02 09:03:00
359
原创 P1002 [NOIP2002 普及组] 过河卒
同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图下中的C点和P1,……棋盘用坐标表示,A点(0,0)、B点(n, m) (n,m为不超过20的整数),同样马的位置坐标是需要给出的,C≠A且C≠B。现在要求你计算出卒从A点能够到达B点的路径的条数。这样递推式写出来了,但是卒走的路上还有碍事的马。这个式子的意思就是:走到一个点的距离,就是这个点的头上的点要走的步数加上这个点的左边的点要走的步数。从A点能够到达B点的路径的条数。给出n、m和C点的坐标。
2024-01-31 16:22:24
337
原创 B3713 [语言月赛202302] 对了,还有花,少女,银河
这句话告诉我们解决这道题需要用到字符串拼接的操作。得到解题:1.将输入的几个“考号” “源程序名”等需要我们判断的字符串拼接起来(也就是标准格式) 2.与输入的文件名判断。
2024-01-30 20:36:33
509
1
原创 1219:马走日
每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。题目要求我们有n*m的棋盘,于是我们就有n*m个点。b[xx][yy]=1一定要写上,因为这是马的初始位置,要标记上。每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为无法遍历一次。
2024-01-20 17:53:27
468
1
原创 1317:【例5.2】组合的输出
排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。一行两个自然数n、r(1<n<21,1≤r≤n)。现要求你用递归的方法输出所有组合。题目中需要从小到大排列。
2024-01-20 14:48:58
392
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人