随笔分类 - CSP-J复赛真题解析
摘要:原题链接:https://www.luogu.com.cn/problem/P11230 题意解读:有n个人,每个人有一组整数序列,从任意整数1开始,取长度[2,k]的子序列作为一个龙,然后在其他人的序列中选长度[2,k]的子序列跟上一个子序列首尾相连(上一个子序列的尾等于当前子序列的头)称为接龙,
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P11229 题意解读:求n根木棍拼出的最小数。 解题思路: 每个数字需要的木棍根数为: 数字 所需木棍根数 0 6 1 2 2 5 3 5 4 4 5 5 6 6 7 3 8 7 9 6 由于要拼出的数字尽可能小,那么所需
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P11228 题意解读:n*m地图上'.'是空地,'x'是障碍,初始位置x,y,方向0,1,2,3分别表示向右、下、左、上,初始方向d,对于每一步操作,如果下一个位置不是障碍且没有出界,则走到下一个位置,否则位置不变,方向变
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P11227 题意解读:一副牌52张,给定n张牌,计算离凑满一副牌还差几张。 解题思路:直接统计n张牌中有cnt张不同的牌,借助于set<string>即可容易搞定,结果就是52-cnt 100分代码: #include <
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P9751 题意解读: 在有向图中(每条边的权值是可通过的最早时间,通过每条边所用的时间是1,也可以认为每条边的路径长度是1),在某个k的整数倍时间点start出发,从1号点出发,计算到达n点的最短路径dist,使得dist
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P9750 题意解读:根据公式,输出结果。 解题思路:本题是一道较为繁琐的模拟题,分情况讨论即可,需要细心。 先计算deta = b * b - 4 * a * c 1、deta < 0则无根,输出NO 2、如果有根,较大的
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P9749 题意解读:有n个加油点,每个加油点距离、油价不同,每升油走d公里,加油必须整升加,问走完所有点最少加油的金额。 解题思路: 本题有两种思考方式: 1、先加油,看能走到哪里 从1号点开始,考虑最少应该加多少油 显然
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P9748 题意解读:n个苹果,每天从第1个开始,每三个苹果拿走第一个,问几天拿完,最后一个苹果第几天拿走。 解题思路: 由于每三个苹果拿一个,每天拿走的苹果数量是 ⌈n / 3⌉,即(n+2) / 3 n每天都要减去(n+
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P8816 题意解读:二维平面中有n个点,从某个点开始,只能往右或者往下,计算能选中的最长连续的点数,可以任意增加m个点的位置使得“上升点列”连续。 解题思路: 1、考虑m=0的情况 这时就是在n个点中选最长上升点列,由于上
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P8815 题意解读:计算逻辑表达式的值以及&,|短路操作的次数。 解题思路: 又是一道经典的中缀表达式的变形问题, 如果对中缀表示式如何求值不理解,移步https://www.acwing.com/problem/cont
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P8814 题意解读:根据公式计算p,q的值。 解题思路: 已知 1、n = pq 2、ed = (p-1)(q-1) + 1 => ed = pq - p - q + 2 由1、2左右相减可得到: n - ed = p +
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P8813 题意解读:计算a^b,如果大于1e9输出-1,否则输出结果。 解题思路:直接开long long计算即可。 100分代码: #include <bits/stdc++.h> using namespace std
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7912 题意解读:连在一起的相同水果形成“块”,每一轮从每一块中挑第一个放入篮子,输出每轮挑的水果的编号。 解题思路: 本题要解决几个问题: 1、将水果分块 2、从块中取出第一个水果 3、将剩下的块进行合并,再重复从每一
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7911 题意解读:服务器server建立连接,客户端client加入连接,建立和加入连接都要指定一个ip地址,对已经建立过连接的ip地址再次建立连接会失败,加入连接没有限制,根据要求进行输出。 解题思路: 此题有两个关键
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7910 题意解读:题目说的“插入排序”其实代码是冒泡排序,有两种操作:1、修改x位置的数字,2、输出x位置的数字在排序后在哪里。 解题思路: 先分析数据规模,数组长度最多N=8000,操作次数最多Q=200000,修改操
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7909 题意解读:计算L~R之间数模n的最大值。 解题思路: 如果你考虑枚举L~R,每个数模n,然后求max,那么就超时了,肯定有一点小技巧在里面。 我们知道,一个数%n,最大值是n-1 不难考虑,如果R/n和L/n的的
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7074 题意解读:从起点走到终点,可以向上、向下、向右,求经过所有格子数之和最大值。 解题思路: 1、DFS暴搜 从起点开始,dfs所有到终点的路径和,求最大值,注意要回溯。 20分代码: #include <bits/
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7073 题意解读:给定一个后缀表达式,其中变量都有初始值,q个询问,每次将一个变量取反,求后缀表达式的结果。 解题思路: 1、堆栈模拟法 我们知道,对于后缀表达式,可以借助堆栈进行运算,依次读取操作数和操作符,如果是操作
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7072 题意解读:每增加一个人的分数,计算一次当前获奖的人数,输出当前的分数线。 解题思路: 最多人数为N = 100000, 分数最高为M = 600 1、O(N*N*logN)做法 每增加一个人,对已出现的分数进行排
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P7071 题意解读:提取n的二进制位所有的1表示的整数,如果最低位是1则输出-1。 解题思路: 如果n的二进制最低为是1(n是奇数),则肯定不是优秀拆分,输出-1 否则,从低位到高位遍历n的每一个二进制位,看第i位是1,倒
阅读全文