随笔分类 - CSP-J复赛真题解析
摘要:原题链接:https://www.luogu.com.cn/problem/P1983 题意解读:由于“如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠”。因此,在始发站和终点站之间,能停靠的车站都是级别较高的,没有停靠的车站都是级别较低的,计算最少有多少个不同级
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1982 题意解读: 特征值:第i个同学的特征值是1~i中最大子段和,分数:第i个同学分数是前1~i-1个同学的分数+特征值最大值,求最大分数。 解题思路: 第一步:先计算特征值f[i],f[i]等于1~i中所有数的最大子
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1981 题意解读:中缀表达式求值,只有+,*,没有括号,保留后4位。 解题思路: 中缀表达式求值的典型应用,采用两个栈:符号栈、数字栈,对于没有括号的情况,只需要如下步骤: 1、 遍历表达式每一个字符 2、如果遇到数字,
阅读全文
摘要:原题链接:https://www.luogu.com.cn/record/160821231 题意解读:统计1~n中x的个数。 解题思路:枚举每个数,提取每一位,判断是否等于x。 100分代码: #include <bits/stdc++.h> using namespace std; int n,
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1078 题意解读:1~n个国家,每个国家有自己的文化,不同国家文化可以相同,要从起点遍历到终点,已经学习过的文化不能重复学习,已经学习过的文化被某个文化歧视的国家也不能遍历,且不同国家之间有边,边有不同的距离,计算从起点
阅读全文
摘要:原题链接: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-
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1076 题意解读:n+1层楼,每层楼m个房间,编号0~m-1成环状,每个房间有一个指示牌数字(表示逆时针遇到第几个有楼梯的房间后上楼),有的有向上的楼梯,给定一个底层的起始房间,计算到首次到每一层(1~n层)的房间指示牌
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1075 题意解读:求n的两个素因子中较大的一个。 解题思路: 数论的简单题,关键在于要知道一定有一个素因子不超过sqrt(n),而另一个素因子必然大于或等于sqrt(n),这样才能减少枚举时间。 100分代码: #inc
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1310 题意解读:+代表按位或运算,*代表按位与运算,给定一个没有填数字的表达式,要求结果为0的数字方案数。 解题思路: 下面一步一步,由浅入深的来解决本题 思路一(20分做法): 观察得知,20%的数据,只有10个符号
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1309 题意解读:2n个人,每次按分数从大到小排名,相邻两人比赛,胜者得1分,r轮后,第q个人是谁。 解题思路: 如果直接使用模拟法,每轮比赛后都进行一次排序,总的时间复杂度是r*2n*log2n,大概在50*2*10^
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1308 题意解读:给定单词a,文本b,在b中找a的个数,并找a第一次出现的位置,注意b中任何位置可能含有多个连续空格。 解题思路: 通过双指针找b中每一个单词的首、尾位置i,j,与a进行一一比较即可。 注意1:比较时不考
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1307 题意解读:将整数反转。 解题思路: 1、读入整数n 2、记录正负,n转正数 3、定义结果num = 0,每次提取n的个位数,num = num * 10 + n % 10,然后n = n / 10 4、直到处理完
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1199 题意解读:人机轮流选将,电脑策略就是破坏可能和人已选能组成最大默契值的将,问人是否必胜,求出站的一对武将的默契值。 解题思路: 贪心题通常比较难以下手,经过分析,人肯定不可能选到每一行的最大默契值,因为电脑会破坏
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1158 题意解读:用两套拦截系统拦截全部导弹,计算最小的拦截系统半径平方和。 解题思路: 错误的思路: 枚举每一个导弹,计算到两套系统的距离,距离谁近就归属哪套系统管。 错误原因: 举个反例,假设只有两个导弹, 第一个导
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1190 题意解读:n个人在m个水龙头排队接水,每个人接水量不同,接完水的排队的人可以接上,求总的接水时间。 解题思路: 1、先把前m个人安排在m个水龙头 2、对于m后面的每一个人,都排在目前m个水龙头总接水时间最短的后面
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1179 题意解读:统计l~r之间的整数包括多少个数字2。 解题思路: 枚举每一个数,对每一个数的每一位数字进行判断。 100分代码: #include <bits/stdc++.h> using namespace st
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1070 题意解读:1~n个环形机器人工厂,相邻工厂之间的道路是1~n,每个时刻可以从任意工厂购买机器人,走不超过p时间,不同工厂购买机器人花费不同的金币,不同时刻走到不同道路也能得到不同的金币,问一共m时间,最多可以得到
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1069 题意解读:一个数s代表细胞经过一天分裂的个数,则经过t天后个数为st,要计算经过几天后能整除m1m2,也就是st % m1m2 == 0,有多个s,要计算天数最少就可以满足条件的。 解题思路: 直接求st % m
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1068 题意解读:根据题意,用模拟法,求出分数线所在位置,然后计算分数线,最后输出结果即可。 解题思路: 1、分数线是按从大到小排名来设定,因此数据因为按照分数从大到小排序,如果分数相同,需要安装报名号从小到大排序 2、
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1067 题意解读: 模拟法依次输出多项式内容即可,但是需要考虑的周全,主要有以下关键点: 1、系数为0时不输出多项式 2、第一个符号,只有负号才输出 3、次数不为0时,不输出为1的系数;次数为0时,输出所有系数 4、次数
阅读全文