![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
信奥一本通
文章平均质量分 58
比较经典的题
向上的yyy
路漫漫其修远兮,吾将上下而求索
展开
-
1284:摘花生——数字三角形模型
【题目描述】Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。【输入】第一行是一个整数T,代表一共有多少组数据。1≤T≤100接下来是T组数据。原创 2023-01-10 18:14:18 · 489 阅读 · 0 评论 -
1287:最低通行费——数字三角形模型
【题目描述】一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。【输入】第一行是一个整数,表示正方形的宽度N (1≤N原创 2023-01-10 18:14:27 · 889 阅读 · 0 评论 -
1277:【例9.21】方格取数——数字三角形模型
【题目描述】设有N×N的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角A出发,可以向下行走,也可以向右行走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。【输入】第一行为一个整数N(N≤10),表示N×N的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。原创 2023-01-10 21:05:24 · 813 阅读 · 1 评论 -
1549:最大数——线段树
【题目描述】原题来自:JSOI 2008给定一个正整数数列 a1,a2,a3,⋯,an ,每一个数都在 0∼p–1 之间。可以对这列数进行两种操作:添加操作:向序列后添加一个数,序列长度变成 n+1;询问操作:询问这个序列中最后 L 个数中最大的数是多少。程序运行的最开始,整数序列为空。写一个程序,读入操作的序列,并输出询问操作的答案。【输入】第一行有两个正整数 m,p,意义如题目描述;接下来 m 行,每一行表示一个操作。原创 2022-12-24 13:30:27 · 949 阅读 · 0 评论 -
1515:网络协议——Tarjan求强连通分量
【题目描述】出自 IOI 1996一些学校连接在一个计算机网络上。学校之间存在软件支援协议。每个学校都有它应支援的学校名单(学校 a 支援学校 b,并不表示学校 b 一定支援学校 a)。当某校获得一个新软件时,无论是直接得到还是网络得到,该校都应立即将这个软件通过网络传送给它应支援的学校。因此,一个新软件若想让所有连接在网络上的学校都能使用,只需将其提供给一些学校即可。任务。原创 2022-12-22 12:50:23 · 255 阅读 · 0 评论 -
1513:【 例 1】受欢迎的牛——Tarjan求强连通分量
【题目描述】原题来自:USACO 2003 Fall每一头牛的愿望就是变成一头最受欢迎的牛。现在有 N 头牛,给你 M 对整数 (A,B),表示牛 A 认为牛 B 受欢迎。这种关系是具有传递性的,如果 A 认为 B 受欢迎,B 认为 C 受欢迎,那么牛 A 也认为牛 C 受欢迎。你的任务是求出有多少头牛被除自己之外的所有牛认为是受欢迎的。【输入】第一行两个数 N,M;接下来 M 行,每行两个数 A,B,意思是 A 认为 B 是受欢迎的(给出的信息有可能重复,即有可能出现多个 A,B)。原创 2022-12-21 19:04:58 · 451 阅读 · 0 评论 -
1556:Dis——Tarjan求LCA、倍增求LCA
【题目描述】给出 n 个点的一棵树,多次询问两点之间的最短距离。注意:边是双向的。【输入】第一行为两个整数 n 和 m。n 表示点数,m 表示询问次数;下来 n−1 行,每行三个整数 x,y,k,表示点 x 和点 y 之间存在一条边长度为 k;再接下来 m 行,每行两个整数 x,y,表示询问点 x 到点 y 的最短距离。【输出】输出 m 行。对于每次询问,输出一行。【输入样例】2 21 2 1001 22 1【输出样例】100100【提示】原创 2022-12-20 16:33:59 · 598 阅读 · 0 评论 -
1557:祖孙询问——倍增求LCA
【题目描述】已知一棵 n 个节点的有根树。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。【输入】输入第一行包括一个整数 n 表示节点个数;接下来 n 行每行一对整数对 a 和 b 表示 a 和 b 之间有连边。如果 b 是 −1,那么 a 就是树的根;第 n+2 行是一个整数 m 表示询问个数;接下来 m 行,每行两个正整数 x 和 y,表示一个询问。【输出】原创 2022-12-19 17:32:08 · 577 阅读 · 0 评论 -
1536:【例 2】数星星 Stars——树状数组
【题目描述】原题来自:Ural 1028天空中有一些星星,这些星星都在不同的位置,每个星星有个坐标。如果一个星星的左下方(包含正左和正下)有 k 颗星星,就说这颗星星是 k 级的。例如,上图中星星 5 是 3 级的(1,2,4 在它左下),星星 2,4 是 1 级的。例图中有 1 个 0 级,2 个 1 级,1 个 2 级,1 个 3 级的星星。给定星星的位置,输出各级星星的数目。一句话题意:给定 n 个点,定义每个点的等级是在该点左下方(含正左、正下)的点的数目,试统计每个等级有多少个点。原创 2022-12-18 14:33:42 · 419 阅读 · 0 评论 -
1535:【例 1】数列操作——树状数组
【题目描述】给定n个数列,规定有两种操作,一是修改某个元素,二是求子数列[a,b]的连续和。数列元素个数最多10万个,询问操作最多10万次。【输入】第一行2个整数n,m(n表示输入n个数,m表示m操作)第二行n个整数接下来m行,每行三个数k,a,b(k=0,表示求子数列[a,b]的连续和;k=1,表示第a个数加b)。【输出】若干行,表示k=0时,对应子数列[a,b]连续和。【输入样例】10 51 1 50 1 30 4 81 7 50 4 8【输出样例】原创 2022-12-18 12:41:14 · 339 阅读 · 0 评论 -
1351:【例4-12】家谱树——拓扑排序
【题目描述】有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的孩子的信息。输出一个序列,使得每个人的后辈都比那个人后列出。【输入】第1行一个整数N(1≤N≤100),表示家族的人数;接下来N行,第i行描述第i个人的儿子;每行最后是0表示描述完毕。【输出】输出一个序列,使得每个人的后辈都比那个人后列出;如果有多解输出任意一解。【输入样例】504 5 1 01 05 3 03 0【输出样例】2 4 5 3 1。原创 2022-12-16 11:43:11 · 395 阅读 · 0 评论 -
1275:【例9.19】乘积最大——dp
【题目描述】今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积最大。原创 2022-11-28 17:48:57 · 242 阅读 · 0 评论 -
1276:【例9.20】编辑距离——dp
【题目描述】设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:1、删除一个字符;2、插入一个字符;3、将一个字符改为另一个字符。对任意的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。【输入】第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于2000。【输出】只有一个正整数,为最少字符操作次数。【输入样例】sfdqxbwgfdgw【输出样例】4。原创 2022-11-28 15:49:16 · 234 阅读 · 0 评论 -
1231:最小新整数——贪心
【题目描述】给定一个十进制正整数n(0原创 2022-11-14 15:42:14 · 341 阅读 · 0 评论 -
P1650 田忌赛马——贪心
我国历史上有个著名的故事: 那是在2300年以前。齐国的大将军田忌喜欢赛马。他经常和齐王赛马。他和齐王都有三匹马:常规马,上级马,超级马。一共赛三局,每局的胜者可以从负者这里取得200银币。每匹马只能用一次。齐王的马好,同等级的马,齐王的总是比田忌的要好一点。于是每次和齐王赛马,田忌总会输600银币。田忌很沮丧,直到他遇到了著名的军师――孙膑。田忌采用了孙膑的计策之后,三场比赛下来,轻松而优雅地赢了齐王200银币。这实在是个很简单的计策。原创 2022-11-14 14:04:06 · 207 阅读 · 1 评论 -
1232:Crossing River——贪心
【题目描述】几个人过河,每次过两人一人回,速度由慢者决定,问过河所需最短时间。【输入】输入t组数据,每组数据第1行输入n,第2行输入n个数,表示每个人过河的时间。【输出】输出t行数据,每行1个数,表示每组过河最少时间。【输入样例】141 2 5 10【输出样例】17。原创 2022-11-14 11:21:29 · 364 阅读 · 0 评论 -
1233:接水问题——贪心
【题目描述】学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j完成其接水量要求wj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即j同学第x秒结束时完成接水,则k同学第x+1 秒立刻开始接水。原创 2022-11-14 10:15:34 · 588 阅读 · 0 评论 -
1230:寻找平面上的极大点——贪心
【题目描述】在一个平面上,如果有两个点(x,y),(a,b),如果说(x,y)支配了(a,b),这是指x≥a,y≥b;用图形来看就是(a,b)坐落在以(x,y)为右上角的一个无限的区域内。给定n个点的集合,一定存在若干个点,它们不会被集合中的任何一点所支配,这些点叫做极大值点。编程找出所有的极大点,按照x坐标由小到大,输出极大点的坐标。本题规定:n不超过100,并且不考虑点的坐标为负数的情况。【输入】原创 2022-11-14 10:02:16 · 355 阅读 · 0 评论 -
1229:电池的寿命——贪心
【题目描述】小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电。为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,有的可能就只能使用3个小时。原创 2022-11-13 13:13:04 · 523 阅读 · 0 评论 -
1228:书架——贪心
【题目描述】John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。John共有N头奶牛(1≤N≤20,000),每头奶牛有自己的高度Hi(1≤Hi≤10,000),N头奶牛的总高度为S。书架高度为B(1≤B≤S原创 2022-11-13 12:38:46 · 248 阅读 · 0 评论 -
1227:Ride to Office——贪心
【题目描述】起点与终点相隔4500米。现Charley需要从起点骑车到终点。但是,他有个习惯,沿途需要有人陪伴,即以相同的速度,与另外一个人一起骑。而当他遇到以更快的速度骑车的人时,他会以相应的速度跟上这个更快的人。先给定所有与Charley同路的人各自的速度与出发时间,问Charley以这种方式跟人,骑完4500米需要多少时间。得出的结果若是小数,则向上取整。【输入】原创 2022-11-13 10:44:16 · 151 阅读 · 0 评论 -
1225:金银岛——贪心
【题目描述】某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同,分别为n1,n2,…,ns,同时每个种类的金属总的价值也不同,分别为v1,v2,…,vs。KID想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。注意到金属是可以被任意分割的,并且金属的价值和其重量成正比。【输入】第1行是测试数据的组数k,后面跟着k组输入。原创 2022-11-12 10:41:11 · 370 阅读 · 0 评论 -
1224:最大子矩阵——子矩阵、二维前缀和
【题目描述】已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1×1)子矩阵。比如,如下4×4的矩阵的最大子矩阵是9−4−1218这个子矩阵的大小是15。【输入】输入是一个N×N的矩阵。输入的第一行给出N(0原创 2022-11-11 20:02:57 · 310 阅读 · 0 评论 -
1223:An Easy Problem——贪心
【题目描述】给定一个正整数N,求最小的、比N大的正整数M,使得M与N的二进制表示中有相同数目的1。举个例子,假如给定的N为78,其二进制表示为1001110,包含4个1,那么最小的比N大的并且二进制表示中只包含4个1的数是83,其二进制是1010011,因此83就是答案。【输入】输入若干行,每行一个数n(1≤n≤1000000),输入"0"结束。【输出】输出若干行对应的值。【输入样例】1234780【输出样例】245883。原创 2022-11-11 17:52:42 · 679 阅读 · 0 评论 -
1322:【例6.4】拦截导弹问题(Noip1999)——贪心
【题目描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。【输入】n颗依次飞来的高度(1≤n≤1000)。【输出】要拦截所有导弹最小配备的系统数k。【输入样例】原创 2022-11-11 17:40:25 · 412 阅读 · 0 评论 -
1324:【例6.6】整数区间——贪心
【题目描述】请编程完成以下任务:1.读取闭区间的个数及它们的描述;2.找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合,输出该集合的元素个数。【输入】首行包括区间的数目n,1≤n≤10000,接下来的n行,每行包括两个整数a,b,被一空格隔开,0≤a≤b≤10000,它们是某一个区间的开始值和结束值。【输出】第一行集合元素的个数,对于每一个区间都至少有一个整数属于该集合,且集合所包含元素数目最少。【输入样例】43 62 40 24 7。原创 2022-11-11 17:15:24 · 483 阅读 · 0 评论 -
1321:【例6.3】删数问题(Noip1994)——贪心
此题的贪心策略就是**每次从头往后找,找第一个 当前数>下一个数,把其删除**,然后最后没删够n位,那么**剩下的序列就是就是单调增序列,直接删最后一位**即可,最后注意前导0输出问题即可解决;原创 2022-11-10 11:44:44 · 1356 阅读 · 1 评论 -
1319:【例6.1】排队接水——贪心
【题目描述】有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。【输入】共两行,第一行为n(1≤n≤1000);第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。【输出】有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。【输入样例】10【输出样例】291.90。原创 2022-11-10 10:28:15 · 568 阅读 · 0 评论 -
1323:【例6.5】活动选择——贪心+结构体排序
【题目描述】学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。现在给出n个活动使用礼堂的起始时间begini和结束时间endi(begini原创 2022-11-08 10:04:12 · 380 阅读 · 0 评论 -
1320:【例6.2】均分纸牌(Noip2002)——贪心
【题目描述】有n堆纸牌,编号分别为 1,2,…,n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为n−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。原创 2022-11-08 09:40:57 · 307 阅读 · 0 评论 -
1246:膨胀的木棍——二分+数学
【题目描述】当长度为L的一根细木棍的温度升高n度,它会膨胀到新的长度L’=(1+n*C)*L,其中C是热膨胀系数。当一根细木棍被嵌在两堵墙之间被加热,它将膨胀形成弓形的弧,而这个弓形的弦恰好是未加热前木棍的原始位置。你的任务是计算木棍中心的偏移距离。【输入】三个非负实数:木棍初始长度(单位:毫米),温度变化(单位:度),以及材料的热膨胀系数。保证木棍不会膨胀到超过原始长度的1.5倍。【输出】木棍中心的偏移距离(单位:毫米),保留到小数点后第三位。【输入样例】【输出样例】原创 2022-10-22 16:31:11 · 463 阅读 · 0 评论 -
1247:河中跳房子——二分答案
【题目描述】每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N (0 ≤ N ≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di (0 < Di < L)。在比赛过程中,奶牛轮流从起点出发,尝试到达终点,每一步只能从一个岩石跳到另一个岩石。当然,实力不济的奶牛是没有办法完成目标的。原创 2022-10-22 11:02:36 · 363 阅读 · 0 评论 -
1245:不重复地输出数——set
【题目描述】输入n个数,从小到大将它们输出,重复的数只输出一次。保证不同的数不超过500个。【输入】第一行是一个整数n。之后n行,每行一个整数。整数大小在int范围内。【输出】一行,从小到大不重复地输出这些数,相邻两个数之间用单个空格隔开。【输入样例】52 4 4 5 1【输出样例】1 2 4 5。原创 2022-10-22 10:39:04 · 374 阅读 · 0 评论 -
1244:和为给定数——尺取法
【题目描述】给出若干个整数,询问其中是否有一对数的和等于给定的数。【输入】第一行是整数n(0原创 2022-10-22 10:04:45 · 240 阅读 · 0 评论 -
1242:网线主管——二分答案
【题目描述】仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结构连接在一起,即将它们全部连到一个单一的中心服务器。为了组织这个完全公正的比赛,裁判委员会主席提出要将所有选手的电脑等距离地围绕在服务器周围放置。为购买网线,裁判委员会联系了当地的一个网络解决方案提供商,要求能够提供一定数量的等长网线。裁判委员会希望网线越长越好,这样选手们之间的距离可以尽可能远一些。该公司的网线主管承接了这个任务。原创 2022-10-20 15:08:12 · 546 阅读 · 1 评论 -
1241:二分法求函数的零点——二分
【题目描述】有函数:f(x)=x5−15x4+85x3−225x2+274x−121已知f(1.5)>0,f(2.4)原创 2022-10-20 11:30:43 · 808 阅读 · 0 评论 -
1240:查找最接近的元素——二分索引
【题目描述】在一个非降序列中,查找与给定值最接近的元素。【输入】第一行包含一个整数n,为非降序列长度。1≤n≤100000。第二行包含n个整数,为非降序列各元素。所有元素的大小均在0−1,000,000,000之间。第三行包含一个整数m,为要询问的给定值个数。1≤m≤10000。接下来m行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在0∼1,000,000,000之间。【输出】m行,每行一个整数,为最接近相应给定值的元素值,保持输入顺序。原创 2022-10-20 11:06:21 · 378 阅读 · 0 评论 -
1239:统计数字——归并排序
【题目描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5×109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。【输入】第一行是整数n,表示自然数的个数;第2 n+1每行一个自然数。【输出】包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。【输入样例】824245100。原创 2022-10-20 10:33:17 · 234 阅读 · 0 评论 -
1237:求排列的逆序数——归并排序
【题目描述】在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足jik,那么就称(ij,ik)是这个排列的一个逆序。一个排列含有逆序的个数称为这个排列的逆序数。原创 2022-10-20 10:23:20 · 383 阅读 · 0 评论 -
1236:区间合并——结构体排序
【题目描述】给定 n 个闭区间 [ai,bi],其中i=1,2,…,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1,2] 和 [2,3] 可以合并为 [1,3],[1,3] 和 [2,4] 可以合并为 [1,4],但是[1,2] 和 [3,4] 不可以合并。我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no。【输入】第一行为一个整数n,3≤n≤50000。表示输入区间的数量。原创 2022-10-20 10:09:42 · 479 阅读 · 1 评论