随笔分类 -  CSP-J复赛真题解析

摘要:原题链接:https://www.luogu.com.cn/problem/P2258 题意解读:从矩阵中挑选出子矩阵(行、列都不一定连续),计算相邻元素差的绝对值之和最小值。 解题思路: 1、DFS+DFS 看到题目之后,直觉上应该是一个DP问题,但是考试中不一定能想到DP转移方程,不要放弃,可以 阅读全文
posted @ 2024-06-05 09:43 hackerchef 阅读(264) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2239 题意解读:计算螺旋矩阵的第i行j列的数。 解题思路: 1、模拟法 按照螺旋矩阵的数字增长方向,依次枚举 定义四个方向(右、下、左、上)的坐标变换int dx[4]={0,1,0,-1},dy[4]={1,0,-1 阅读全文
posted @ 2024-06-04 11:43 hackerchef 阅读(148) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2118 题意解读:给定a、b,将其简化为a'/b',a'、b'互质,且a'/b'>=a/b,a'/b'-a/b最小 解题思路: 枚举a'、b'的所有可能组合,因为都小于l,所以枚举时间可控 判断a'、b'的最大公约数是否 阅读全文
posted @ 2024-06-03 22:36 hackerchef 阅读(272) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2141 题意解读:在一个互不相同的数组中,枚举两个不同数之和,和也在数组中,统计不同的和的个数。 解题思路: 用数组、哈希表分别记录每一个数 枚举每两个不同的数,求和,如果和在哈希表中也存在,则ans++,并且在哈希表中 阅读全文
posted @ 2024-06-03 22:31 hackerchef 阅读(211) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1983 题意解读:由于“如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠”。因此,在始发站和终点站之间,能停靠的车站都是级别较高的,没有停靠的车站都是级别较低的,计算最少有多少个不同级 阅读全文
posted @ 2024-06-03 16:34 hackerchef 阅读(65) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1982 题意解读: 特征值:第i个同学的特征值是1~i中最大子段和,分数:第i个同学分数是前1~i-1个同学的分数+特征值最大值,求最大分数。 解题思路: 第一步:先计算特征值f[i],f[i]等于1~i中所有数的最大子 阅读全文
posted @ 2024-06-03 16:24 hackerchef 阅读(99) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1981 题意解读:中缀表达式求值,只有+,*,没有括号,保留后4位。 解题思路: 中缀表达式求值的典型应用,采用两个栈:符号栈、数字栈,对于没有括号的情况,只需要如下步骤: 1、 遍历表达式每一个字符 2、如果遇到数字, 阅读全文
posted @ 2024-06-01 22:09 hackerchef 阅读(109) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/record/160821231 题意解读:统计1~n中x的个数。 解题思路:枚举每个数,提取每一位,判断是否等于x。 100分代码: #include <bits/stdc++.h> using namespace std; int n, 阅读全文
posted @ 2024-05-31 17:12 hackerchef 阅读(125) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1078 题意解读:1~n个国家,每个国家有自己的文化,不同国家文化可以相同,要从起点遍历到终点,已经学习过的文化不能重复学习,已经学习过的文化被某个文化歧视的国家也不能遍历,且不同国家之间有边,边有不同的距离,计算从起点 阅读全文
posted @ 2024-05-31 17:03 hackerchef 阅读(140) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1077 题意解读:n种花选m个的选法,每种花数量为ai。 解题思路: 设dp[i][j]表示前i种花选j个的选法 对于第i种花,可以选0,1,2...min(ai, j)个 则有递推式:dp[i][j] = ∑dp[i- 阅读全文
posted @ 2024-05-31 08:56 hackerchef 阅读(54) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1076 题意解读:n+1层楼,每层楼m个房间,编号0~m-1成环状,每个房间有一个指示牌数字(表示逆时针遇到第几个有楼梯的房间后上楼),有的有向上的楼梯,给定一个底层的起始房间,计算到首次到每一层(1~n层)的房间指示牌 阅读全文
posted @ 2024-05-31 08:54 hackerchef 阅读(511) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1075 题意解读:求n的两个素因子中较大的一个。 解题思路: 数论的简单题,关键在于要知道一定有一个素因子不超过sqrt(n),而另一个素因子必然大于或等于sqrt(n),这样才能减少枚举时间。 100分代码: #inc 阅读全文
posted @ 2024-05-30 17:27 hackerchef 阅读(88) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1310 题意解读:+代表按位或运算,*代表按位与运算,给定一个没有填数字的表达式,要求结果为0的数字方案数。 解题思路: 下面一步一步,由浅入深的来解决本题 思路一(20分做法): 观察得知,20%的数据,只有10个符号 阅读全文
posted @ 2024-05-30 17:05 hackerchef 阅读(316) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1309 题意解读:2n个人,每次按分数从大到小排名,相邻两人比赛,胜者得1分,r轮后,第q个人是谁。 解题思路: 如果直接使用模拟法,每轮比赛后都进行一次排序,总的时间复杂度是r*2n*log2n,大概在50*2*10^ 阅读全文
posted @ 2024-05-30 11:14 hackerchef 阅读(103) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1308 题意解读:给定单词a,文本b,在b中找a的个数,并找a第一次出现的位置,注意b中任何位置可能含有多个连续空格。 解题思路: 通过双指针找b中每一个单词的首、尾位置i,j,与a进行一一比较即可。 注意1:比较时不考 阅读全文
posted @ 2024-05-29 13:51 hackerchef 阅读(191) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1307 题意解读:将整数反转。 解题思路: 1、读入整数n 2、记录正负,n转正数 3、定义结果num = 0,每次提取n的个位数,num = num * 10 + n % 10,然后n = n / 10 4、直到处理完 阅读全文
posted @ 2024-05-29 11:43 hackerchef 阅读(177) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1199 题意解读:人机轮流选将,电脑策略就是破坏可能和人已选能组成最大默契值的将,问人是否必胜,求出站的一对武将的默契值。 解题思路: 贪心题通常比较难以下手,经过分析,人肯定不可能选到每一行的最大默契值,因为电脑会破坏 阅读全文
posted @ 2024-05-29 11:34 hackerchef 阅读(71) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1158 题意解读:用两套拦截系统拦截全部导弹,计算最小的拦截系统半径平方和。 解题思路: 错误的思路: 枚举每一个导弹,计算到两套系统的距离,距离谁近就归属哪套系统管。 错误原因: 举个反例,假设只有两个导弹, 第一个导 阅读全文
posted @ 2024-05-28 17:44 hackerchef 阅读(281) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1190 题意解读:n个人在m个水龙头排队接水,每个人接水量不同,接完水的排队的人可以接上,求总的接水时间。 解题思路: 1、先把前m个人安排在m个水龙头 2、对于m后面的每一个人,都排在目前m个水龙头总接水时间最短的后面 阅读全文
posted @ 2024-05-28 15:40 hackerchef 阅读(198) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1179 题意解读:统计l~r之间的整数包括多少个数字2。 解题思路: 枚举每一个数,对每一个数的每一位数字进行判断。 100分代码: #include <bits/stdc++.h> using namespace st 阅读全文
posted @ 2024-05-28 15:03 hackerchef 阅读(251) 评论(0) 推荐(0)