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

摘要:原题链接:https://www.luogu.com.cn/problem/P1070 题意解读:1~n个环形机器人工厂,相邻工厂之间的道路是1~n,每个时刻可以从任意工厂购买机器人,走不超过p时间,不同工厂购买机器人花费不同的金币,不同时刻走到不同道路也能得到不同的金币,问一共m时间,最多可以得到 阅读全文
posted @ 2024-05-28 14:09 hackerchef 阅读(80) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1069 题意解读:一个数s代表细胞经过一天分裂的个数,则经过t天后个数为st,要计算经过几天后能整除m1m2,也就是st % m1m2 == 0,有多个s,要计算天数最少就可以满足条件的。 解题思路: 直接求st % m 阅读全文
posted @ 2024-05-28 14:08 hackerchef 阅读(161) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1068 题意解读:根据题意,用模拟法,求出分数线所在位置,然后计算分数线,最后输出结果即可。 解题思路: 1、分数线是按从大到小排名来设定,因此数据因为按照分数从大到小排序,如果分数相同,需要安装报名号从小到大排序 2、 阅读全文
posted @ 2024-05-28 14:07 hackerchef 阅读(119) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1067 题意解读: 模拟法依次输出多项式内容即可,但是需要考虑的周全,主要有以下关键点: 1、系数为0时不输出多项式 2、第一个符号,只有负号才输出 3、次数不为0时,不输出为1的系数;次数为0时,输出所有系数 4、次数 阅读全文
posted @ 2024-05-28 13:28 hackerchef 阅读(77) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1058 题意解读:在m*n的平面上,输出若干个立方体,每一个格子可以有高度不同的多个立方体。 解题思路: 此题咋一看来,无从下手,仔细分析,其实一道模拟题。 如何模拟?我们一起来解决一下几个关键问题: 1、如何画图? 要 阅读全文
posted @ 2024-05-28 13:22 hackerchef 阅读(236) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1057 题意解读:n个人围一圈,从1开始传球m次,每次可以往左或右传,计算球再次传给1的方案数。 解题思路: 求方案数,通常就是DP问题,此题DP状态并不难想,如果实在不会,也可以通过DFS暴搜得部分分。 1、DFS 6 阅读全文
posted @ 2024-05-27 17:58 hackerchef 阅读(120) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1056 题意解读:计算k行、l列通道的位置,使得上课讲话的人最少。 解题思路:贪心法。 贪心策略:通道应该优先设置在讲话人数最多的地方。 1、枚举所有交头接耳的同学(x,y) (p,q) 2、如果在同一行,即x==p,则 阅读全文
posted @ 2024-05-27 15:08 hackerchef 阅读(117) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1055 题意解读:验证ISBN最后一位是否正确。 解题思路:直接模拟,不多说,上代码。 100分代码: #include <bits/stdc++.h> using namespace std; int main() { 阅读全文
posted @ 2024-05-27 13:01 hackerchef 阅读(50) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1096 题意解读:汉诺双塔的移动次数,与经典汉诺塔的区间在于同一个尺寸盘子有两个。 解题思路: 可以直接用经典汉诺塔方法来计算,双塔的结果就最终乘以2即可。 首先想到的是递归,但是由于数据量n最大200,递归会超时,但是 阅读全文
posted @ 2024-05-27 11:20 hackerchef 阅读(221) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1095 题意解读:在有限的时间内,通过跑步或者闪烁两种方式,能跑出的最远距离是多少,以及是否能跑出出口。 解题思路: 1、贪心法 每一秒钟,都有两种选择:跑步(17米)、闪烁(60米,前提是蓝够10点,否则等待1s恢复4 阅读全文
posted @ 2024-05-26 18:16 hackerchef 阅读(115) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1094 题意解读:贪心选择 解题思路: 贪心策略: 将纪念品按价格由小到大排序,优先一大、一小,如果价格之和不超限,则分为一组,如果超限,则大的单独分为一组, 重复以上过程,直到所有数据都遍历到,采用一头一尾双指针即可。 阅读全文
posted @ 2024-05-25 13:38 hackerchef 阅读(132) 评论(0) 推荐(1)
摘要:原题链接:https://www.luogu.com.cn/problem/P1093 题意解读:本题考察排序,根据题意,先按总分从大到小排,再按语文从大到小排,以上都相同则按学号从小到大排。 100分代码: #include <bits/stdc++.h> using namespace std; 阅读全文
posted @ 2024-05-25 13:02 hackerchef 阅读(42) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1062 题意解读:给定一个序列,计算第N个。 解题思路: 仔细观察序列:1,3,4,9,10,12,13,… 再看展开式:30,31,30+31,32,30+32,31+32,30+31+32,不正是一个3进制数的计算公 阅读全文
posted @ 2024-05-25 13:01 hackerchef 阅读(318) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1061 题意解读:从编号s~t的字母从挑w个,组成一种特殊的数字,数字里字母都是升序的,给定初始数字,要计算后5个。 解题思路: 1、模拟法 模拟样例: 2 10 5 有效字母范围:b,c,d,e,f,g,h,i,j 初 阅读全文
posted @ 2024-05-24 16:26 hackerchef 阅读(124) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1060 题意解读:01背包问题,背包体积是预算限制,物品的价值是价格与重要度的乘积,计算在一定体积限制下的最大价值。 解题思路: 读入数据时,将价格作为体积,价格*重要度作为价值,然后使用一维01背包模版即可。 100分 阅读全文
posted @ 2024-05-24 14:28 hackerchef 阅读(94) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1059 题意解读:此题主要做两件事:排序+去重,用计数排序即可解决,直接给出代码。 100分代码: #include <bits/stdc++.h> using namespace std; const int N = 阅读全文
posted @ 2024-05-24 14:15 hackerchef 阅读(51) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1050 题意解读:对于一个长达100为的整数n,计算在n的t次幂后,其后k位出现和初始情况一样,求最小的t,也就是循环长度。 解题思路: 首先,看到数据规模,此题肯定是高精度; 其次,如果直接采用模拟法,进行n*n,取后 阅读全文
posted @ 2024-05-24 13:31 hackerchef 阅读(280) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1048 题意解读:在有限的时间内,采集到最大价值的草药,实际上是01背包问题,这里的总时间就是背包的体积。 解题思路: 设v[]表示每株草药的时间, w[]表示每株草药的价值, dp[i][j]表示采前i株草药在时间j内 阅读全文
posted @ 2024-05-23 14:39 hackerchef 阅读(109) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1047 题意解读:0~l距离,每米一个点,包括两端,给定若干个区间,将区间内的点移除,最后剩下多个个点。 解题思路: 本题给出两种方法 1、本题数据规模不大,可以直接通过hash数组来处理 2、拓展一下,如果数据规模达到 阅读全文
posted @ 2024-05-23 14:38 hackerchef 阅读(83) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1046 题意解读:30+伸手的高度,能够得着几个苹果。 解题思路:直接模拟。 100分代码: #include <bits/stdc++.h> using namespace std; int a[15], h, ans 阅读全文
posted @ 2024-05-23 13:12 hackerchef 阅读(33) 评论(0) 推荐(0)