- 博客(105)
- 收藏
- 关注
原创 [NOIP2015]扫雷游戏
在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符’*’表示相应格子是地雷格,字符’?用’*’表示地雷格,用周围的地雷个数表示非地雷格。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。对于100%的数据,1≤n≤100,1≤m≤100。
2025-04-10 19:45:07
550
原创 P2440 木材加工
例如有两根原木长度分别为 11 和 21,要求切割成等长的 6 段,很明显能切割出来的小段木头长度最长为 5。对于 100% 的数据,有 1≤n≤105,1≤k≤108,1≤Li≤108(i∈[1,n])。木头长度的单位是 cm,原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。第一行是两个正整数 n,k,分别表示原木的数量,需要得到的小段的数量。当然,我们希望得到的小段木头越长越好,请求出 l 的最大值。接下来 n 行,每行一个正整数 Li,表示一根原木的长度。
2025-04-09 14:29:16
311
原创 P1873 [COCI 2011/2012 #5] EKO / 砍树
Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数 H(米),伐木机升起一个巨大的锯片到高度 H,并锯掉所有树比 H 高的部分(当然,树木不高于 H 米的部分保持不变)。例如,如果一排树的高度分别为 20,15,10 和 17,Mirko 把锯片升到 15 米的高度,切割后树木剩下的高度将是 15,15,10 和 15,而 Mirko 将从第 1 棵树得到 5 米,从第 4 棵树得到 2 米,共得到 7 米木材。第 1 行 2 个整数 N 和 M,N 表示树木的数量,M 表示需要的木材总长度。
2025-04-09 14:27:53
283
原创 [二分模版题] 数的范围
对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。第二行包含n个整数(均在1~10000范围内),表示完整数组。给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。接下来q行,每行包含一个整数k,表示一个询问元素。如果数组中不存在该元素,则返回“-1 -1”。第一行包含整数n和q,表示数组长度和询问个数。如果数组中不存在该元素,则返回“-1 -1”。
2025-04-08 11:11:43
442
原创 P2249 【深基13.例1】查找
输入 n 个不超过 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a1,a2,…,an,然后进行 m 次询问。对于每次询问,给出一个整数 q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 −1。数据保证,1≤n≤106,0≤ai,q≤109,1≤m≤105。第三行 m 个整数,表示询问这些数字的编号,从 1 开始编号。第一行 2 个整数 n 和 m,表示数字个数和询问次数。输出一行,m 个整数,以空格隔开,表示答案。第二行 n 个整数,表示这些待查询的数字。
2025-04-08 10:59:37
329
原创 NC206021 排列计算
一个选手给出一个长度为 n 的排列,另一个选手给出 m 个询问,每次询问是一个形如 (l, r) 的数对,查询队友给出的排列中第 l 个数到第 r 个数的和,并将查询到的这个区间和加入总分,最后总分最高的队伍就能获胜。比如 [1, 3, 2] 是一个排列,而 [2, 1, 4] 和 [1, 2, 3, 3] 不是排列。一个符合条件的排列是 [1,3, 6, 4, 7, 5, 2],于是最终的得分为 (1 + 3 + 6) + (6 + 4 + 7 + 5 + 2) + (7 + 5) = 46。
2025-04-07 20:13:02
400
原创 NC24636 值周
JC内长度为L的马路上有一些值周同学,每两个相邻的同学之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;L,都有一个值周同学。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。第一行有2个整数L和M,L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含2个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。对于100%的数据,1<=M<=1000000。对于10%的数据,1<=M<=100。
2025-04-07 20:10:20
392
原创 P2367 语文成绩
语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。接下来 p 行,每行有三个数,x,y,z,代表给第 x 个到第 y 个学生每人增加 z 分。对于 100% 的数据,有 n≤5×106,p≤n,学生初始成绩 ≤100,z≤100。第二行有 n 个数,a1∼an,代表各个学生的初始成绩。第一行有两个整数 n,p,代表学生数与增加分数的次数。输出仅一行,代表更改分数后,全班的最低分。对于 40% 的数据,有 n≤103。对于 60% 的数据,有 n≤104。对于 80% 的数据,有 n≤105。
2025-04-07 20:05:24
251
原创 [HNOI2003]激光炸弹
对于100%的数据,保证 1≤n≤104,0≤xi,yi≤5×103,1≤m≤5×103,1≤vi<100。现在地图上有n(N ≤ 10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有一个价值。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的边必须和x,y轴平行。输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi。若目标位于爆破正方形的边上,该目标将不会被摧毁。
2025-04-07 19:56:49
315
原创 【模板】二维前缀和
接下来有 q 次查询,每次查询输入 4 个参数 x1 , y1 , x2 , y2。请输出以 (x1, y1) 为左上角 , (x2,y2) 为右下角的子矩阵的和,接下来q行,每行4个整数x1, y1, x2, y2,分别代表这次查询的参数。给你一个 n 行 m 列的矩阵 A ,下标从1开始。接下来n行,每行m个整数,代表矩阵的元素。读入数据可能很大,请注意读写时间。第一行包含三个整数n,m,q.输出q行,每行表示查询结果。
2025-04-07 19:37:33
382
原创 【模板】前缀和
对于每个询问, 请输出al+al+1+....+ara_l+a_{l+1}+....+a_ral+al+1+....+ar。第二行包含n个整数, 表示a1,a2,....ana_1, a_2,....a_na1,a2,....an.给定一个长度为n的数组a1,a2,....ana_1, a_2,....a_na1,a2,....an.接下来有q次查询, 每次查询有两个参数l, r.接下来q行,每行包含两个整数 l和r.输出q行,每行代表一次查询的结果.第一行包含两个整数n和q.
2025-04-07 19:27:06
368
原创 P4305 [JLOI2011] 不重复数字
对于 100% 的数据,1≤T≤50,1≤n≤5×104,给出的数在 32 位有符号整数范围内。对于每组数据,输出一行,为去重后剩下的数,两个数之间用一个空格隔开。对于 30% 的数据,n≤100,给出的数 ∈[0,100]。对于 60% 的数据,n≤104,给出的数 ∈[0,104]。给定 n 个数,要求把其中重复的去掉,只保留第一次出现的数。第一行一个整数 T,表示数据组数。第二行 n 个数,表示给定的数。第一行一个整数 n。
2025-04-06 15:34:47
626
原创 第K小表示数
保证有 1≤k≤1061 \le k \le 10^61≤k≤106,1≤a,b≤1091 \le a , b \le 10^91≤a,b≤109。小沙每次可以选择集合中的两个数(可以相同),将他们的和放入集合中,请问所有可能的集合中,第 KKK 小的值最小为多少?集合中一开始拥有两个数字 aaa 和 bbb,如果 aaa 与 bbb 相同,那么仅有一个数字。第一行,输入三个整数 kkk,aaa,bbb。注:集合中相同元素只能有一个。输出一个数字代表答案。
2025-04-06 15:31:38
348
原创 [NOIP2007]统计数字
已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。输出m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。100%的数据满足:1 ≤ n ≤ 200000,每个数均不超过1500000000(1.5*109)80%的数据满足:1 ≤ n ≤ 50000。40%的数据满足:1 ≤ n ≤ 1000。第1行是整数n,表示自然数的个数。第2~n+1行每行一个自然数。
2025-04-05 18:49:44
421
原创 AT_abc212_d [ABC212D] Querying Multiset
今、袋には 3 の書かれたボールと 5 の書かれたボールが入っているため、このうち小さい 3 の書かれたボールを取り出し、 3 を記録した後に捨てる。- 今、袋には 7 の書かれたボールのみが入っているため、このボールを取り出し、 7 を記録した後に捨てる。それぞれの操作は以下の 3 種類のうちのいずれかです。1≤ i≤ Q について i 回目の操作の種類 Pi および操作 1 , 2 における Xi の値が与えられるので、操作 3 において記録された数を順に出力してください。
2025-04-05 18:47:29
676
原创 PTA 小孩子才做选择,大人全都要
阿汪面前有两只盲盒,每只盒子打开都有两种可能:或者装了 X 克狗粮,或者是一只容量为 Y 克的狗粮储蓄盒。如果是狗粮,阿汪可以快乐地吃掉;如果是空储蓄盒,那就倒霉了,阿汪必须想办法找到狗粮把这只储蓄盒装满,自己还吃不到。正当阿汪发愁不知道该怎么选的时候,铲屎官大手一挥:“小孩子才做选择,大人全都要!”但全都要的结果,却不一定是赚了还是亏了……我们假设聪明的阿汪总是能嗅出狗粮最多的盒子,并且绝不会选任何储蓄盒。而铲屎官没有这样的鼻子,他一定是全都要。
2025-04-03 22:06:59
244
原创 PTA 智能管家
人上了年纪,记性就会变差,时常不得不翻箱倒柜找东西。智能照护中心现在请你做一个简单的智能管家程序,把老人家里的东西逐一编号,放进若干个收纳箱里。当然收纳箱也是有编号的,你的程序要记录下哪个东西放在哪个收纳箱里。当老人问起某几件东西时,你的程序要告诉老人家,东西分别放在哪些箱子里。
2025-04-03 22:03:11
314
原创 AT_abc298_d [ABC298D] Writing a Numeral
3 番目の形式のクエリの個数を q として、q 行出力せよ。i (1 ≤ i ≤ q) 行目には i 番目の 3 番目の形式のクエリに対する出力をせよ。なので ( 1 を 998244353 で割った余りに等しい) 1 を出力します。なので ( 12 を 998244353 で割った余りに等しい) 12 を出力します。ただし queryi は i 番目のクエリを表し、以下のいずれかの形式である。以下の形式のクエリが Q 個与えられるので順に処理してください。1 番目のクエリにおいて、S は。
2025-04-01 20:40:21
675
原创 P1996 约瑟夫问题
n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1 开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。输出一行 n 个整数,按顺序输出每个出圈人的编号。输入两个整数 n,m。
2025-04-01 14:39:21
270
原创 P1449 后缀表达式
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。保证对于 / 运算除数不为 0。特别地,其中 / 运算的结果需要。如:3*(5-2)+7 对应的后缀表达式为:3.5.2.-*7.+@。数据保证,1≤∣s∣≤50,答案和计算过程中的每一个值的绝对值不超过 109。输入一行一个字符串 s,表示后缀表达式。输出一个整数,表示表达式的值。为表达式的结束符号。为操作数的结束符号。
2025-03-31 20:45:04
339
原创 P1739 表达式括号匹配
作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出。表达式长度小于 255,左圆括号少于 20 个。表达式长度小于 255,左圆括号少于 20 个。假设一个表达式有英文字母(小写)、运算符()和左右小(圆)括号构成,以。
2025-03-31 19:48:33
314
原创 P8598 [蓝桥杯 2013 省 AB] 错误票据
每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。一个整数 N(N<100) 表示后面数据行数,接着读入 N 行数据,每行数据长度不等,是用空格分开的若干个(不大于 100 个)正整数(不大于 105),每个整数代表一个 ID 号。要求程序首先输入要求程序输出 1 行,含两个整数 m,n,用空格分隔,其中,m 表示断号 ID,n 表示重号 ID。
2025-03-26 23:33:02
512
原创 P8665 [蓝桥杯 2018 省 A] 航班时间
但是小 h 得到了女朋友来回航班的起降时间。仔细观察后发现飞机的起降时间都是当地时间。由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时的飞行时间。小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。对于一个可能跨时区的航班,给定来回程的起降时间。假设飞机来回飞行时间相同,求飞机的飞行时间。每组数据包含两行,第一行为去程的起降时间,第二行为回程的起降时间。保证输入时间合法,飞行时间不超过 24 小时。表示该航班在当地时间。
2025-03-26 23:27:10
450
原创 P5740 【深基7.例9】最厉害的学生
现有 N 名同学参加了期末考试,并且获得了每名同学的信息:姓名(不超过 8 个字符的仅有英文小写字母的字符串)、语文、数学、英语成绩(均为不超过 150 的自然数)。总分最高的学生就是最厉害的,请输出最厉害的学生各项信息(姓名、各科成绩)。如果有多个总分相同的学生,输出靠前的那位。第二行开始,往下 N 行,对于每一行首先先输入一个字符串表示学生姓名,再输入三个自然数表示语文、数学、英语的成绩。数据保证,1≤N≤1000,姓名为长度不超过 8 的字符串,语文、数学、英语成绩均为不超过 150 的自然数。
2025-03-25 12:01:09
306
原创 [NOIP2017]图书管理员
题号:NC16422时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M。
2025-03-25 11:59:15
537
原创 P1308 [NOIP 2011 普及组] 统计单词数
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例 1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2)。一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从 0 开始);一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
2025-03-24 12:29:53
524
原创 [NOIP2013]记数问题
题号:NC16538时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M。
2025-03-24 12:28:32
290
原创 P1002 [NOIP 2002 普及组] 过河卒
棋盘上 A 点有一个过河卒,需要走到目标 B 点。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。棋盘用坐标表示,A 点 (0,0)、B 点 (n,m),同样马的位置坐标是需要给出的。对于 100% 的数据,1≤n,m≤20,0≤ 马的坐标 ≤20。一行四个正整数,分别表示 B 点坐标和马的坐标。NOIP 2002 普及组第四题。
2025-03-22 16:52:28
302
原创 P1104 生日
cjf 君想调查学校 OI 组每个同学的生日,并按照年龄从大到小的顺序排序。但 cjf 君最近作业很多,没有时间,所以请你帮她排序。数据保证,1<n<100,1≤∣s∣<20。保证年月日实际存在,且年份 ∈[1960,2020]。即 n 个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)第 2 行至第 n+1 行分别是每人的姓名 s、出生年 y、月 m、日 d。第 1 行为 OI 组总人数 n;输入共有 n+1 行,
2025-03-19 21:07:13
312
原创 P1152 欢乐的跳
一个 n 个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了 [1,n−1] 之间的所有整数,则称之符合“欢乐的跳”,如数组 {1,4,2,3} 符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。每组测试数据第一行以一个整数 n(1≤n≤1000) 开始,接下来 n 个空格隔开的在 [−108,108] 之间的整数。对于每组测试数据,输出一行若该数组符合“欢乐的跳”则输出。给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。
2025-03-19 21:05:33
295
原创 P1116 车厢重组
在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转 180 度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。:实际上数据中并不都在同一行,有可能分行输入)第二行是 N 个不同的数表示初始的车厢顺序。一个整数,最少的旋转次数。
2025-03-18 19:10:03
247
原创 P2676 [USACO07DEC] Bookshelf B
为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不像演杂技一般,一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中所有奶牛的身高之和。为了往书架顶上放东西,所有奶牛的身高和必须不小于书架的高度。显然,塔中的奶牛数目越多,整座塔就越不稳定,于是奶牛们希望在能够到书架顶的前提下,让塔中奶牛的数目尽量少。Farmer John 最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。一共有 6 头奶牛,书架的高度为 40,奶牛们的身高在 6…
2025-03-18 19:07:10
345
原创 P1781 宇宙总统
地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 n 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。接下来有 n 行,分别为第一个候选人到第 n 个候选人的票数。共两行,第一行是一个整数 m,为当上总统的人的号数。第一行为一个整数 n,代表竞选总统的人数。票数可能会很大,可能会到 100 位数字。第二行是当上总统的人的选票。
2025-03-17 19:44:00
397
原创 P1093 [NOIP 2007 普及组] 奖学金
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。第 j 行的 3 个数字依次表示学号为 j−1 的学生的语文、数学、英语的成绩。这两名同学的总分都是 279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为 7 的学生语文成绩更高一些。任务:先根据输入的 3 门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。NOIP2007 普及组 T1。
2025-03-17 19:39:52
335
原创 P1059 [NOIP 2006 普及组] 明明的随机数
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数 (N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。第 2 行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。输出也是两行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。输入有两行,第 1 行为 1 个正整数,表示所生成的随机数的个数 N。NOIP 2006 普及组 第一题。
2025-03-16 14:08:20
317
原创 P1923 【深基9.例4】求第 k 小的数
输入 n(1≤n<5000000 且 n 为奇数)个数字 ai(1≤ai<109),输出这些数字的第 k 小的数。最小的数是第 0 小。来写本题,因为本题的重点在于练习分治算法。
2025-03-16 13:45:01
294
原创 P1271 【深基9.例1】选举学生会
学校正在选举学生会成员,有 n(n≤999)名候选人,每名候选人编号分别从 1 到 n,现在收集到了 m(m≤2000000)张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入 n 和 m 以及 m 个选票上的数字。求出排序后的选票编号。
2025-03-14 15:46:33
250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人