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