洛谷题解
文章平均质量分 55
这个专栏有洛谷里一些题目的题解,里面有每个文章里都有题目、思路和AC Code(AC 代码),希望你能给我一个大大的赞!
hello141219
我要在洛谷里变成红名!但我只是一个绿名QAQ。
展开
-
洛谷P10397题解
为其操作的文件名称。,并且是第一对双引号,因此我们只需要输出第一对双引号之间的值即可。对于每组询问,输出一行一个字符串,代表其操作的文件名称。对于每组询问:一行一个字符串,代表一条。我们发现这个东西两边都是。第一行一个正整数 T,代表询问次数。语句,输出其操作的文件名称。为文件访问标记,其只可能为。为文件流,其只可能为。你需要回答 T 次询问。原创 2024-05-07 18:13:05 · 787 阅读 · 0 评论 -
洛谷P1234题解
这道题把每个点都当成起点都搜索一下,状态可以拿一个string来存储,每次向后插入一个元素(注意判断边界),判断一下搜出来的结果是不是hehe或eheh,记录答案即可。小 A 最近有了一个口头禅 “呵呵”,于是他给出了一个矩形,让你求出里面有几个 “hehe”(方向无所谓)。接下来 n 行,每行 m 个字符,表示这个矩形。第一行两个数 n,m,表示这个矩形的大小。一行一个数,表示有几个 “hehe”。原创 2024-04-25 19:09:20 · 200 阅读 · 1 评论 -
洛谷P10295题解
在最近的一次聚会上,N个人围坐在一张圆桌旁,其中N是偶数。座椅按顺时针方向编号为1∼N。每个人都戴着一顶写有数字的帽子。具体来说,座位i上的人戴着一个写有数字Hi的帽子。每个人都看着圆圈中与自己正对面的人。请你求出看到戴着与自己相同号码的帽子的人的数量。原创 2024-04-18 18:22:10 · 735 阅读 · 0 评论 -
洛谷P1263题解
守卫们只能被布置在空地上,不能被布置在陷阱或墙上,且一块空地只能布置一个守卫。第 22 到第 (m+1) 行,每行 n 个整数,第 (i+1) 行第 j 列的数 a[i,j] 表示城堡第 i 行第 j 列的方格的信息,其中 0 表示空地,1 表示陷阱,2 表示墙。一些方格是墙,而另一些是空地。),将每一行看作左点,每一列看作右点,对于没有陷阱的点(空地),将其所在行与其所在列连边,跑一遍二分图最大匹配即可。你的任务是写一个程序,根据给定的城堡,计算最多可布置多少个守卫,并设计出布置的方案。原创 2024-04-14 18:14:11 · 454 阅读 · 0 评论 -
洛谷B3955题解
请严格按格式要求输出,不要擅自添加任何空格、标点、空格等任何符号。你一个恰好输出 N 行,每行除了换行符外恰好包含 N 个字符,这些字符要么是。小杨想要构造一个 N×N 的日字矩阵(N 为奇数),具体来说,这个矩阵共有 N 行,每行 N 个字符,其中最左 列、最右列都是。,而第一行、最后一行、以及中间一行(即第 N+1 行)的第 2∼N−1 个字符都是。请你帮⼩杨根据给定的 N 打印出对应的“日字矩阵”。一行一个整数 N(5≤N≤49,保证 N 为奇数)。输出对应的“日字矩阵”。原创 2024-04-13 17:02:27 · 442 阅读 · 0 评论 -
洛谷P1527题解
被询问的子矩阵中可能有很多重叠的部分,这样保证了在每次询问过程中,矩阵中的每个元素只对运行时间做一次贡献,所以这个算法要比对于每个询问单独二分要快得多。接下来 q 行,每行五个整数 x1,y1,x2,y2,k,表示一组询问,要求找到以 (x1,y1) 为左上角,(x2,y2) 为右下角的子矩形中的第 k 小数。发现多个询问的二分答案是可以同时被检验的,我们可以为所有询问同时二分答案,把所有答案小于等于mid的询问放在询问序列的左侧,大于mid的放到询问序列的右侧然后递归处理。原创 2024-04-07 17:57:08 · 304 阅读 · 0 评论 -
洛谷P1152题解
这道题就是我的忍者们都看成一个单独的堆 对于每个忍者我们对进行相应的枚举,把他的当作领导节点 考虑对每个节点建堆,对于每个非叶节点,将该节点与每个儿子节点合并(左偏树),维护堆中节点数和堆中节点的点权和。原创 2024-04-03 18:53:16 · 353 阅读 · 0 评论 -
洛谷B3735题解
星星和星星之间用绳子连接。第 1,2,⋯,n−1 层的每个星星都向下一层最近的两个星星连一段绳子,最后一层的相邻星星之间连一段绳子。圣诞树共有 n 层,从上向下数第 1 层有 1 个星星、第 2 层有 2 个星星、以此类推,排列成下图所示的形状。你能算出如果要布置一棵很大(n 层)的圣诞树,需要买多少段绳子吗?输出一行一个整数,代表圣诞树中绳子的段数。输入一行一个整数 n,圣诞树的层数。2 层的圣诞树只需 3 段绳⼦。所有数据满足 1≤n≤103。简单的一个找规律的题目。原创 2024-04-03 18:21:07 · 203 阅读 · 0 评论 -
洛谷P5717题解
给出三条线段 a,b,c 的长度,均是不大于 10000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。当两短边的平方和大于一长边的平方,说明是锐角三角形。当两短边的平方和等于一长边的平方,说明是直角三角形。当两短边的平方和小于一长边的平方,说明是钝角三角形。输入 3 个整数 a、b 和 c。这道题直接写一堆if就行了。输出若干行判定字符串。原创 2024-03-18 18:12:22 · 313 阅读 · 0 评论 -
洛谷B2119题解
后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为 0),否则不进行任何操作。先创建字符串s,判断s的是否含题目所说的单词后缀,如果有,去掉单词后缀。输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为 32)。输出按照题目要求处理后的单词。给定一个单词,如果该单词以。原创 2024-03-08 18:50:54 · 155 阅读 · 0 评论 -
洛谷B2027题解
要求每个人拿到的苹果数都不同,并且苹果个数最少,那么第一个人最少拿一个,第一个人最少拿二个,第 n 个人最少拿 n 个。把一堆苹果分给 n 个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?一个不大于 1000 的正整数 n,代表小朋友人数。一个整数,表示满足条件的最少苹果个数。原创 2024-03-08 15:38:57 · 178 阅读 · 0 评论 -
洛谷P1039题解
游戏的内容是这样的,明明的同学们先商量好由其中的一个人充当罪犯(在明明不知情的情况下),明明的任务就是找出这个罪犯。往后有 P 行,每行开始是某个同学的名宇,紧跟着一个冒号和一个空格,后面是一句证词,符合前表中所列格式。M 是参加游戏的明明的同学数,N 是其中始终说谎的人数,P 是证言的总数。接下来 M 行,每行是明明的一个同学的名字(英文字母组成,没有空格,全部大写)。TF[a]==-1是不确定,TF[a]=1是说真话,TF[a]=0是说假话。看一下id是不是i,不是的话,就是在说真话,否则就是假话。原创 2024-03-05 19:33:28 · 699 阅读 · 0 评论 -
洛谷P4008题解
题目描述很久很久以前,DOS3.x 的程序员们开始对 EDLIN 感到厌倦。于是,人们开始纷纷改用自己写的文本编辑器⋯⋯多年之后,出于偶然的机会,小明找到了当时的一个编辑软件。进行了一些简单的测试后,小明惊奇地发现:那个软件每秒能够进行上万次编辑操作(当然,你不能手工进行这样的测试)!于是,小明废寝忘食地想做一个同样的东西出来。你能帮助他吗?为了明确目标,小明对“文本编辑器”做了一个抽象的定义:文本:由 0 个或多个 ASCII 码在闭区间 [32, 126] 内的字符构成的序列。原创 2024-03-01 17:25:54 · 478 阅读 · 0 评论 -
洛谷P1044题解
宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。,n 经过操作可能得到的输出序列的总数。这两部分互相影响,所以一个x的取值能够得到的所有可能性为f[x-1]*f[n-x]另外,由于x有n个取值,所以 ans=f[0]*f[n-1]+f[1]*f[n-2。栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。比x小的数有x-1个,所以这些数的全部出栈可能为f[x-1]比x大的数有n-x个,所以这些数的全部出栈可能为f[n-x]原创 2024-02-29 19:40:17 · 316 阅读 · 0 评论 -
洛谷P1106题解
我们的思路是这样的:要删m个数,一开始m=k,在左边m+1个数中,找到其中最小的数(如果有多个则选最左边的),记它的位置为t,显然,t左边的l个数都可以删掉,此时还需要删m-l个数,m重新赋值为m-l,而t右边的数是一个新的数列,进行同样的操作,直到选出了n-k个数为止。键盘输入一个高精度的正整数 N(不超过 250 位),去掉其中任意 k 个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的 N 和 k,寻找一种方案使得剩下的数字组成的新数最小。输出一个整数,最后剩下的最小数。原创 2024-02-26 20:12:08 · 157 阅读 · 0 评论 -
洛谷P1124题解
咱们先把输入的那个′S′给按字典序排个序,然后我们就得到压缩前依次每个首字母了,那之前输入的那个不就是对应的尾字母吗?接着我们再接着把这个尾字母变成首字母重复上述过程,到现在我们肯定能想到这是怎么回事了:这不是个环吗?首字母其实和尾字母连在一起的!然后一步步把这个环推出来。原创 2024-02-25 16:34:03 · 349 阅读 · 0 评论 -
洛谷P1135题解
从A开始,搜索每一条路,可以更新答案再继续搜索,不然会搜索多余导致 TLE(超时)。原创 2024-02-25 10:27:51 · 649 阅读 · 0 评论 -
洛谷P2392题解
因此要开始刷习题集,每科都有一个习题集,分别有 s1,s2,s3,s4 道题目,完成每道题目需要一些时间,可能不等(A1,A2,…,As1,B1,B2,…,Bs2,C1,C2,…,Cs3,D1,D2,…第 2 行,为A1,A2,…,As1 共 s1 个数,表示第一科习题集每道题目所消耗的时间。本题包含 5 行数据:第 11 行,为四个正整数 s1,s2,s3,s4。,Ds4 共 s4 个数,意思均同上。第 3 行,为 B1,B2,…原创 2024-02-24 17:28:32 · 319 阅读 · 0 评论 -
洛谷P1029题解
一组 x,y 有对应解时有条件:x,y 的值不同。当 x=y 时,易得 x=y=gcd(x,y)=lcm(x,y)。所以要对此进行特判,若 P,Q 相等,这种情况就存在, ans 里要减去 1。我们其实并不需要枚举两次,因为对于不同的 x,y ,交换它们的值一定可以得到另一组与之对应的解。我们可以枚举 x,判断是否存在满足条件 1 的整数 y(即,x 能否被 P,Q 的积整除)。一行一个数,表示求出满足条件的 P,Q 的个数。试求:满足条件的所有可能的 P,Q 的个数。NOIP 2001 普及组第二题。原创 2024-02-24 12:26:05 · 205 阅读 · 0 评论 -
洛谷B2142题解
用递归的方法求 1+2+3+1+2+3+ ……这么简单的一道题不会需要思路吧,直接递归就好了(题目要求)原创 2024-02-01 15:09:26 · 259 阅读 · 1 评论 -
洛谷P5681题解
Alice 有一个边长为 a 的正方形,Bob 有一个长宽分别为 b,c 的矩形,请你告诉他们俩谁的图形面积更大。对于 30%30% 的数据,1≤a,b,c≤100,b=c;对于 100%100% 的数据,1≤a,b,c≤109。对于 80%80% 的数据,1≤a,b,c≤104;输出仅一行一个字符串,若正方形面积大则输出。正方形面积为 25,矩形面积为 24。正方形面积为 49,矩形面积为 50。仅一行三个正整数 a,b,c。先算出面积,然后比较输出。【样例 11 解释】【样例 22 解释】原创 2024-02-01 16:37:30 · 197 阅读 · 1 评论 -
洛谷P2240题解
藏宝洞里面有 N(N≤100) 堆金币,第 i 堆金币的总重量和总价值分别是 mi,vi(1≤mi,vi≤100)。阿里巴巴有一个承重量为 T(T≤1000) 的背包,但并不一定有办法将全部的金币都装进去。他想装走尽可能多价值的金币。所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。然后依次遍历,如果背包中剩余可以拿的重量大于等于这堆金币的重量,就全拿,否则直接装满。所有金币都可以分开,也就是说只要按照性价比最高的取一定得到的价值最大。性价比就是这堆金币的价值除以重量。原创 2024-02-02 10:15:32 · 356 阅读 · 0 评论 -
洛谷P1177题解
对于 100% 的数据,有 1≤N≤10000,1≤a[i]≤1000000000。第二行包含 N 个空格隔开的正整数 a[i],为你需要进行排序的数。将给定的 N 个数从小到大输出,数之间空格隔开,行末换行且无空格。对于 20% 的数据,有 1≤N≤1000;将读入的 N 个数从小到大排序后输出。第一行为一个正整数 N。原创 2024-02-01 09:31:25 · 271 阅读 · 1 评论 -
洛谷P1125题解
这种方法的具体描述如下:假设 maxn 是单词中出现次数最多的字母的出现次数,minn 是单词中出现次数最少的字母的出现次数,如果maxn−minn 是一个质数,那么笨小猴就认为这是个 Lucky Word,这样的单词很可能就是正确的答案。中出现最多的字母 ii 出现了 11 次,出现次数最少的字母出现了 11 次,1−1=01−1=0,00 不是质数。中出现最多的字母 rr 出现了 33 次,出现次数最少的字母出现了 11 次,3−1=23−1=2,22 是质数。noip2008 提高第一题。原创 2024-02-01 09:21:16 · 234 阅读 · 1 评论 -
洛谷P9748题解
每天在拿的时候,小苞都是从左侧第 1 个苹果开始、每隔 2 个苹果拿走 1 个苹果。输出一行包含两个正整数,两个整数之间由一个空格隔开,分别表示小苞拿走所有苹果所需的天数以及拿走编号为 n 的苹果是在第几天。小苞想知道,多少天能拿完所有的苹果,而编号为 n 的苹果是在第几天被拿走的?小 Y 的桌子上放着 n 个苹果从左到右排成一列,编号为从 1 到 n。每次拿走的是一组中的第 1 个苹果,而一组一共有 3 个苹果。小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。小苞第五天拿走了编号为 88 的苹果。原创 2024-02-01 15:27:07 · 362 阅读 · 1 评论 -
洛谷P1909题解
上表中“整倍数”的意义为:若为 K,表示对应数据所需要的铅笔数量 n —定是每种包装铅笔数量的整倍数(这意味着一定可以不用多买铅笔)。接下来三行,每行用 2 个正整数描述一种包装的铅笔:其中第 1 个整数表示这种包装内铅笔的数量,第 2 个整数表示这种包装的价格。对于第二种包装,虽然每支铅笔的价格是最低的,但要够发必须买 2 份,实际的花费达到了 30×2=60,因此 P 老师也不会选择。如果她选择购买第一种包装,那么她需要购买 29 份,共计 2×29=58 支,需要花费的钱为 2×29=58。原创 2024-02-02 18:36:18 · 468 阅读 · 0 评论 -
洛谷P2037题解
先输入n,判断n的绝对值模2等于1就输出odd;给定一个整数,判断该数是奇数还是偶数。如果 n 是奇数,输出。输出仅一行,如果 n 是奇数,输出。如果 n 是偶数,输出。输入仅一行,一个整数 n。如果 n 是偶数,输出。原创 2024-02-05 09:25:08 · 153 阅读 · 0 评论 -
洛谷P5682题解
Alice 有 n 个正整数,数字从 1∼n 编号,分别为 a[1],a[2],…假设这个选择是a[j] mod a[i] 那么如果i≤n−2 这个值一定小于x。由于 a mod b<a 所以最大值一定是 a[n]−1 mod a[n]。所有取模的结果为 {4,4,4,1,0,5,1,0,5,2,1,1}。对于 100% 的数据,3≤n≤2×105,1≤a[i]≤109。对于 70% 的数据,1≤n≤3000,1≤a[i]≤105;对于 40% 的数据,1≤n,a[i]≤100;原创 2024-02-02 14:56:44 · 289 阅读 · 0 评论 -
洛谷P1271题解
学校正在选举学生会成员,有 n(n≤999)名候选人,每名候选人编号分别从 11 到 n,现在收集到了 m(m≤2000000)张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入 n 和 m 以及 m 个选票上的数字。这道题没什么好说的了,直接sort排序。求出排序后的选票编号。原创 2024-02-01 09:43:09 · 194 阅读 · 1 评论 -
洛谷P1464题解
保证输入的数在 [−9223372036854775808,9223372036854775807][−9223372036854775808,9223372036854775807] 之间,并且是整数。这是个简单的递归函数,但实现起来可能会有些问题。当 a,b,c 均为 15 时,调用的次数将非常的多。注意:例如 w(30,−1,0) 又满足条件 1 又满足条件 2,请按照最上面的条件来算,答案为 1。保证不包括 −1,−1,−11 的输入行数 T 满足 1≤T≤105。并以 −1,−1,−1 结束。原创 2024-02-02 12:15:28 · 311 阅读 · 0 评论 -
洛谷P1097题解
某次科研调查时得到了 n 个自然数,每个数均不超过 1.5×109。已知不相同的数不超过 104 个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。共 m 行(m 为 n 个自然数中不相同数的个数),按照自然数从小到大的顺序输出。直接快排,然后遍历整个数组,当下个数与上个数不等就输出上一个数和它出现的次数。每行输出 2 个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。第一行是整数 n,表示自然数的个数;NOIP 2007 提高第一题。原创 2024-02-04 14:28:19 · 147 阅读 · 0 评论 -
洛谷P2615题解
幻方是一种很神奇的 N×N 矩阵:它由数字 1,2,3,⋯⋯,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。若K-1既不在第一行,也最后一列,如果K−1的右上方还未填数,则将K填在K−1的右上方,否则将L填在K-1的正下方。共 N 行,每行 N 个整数,即按上述方法构造出的 N×N 的幻方,相邻两个整数之间用单空格隔开。若K-1在第一行但不在最后一列,则将K填在最后一行,K-1所在列的右一列;若K-1在最后一列但不在第一行,则将K填在第一列,K-1所在行的上一行;一个正整数 N,即幻方的大小。原创 2024-02-01 18:29:25 · 261 阅读 · 1 评论 -
洛谷P5660题解
创建一个计数变量,遍历字符串判断每个字符是否等于1,如果等于1,计数变量加1,最后输出计数变量。对于 100% 的数据,输入只可能包含字符 0 和字符 1,字符串长度固定为 8。注意:01 字符串为每一个字符是 0 或者 1 的字符串,如。来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。输入文件只有一行,一个长度为 8 的 01 字符串 s。输出文件只有一行,包含一个整数,即 01 字符串中。对于 20% 的数据,保证输入的字符全部为 00。为一个长度为 3 的 01 字符串。原创 2024-02-01 18:08:44 · 256 阅读 · 0 评论 -
洛谷P1055题解
以此类推,用所得的结果 mod 11,所得的余数即为识别码,如果余数为 10,则识别码为大写字母 X。每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字、1 位识别码和 33 位分隔符,其规定格式如;你的任务是编写程序判断输入的 ISBN 号码中识别码是否正确,如果正确,则仅输出。,否则,按照规定的格式,输出正确的 ISBN 号码(包括分隔符。一行,假如输入的 ISBN 号码的识别码正确,那么输出;就是分隔符(键盘上的减号),最后一位是识别码,例如。原创 2024-02-03 11:29:30 · 369 阅读 · 0 评论 -
洛谷B2005题解
给定一个字符,用它构造一个底边长 5 个字符,高 3 个字符的等腰字符三角形。对于 100% 的数据,输入的字符是 ASCII 中的可见字符。该字符构成的等腰三角形,底边长 5 个字符,高 3 个字符。首先本题要根据读入的字符做出一个。输入只有一行,包含一个字符。的三角形,所以打表即可。原创 2024-02-17 10:20:41 · 246 阅读 · 0 评论 -
洛谷B2021题解
一种是用 cout 保留小数(setprecidion),另外一种则是用 printf 保留小数。读入一个单精度浮点数,保留 3 位小数输出这个浮点数。也只有一行,读入的单精度浮点数。只有一行,一个单精度浮点数。原创 2024-02-18 13:50:13 · 111 阅读 · 0 评论 -
洛谷B2043题解
这道题数据有点水,根本不用输出“n”。所以就可以依次判断x是否可以被3、5、7整除,如果可以,就输出对应的数字+空格就可以了。输出一行,按照描述要求给出整数被 3,5,7 整除的情况。1、能同时被 3,5,7 整除(直接输出。3、只能被其中一个数整除(输出这个除数);对于全部的测试点,保证 1≤x≤200。4、不能被任何数整除,输出小写字符。输入一行,包括一个整数 x。,每个数中间一个空格);,中间用空格分隔);原创 2024-02-06 18:18:30 · 231 阅读 · 0 评论 -
洛谷B3924题解
两层循环,外层循环i=0,循环到n-1;内层循环j=0,循环到n-1。判断j是否等于0或n-1,如果是,输出"|";如果n除2等于i,输出"-";否则输出"a"。原创 2024-02-07 12:05:07 · 386 阅读 · 0 评论 -
洛谷P1071题解
现在,小 C 通过内线掌握了 S 国网络上发送的一条加密信息及其对应的原信息。小 C 的破译过程是这样的:扫描原信息,对于原信息中的字母 x(代表任一大写字母),找到其在加密信息中的对应大写字母 y,并认为在密码里 y 是 x 的密字。如果这个字母还没有密字,并且相对应的原信息的那个字母还没被当做密字使用过 就存进去,并且往判断已经有几个字母有密字的变量里加一。例如,若规定 A 的密字为 A,B 的密字为 C(其他字母及密字略),则原信息 ABA 被加密为 ACA。原创 2024-02-23 13:18:55 · 1649 阅读 · 0 评论 -
洛谷B2040题解
判断一个正整数是否是两位数(即大于等于 10 且小于等于 99)。若该正整数是两位数,输出 1,否则输出 0。一个正整数,不超过 1000。原创 2024-02-16 11:58:41 · 326 阅读 · 0 评论