C++洛谷题目讲解
文章平均质量分 91
以洛谷题为基础,解决C++问题
喷火龙廖
爱编程的小学生喷火龙Virgo
展开
-
【万题详解】洛谷P2697 宝石串
题目描述有一种宝石串,由绿宝石和红宝石串成,仅当绿宝石和红宝石数目相同的时候,宝石串才最为稳定,不易断裂。安安想知道从给定的宝石串中,可以截取一段最长的稳定的宝石串,有多少颗宝石组成。请你帮助他。绿宝石用 G表示,红宝石用 R 表示。输入格式一行,一个由 G 和 R 组成的字符串。输出格式一行一个整数,表示最长的稳定的宝石串有多少颗宝石组成。输入输出样例复制GRG4说明/提示RGGR为答案。宝石数小于等于 106。原创 2024-03-31 15:46:38 · 666 阅读 · 4 评论 -
我的创作纪念日
更多的是知识上的巩固与学习。原创 2024-03-31 10:53:14 · 2801 阅读 · 4 评论 -
【万题详解】洛谷P1616 疯狂的采药
题目背景此题为纪念 LiYuxiang 而生。题目描述LiYuxiang 是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。如果你是 LiYuxiang,你能完成这个任务吗?原创 2024-03-10 15:36:17 · 1210 阅读 · 13 评论 -
【万题详解】DFS搜索专题合集(中)
因此要开始刷习题集,每科都有一个习题集,分别有 1,s2,s3,s4 道题目,完成每道题目需要一些时间,可能不等A1,A2,…填数字方格的游戏有很多种变化,如下图所示的 4×4 方格中,我们要选择从数字 1 到 16 来填满这十六个格子(Ai,j ,其中 i=1⋯4 ,j=1⋯4)。排序的方式,是先从第一行的数字开始比较,每一行数字,由最左边的数字开始比,数字较小的解答必须先输出到文件中。每个角落上的 2×2 方格中的数字,例如左上角 A1,1+A1,2+A2,1+A2,2=34。原创 2024-03-10 11:28:58 · 1108 阅读 · 8 评论 -
【万题详解】P1048 [NOIP2005 普及组] 采药
如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。第四步:确定边界条件:先根据题目的限制条件来确定题目中给出的边界条件是否能直接推导出, 如果不行也可以尝试从边界条件反推(举个例子:a(n)→a(2)有递推关系, 但是a(2)→a(1)不符合上述递推关系, 我们就可以考虑用a(1)来倒推出a(2), 然后将递推的终点设置为a(2));第一行有 2 个整数 T(1≤T≤1000)和 M(1≤M≤100),用一个空格隔开,T 代表总共能够用来采药的时间,M 代表山洞里的草药的数目。原创 2024-03-08 21:11:01 · 896 阅读 · 14 评论 -
【万题详解】DFS搜索专题合集(上)
dfs函数如下:dfs(i,nums,sum) 思路是,在面对第i个数时,我们有两种选择,一个是加第i个数,一个是不加第i个数,加的话,我们就把i+1(处理下一个数),sums+1,sum+num[i]放到dfs里递归,不加的话,就把i+1(还是要处理下个数),nums,sum(不用动,因为没有加第i个数)放到dfs里递归。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。注意:所有的中间结果须是整数,所以一些除法运算是不允许的(例如,(2 ×2)/4 是合法的,2×(2/4)是不合法的)。原创 2024-03-08 20:32:16 · 914 阅读 · 13 评论 -
【万题详解】P1314 [NOIP2011 提高组] 聪明的质监员
抱歉,因为开学事情比较多,有一周没有更新了。原创 2024-02-23 17:33:56 · 548 阅读 · 29 评论 -
【万题详解】洛谷P1282 多米诺骨牌
即如果不旋转,第i组骨牌的结果是a[i]-b[i],所以从f[i-1][j-(a[i]-b[i])]转移过来,答案不加,如果旋转,第i组骨牌的结果是b[i]-a[i],所以从f[i-1][j-(b[i]-a[i])]转移过来,答案+1。初始值所有f[i][j]都是无穷大,f[1][a[1]]=0,f[1][b[1]]=1。(a[]和b[]分别表示第一行和第二行的数字)状态转移方程为f[i][j]=min(f[i-1][j-(a[i]-b[i])],f[i-1][j-(b[i]-a[i])]+1);原创 2024-02-10 10:55:51 · 1302 阅读 · 12 评论 -
洛谷使用指南
详细看——这样就对了!!!当显示以上页面时表示进入了注册页面。当注册好后就可以登陆了。当显示以上页面时表示进入了登录页面。原创 2024-02-08 15:16:38 · 1452 阅读 · 10 评论 -
【万题详解】洛谷P1238 走迷宫
有一个 m×n 格的迷宫(表示有 m 行、n 列),其中有可走的也有不可走的,如果用 1表示可以走,0表示不可以走,文件读入这 m×n 个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用 −1 表示无路)。优先顺序:左上右下。输入格式。原创 2024-02-08 14:40:14 · 1197 阅读 · 4 评论 -
【万题详解】洛谷P1135奇怪的电梯
链接——题目背景提供的一些数据。题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼(1≤i≤N)上有一个数字 Ki(0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如: 3,3,1,2,53,3,1,2,5 代表了 Ki(K1=3,K2=3,……),从 1 楼开始。在 1 楼,按“上”可以到 4楼,按“下”是不起作用的,因为没有 −2 楼。原创 2024-01-28 19:17:41 · 958 阅读 · 11 评论 -
【万题详解】洛谷P1510 精卫填海
事实上,东海未填平的区域还需要至少体积为 v 的木石才可以填平,而西山上的木石还剩下 n 块,每块的体积和把它衔到东海需要的体力分别为 k 和 m。最后我们就可以判断用全部的体力(也就是i==c)是否能填平,如果不能,就输出“Impossibel”,不然就一直向下找,直到找到刚好够填平时消耗的体力,用总体力一减,就是答案了,总代码只有20行,是不是很棒呢?有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。输出文件只有一行,如果精卫能把东海填平,则输出她把东海填平后剩下的最大的体力,否则输出。原创 2024-01-25 15:36:58 · 517 阅读 · 5 评论 -
【全网首发】洛谷贪心题解合集2
如果最大的a[r]不与最小的a[l]分在一组,而是a[r]与a[i]在一组,a[l]与a[j]在一组,因为a[l]=a[j],所以交换两者分组不影响后续选择,而a[r]如果不能与a[l]在一组,因为a[l]为当前最小值,所以a[r]只能单独为一组,所以贪心是 正确的。假定每个果子重量都为 1 ,并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。可以看出,所有的果子经过 n−1 次合并之后, 就只剩下一堆了。原创 2024-01-24 15:20:37 · 1085 阅读 · 4 评论 -
【万题详解】洛谷P1252 马拉松接力赛
因为博主已经考完期末考试了,所以一定会多多更新。原创 2024-01-21 08:20:33 · 666 阅读 · 2 评论 -
【万题详解】洛谷P1359 租用游艇
游艇出租站 i 到游艇出租站 j 之间的租金为 r(i,j)(1≤i原创 2024-01-20 07:45:14 · 1064 阅读 · 0 评论 -
【百题详解】洛谷P8508 做不完的作业
同时请注意,即使睡觉时间满足了要求,Eric 也不能在第二天就完成任务 2,因为 Eric 必须睡觉。作业的总量是一定的,但不同作业下发的时间是不一定的,导致每天都要花不同的时间应付作业。Eric 再在第二天加班加点,完成剩下的任务,有 11 的时间睡觉。Eric 先在第一天做任务 1,总共消耗 1的时间,用 4时间睡觉,满足至少要 5×31=35 的时间睡觉的要求。证明:假设已求出前i−1 个任务的答案,若再插入一个有更优方案,则在前i−1 个时就应插入,矛盾。如果可以完成就完成,不能做就睡觉。原创 2024-01-14 08:16:09 · 1518 阅读 · 0 评论 -
【万题详解1】洛谷P1230 智力大冲浪
第二点,排完序后,就要考虑这个游戏放在那个时间来做,很明显,我们要先处理罚款大的项,而又尽量不影响后面的游戏,只能将这个游戏放在规定最晚完成的时间段0-t的最后面t来做,若后面已经有游戏正在进行,可以考虑t-1,直到0,如果还没有对它进行安排,则这个游戏主动放弃0。第二个数5,根据贪心的策略,我们把它放在F[5]的位置,却发现F[5]已经做过了,所以一直往前推,直到找到一个没有做过的位置,并改变这个位置的状态,所以F[4]也变成做过。第三个数1,根据贪心的策略,我们把它放在F[1]的位置。原创 2024-01-13 09:12:19 · 1129 阅读 · 1 评论 -
洛谷P1196 [NOI2002] 银河英雄传说
有30000条队列,总共n次操作,分M操作与C操作,M操作是把当前第i艘飞船所在的整条队列移到第j艘飞船艘所在的队列的最后面,C操作则是询问第i艘飞船与第j艘飞船是否在同一条队列,如果在则输出第i艘飞船与第j艘飞船之间的飞船数,不包括i和j,题目不保证j在i后面,否则就输出。先来分析一下这些指令的特点,很容易发现对于每个M指令,只可能一次移动整个队列,并且是把两个队列首尾相接合并成一个队列,不会出现把一个队列分开的情况,因此,我们必须要找到一个可以一次操作合并两个队列的方法。原创 2024-01-07 08:31:29 · 963 阅读 · 1 评论 -
洛谷二分题解合集
今天带着大家根据C++:第十讲二分查找-CSDN博客继续讲一下二分的题目。原创 2024-01-06 13:07:30 · 1214 阅读 · 2 评论 -
【全网首发】洛谷贪心题解集合
那么,我们就可以利用数组中前m个位置来储存相对应位置接水的人时间之和.这样的话,每次就可以先找m个接水位置中,当前时间之和最短的来装水(即把a[i]加到a[1](当前总用时最短的位置)),就OK啦!左手数字为a[i]和a[i+1],右手数字为b[i]和b[i+1]。两人的金币数为w[i]和w[i+1]。不难看出,在这个相邻的二元组中,前面的数不受后面的影响,而后面的金币数决定于w[i],a[i],b[i]。那么 w[i+1]=P[i-1]*a[i]/b[i+1]=w[i]*a[i]*b[i]/b[i+1]原创 2023-12-31 07:52:03 · 1296 阅读 · 2 评论 -
【全网首发】洛谷P2678 [NOIP2015 提高组] 跳石头
这里用了一点贪心的思想:因为如果不跳到第一个符合条件的点上,那么整个队列的稀疏度就会提高,最终需要删除的石头也会更多。接下来N 行,每行一个整数,第i 行的整数 Di(0原创 2023-12-30 07:36:56 · 531 阅读 · 0 评论 -
【全网首发】洛谷P1281书的复制
我们二分答案求出最少的复制时间,然后从第k∼1 个人、第 m∼1 本书开始给他们布置任务,如果当前人不能再抄更多的书了(再抄更多的书就要超出我们二分出的最短复制时间了)就换下一个人,这样使得后面的人抄尽可能多的书,前面的人就可以抄尽可能少的书。要使前面的人少抄写,也就是抄靠右边的书的娃要多抄。现在要把m本有顺序的书分给k个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。原创 2023-12-25 20:23:38 · 843 阅读 · 0 评论 -
【全网首发】洛谷P1570 KC喝咖啡
如果你不会做这题,就跟着学学吧,想要了解二分,请看。原创 2023-12-24 12:37:21 · 898 阅读 · 0 评论 -
【全网首发】洛谷P1020 [NOIP1999 提高组] 导弹拦截
此时,在最优解中,把 x 一直到序列末尾,和 y 一直到序列末尾交换位置,这样做不影响正确性,也不增加序列个数,但会使 x 在最优解和贪心解中所处的位置相同。假设贪心解中 x 前面的数是 a,最优解中 x 前面的数是 b,a 后面的数是 y,由于贪心会让当前数接到大于等于它的最小数后面,所以 ,x,y≤a≤b。该定理在该问题上可以理解成:把序列分成不上升子序列的最少个数,等于序列的最长上升子序列长度。把序列分成不降子序列的最少个数,等于序列的最长下降子序列长度。显然,第一问求的是最长不上升子序列。原创 2023-12-23 09:01:18 · 551 阅读 · 0 评论