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

摘要:原题链接:https://www.luogu.com.cn/problem/P5663 题意解读:工人是图中的点,传送带是图中的无向边,给出q个询问a, l,判断是否能有一条1号点到a点的路径为l。 解题思路: 考试的关键是拿分!同样可以来面向数据编程: 1、测试点 1∼4,1≤𝑛,𝑚≤1000 阅读全文
posted @ 2024-06-13 10:13 hackerchef 阅读(228) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5662 题意解读:n件物品,t天每天有不同的价格,类似股票,初始有m金币,每天都可以无限次买卖,问最后最多可以达到多少金币。 解题思路: 考试中一定要学会面向数据编程! 1、对于 10% 的数据,𝑇=1 只有1天的情况 阅读全文
posted @ 2024-06-12 14:32 hackerchef 阅读(156) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5661 题意解读:坐一次地铁得到一张优惠券,坐公交可以已使用金额大于等于票价的优惠券,优惠券45分钟之内有效,计算所有乘车记录的总花费。 解题思路: 采用队列记录所有坐地铁得到的优惠券; 每次都将过期优惠券从队列中踢出, 阅读全文
posted @ 2024-06-11 17:16 hackerchef 阅读(270) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5660 题意解读:统计字符串中1的个数 解题思路:直接枚举判断。 100分代码: #include <bits/stdc++.h> using namespace std; int main() { char c; in 阅读全文
posted @ 2024-06-11 15:29 hackerchef 阅读(96) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5018 题意解读:找到是对称二叉树的最大子树节点数。 解题思路: 1、先统计每一个节点为子树的节点数 int dfs1(int root) { if(root == -1) return 0; return cnt[ro 阅读全文
posted @ 2024-06-11 15:18 hackerchef 阅读(217) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5017 题意解读:先将问题进行抽象、建模。 设一条数轴,从左到右,每个点对应一个时刻,每个时刻可能有多个人到达,然后有若干个发车时刻,每两个发车时刻间隔必须>=m,每个人的等待时长就是到最近一个发车时刻的时间累加,计算所 阅读全文
posted @ 2024-06-10 14:24 hackerchef 阅读(191) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5016 题意解读:计算在哪一号兵营增加s2名士兵,使得龙虎双方势力相差最小。 解题思路: 1、先根据初始情况,计算龙、虎双方各自的势力,包括p1号兵营增加s1个士兵 2、在枚举在1~n号兵营增加s2个士兵时,龙、虎双方的 阅读全文
posted @ 2024-06-09 12:24 hackerchef 阅读(207) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5015 题意解读:统计字母、数字的个数。 解题思路:直接枚举判断,对于库函数的熟练可以更加高效。 100分代码: #include <bits/stdc++.h> using namespace std; int mai 阅读全文
posted @ 2024-06-09 11:54 hackerchef 阅读(72) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3957 题意解读:有n个格子,每个格子有不同的距离和分数,从起点,每次可跳距离为d,用g金币后可跳距离范围可以变成max(d-g,1) ~ d+g, 求最小的g,使得可跳跃得分不少于k。 解题思路: 1、单调性分析: 如 阅读全文
posted @ 2024-06-09 11:49 hackerchef 阅读(232) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3956 题意解读:计算从(1,1)走到(m,m)的最小花费,有几个限定: 同色格子可以走,花费为0; 不同色格子可以走,花费为1; 有色格子可以走到无色格子,花费为2,且用将无色格子临时染色; 无色格子不能走到无色格子。 阅读全文
posted @ 2024-06-07 16:45 hackerchef 阅读(158) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3955 题意解读:给出n个图书编号,q个需求码,找到后缀与需求码匹配的最小图书编号,没有输出-1。 解题思路:先对图书编号排序,用枚举法遍历每一个图书编号,看后缀是否与需求码相同。 100分代码: #include <b 阅读全文
posted @ 2024-06-07 11:22 hackerchef 阅读(242) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3954 题意解读:按比例计算乘积。 解题思路:简单模拟。 100分代码: #include <bits/stdc++.h> using namespace std; int main() { int a, b, c; c 阅读全文
posted @ 2024-06-07 11:06 hackerchef 阅读(60) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2119 题意解读:在一组数里找出所有的Xa,Xb,Xc,Xd的组合,使得满足Xa<Xb<Xc<Xd, Xb-Xa=2(Xd-Xc), Xb-Xa<(Xc-Xb)/3,并统计出每个数作为A,B,C,D出现的次数。 解题思路 阅读全文
posted @ 2024-06-07 10:05 hackerchef 阅读(200) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2058 题意解读:计算24小时时间窗口内不同国家的数量,是队列的典型应用。 解题思路: 本题需要用到两个关键的数据结构:队列、数组 队列用来保存24小时内到达的船的时间,数组用来保存24小时内每个国家有多少人 每到一只船 阅读全文
posted @ 2024-06-06 13:07 hackerchef 阅读(73) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2010 题意解读:计算两个日期之间有多少个日期是回文。 解题思路: 如果通过枚举两个日期之间的所有日期,然后判断回文,则会有几个问题: 枚举数据规模在10^7级别,再加上对于日期加一天、判断回文等处理,有可能超时,而且对 阅读全文
posted @ 2024-06-06 12:55 hackerchef 阅读(144) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1909 题意解读:在多中包装的铅笔中选择一种,买够总数大于等于n只铅笔,计算选择哪一种花费最少,输出最少的钱数。 解题思路: 此题关键在于只选择一种包装来买,这样就枚举每一种就好了,否则就成了背包问题。 关键流程: 1、 阅读全文
posted @ 2024-06-06 11:27 hackerchef 阅读(154) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2672 题意解读:N家住户,每家住户与出入口距离是Si米,推销员每走1米疲劳值+1,向第i家住户推销疲劳值+Ai,推销员推销完原路返回出口,计算在向不同数量X的住户推销时,能达到的最大疲劳值。 解题思路: 本题是一种贪心 阅读全文
posted @ 2024-06-06 10:58 hackerchef 阅读(98) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2671 题意解读:找到所有符合条件的三元组,累加三元组的分数,结果对10007取模。 解题思路: 仔细读题,并分析数据规模,1~4个数据点可以通过O(n^2)复杂度解决,也就是枚举法。 1、枚举法 要求x < y < z 阅读全文
posted @ 2024-06-05 17:04 hackerchef 阅读(83) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2670 题意解读:模拟法即可。对于每一个格子,如果是地雷则直接输出*,否则计算周围有几个地雷,再输出。 100分代码: #include <bits/stdc++.h> using namespace std; cons 阅读全文
posted @ 2024-06-05 10:04 hackerchef 阅读(61) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P2669 题意解读:每连续i(1,2,3.....)天获得i枚金币,k天一共获得多少金币。 解题思路: 直接枚举连续的天数i,如果当前剩余的k天>=i,则金币累加i * i,同时剩余天数k = k - i 最后,要把剩余k 阅读全文
posted @ 2024-06-05 10:04 hackerchef 阅读(99) 评论(0) 推荐(0)