洛谷
文章平均质量分 67
向上的yyy
路漫漫其修远兮,吾将上下而求索
展开
-
P3375 【模板】KMP字符串匹配——KMP
给出两个字符串s1和s2,若s1的区间[l,r]子串与s2完全相同,则称s2在s1中出现了,其出现位置为l。现在请你求出s2在s1中所有出现的位置。定义一个字符串s的 border 为s的一个s的子串t,满足t既是s的前缀,又是s的后缀。对于s2,你还需要求出对于其每个前缀s′的最长 bordert′的长度。原创 2023-01-05 11:46:56 · 716 阅读 · 0 评论 -
P3386 【模板】二分图最大匹配——匈牙利算法
给定一个二分图,其左部点的个数为n,右部点的个数为m,边数为e,求其最大匹配的边数。左部点从1至n编号,右部点从1至m编号。原创 2022-12-22 18:38:36 · 475 阅读 · 0 评论 -
P1525 [NOIP2010 提高组] 关押罪犯——染色法判定二分图+二分答案
S 城现有两座监狱,一共关押着N名罪犯,编号分别为1−N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 S 城 Z 市长那里。原创 2022-12-22 17:39:46 · 124 阅读 · 0 评论 -
P1983 [NOIP2013 普及组] 车站分级——拓扑排序+dp
一条单向的铁路线上,依次有编号为 $1, 2, …, n $的 $n $个火车站。每个火车站都有一个级别,最低为1级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站$ x$ 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是$ 5趟车次的运行情况。其中,前4$ 趟车次均满足要求,而第5趟车次由于停靠了3号火车站(2级)却未停靠途经的6号火车站(亦为2级)而不满足要求。现有m。原创 2022-12-16 18:15:15 · 786 阅读 · 0 评论 -
P1113 杂务——拓扑排序+dp
John的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然,有些杂务必须在另一些杂务完成的情况下才能进行。比如:只有将奶牛赶进牛棚才能开始为它清洗乳房,还有在未给奶牛清洗乳房之前不能挤奶。我们把这些工作称为完成本项工作的准备工作。至少有一项杂务不要求有准备工作,这个可以最早着手完成的工作,标记为杂务1。John有需要完成的n。原创 2022-12-16 11:15:40 · 441 阅读 · 1 评论 -
P5318 【深基18.例3】查找文献——dfs+bfs遍历图
小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。假设洛谷博客里面一共有n(n≤105)篇文章(编号为 1 到n)以及m(m≤106)条参考文献引用关系。目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到的文章。原创 2022-12-15 14:17:37 · 159 阅读 · 0 评论 -
P3916 图的遍历——反向建边dfs
给出N个点,M条边的有向图,对于每个点v,求A(v)表示从点v出发,能到达的编号最大的点。原创 2022-12-15 14:16:49 · 432 阅读 · 0 评论 -
P3884 [JLOI2009]二叉树问题——树化图Floyd+dfs
4483其中宽度表示二叉树上同一层最多的结点个数,节点u,v之间的距离表示从u到v的最短有向路径上向根节点的边数的两倍加上向叶节点的边数。给定一颗以 1 号结点为根的二叉树,请求出其深度、宽度和两个指定节点x,y之间的距离。原创 2022-12-13 13:36:08 · 476 阅读 · 0 评论 -
P1305 新二叉树——构造树
输入一串二叉树,输出其前序遍历。原创 2022-12-12 14:24:25 · 98 阅读 · 0 评论 -
P1229 遍历问题——先后求中情况数
我们都很熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历,求它的后序遍历,相应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。然而给定一棵二叉树的前序和后序遍历,你却不能确定其中序遍历序列,考虑如下图中的几棵二叉树:所有这些二叉树都有着相同的前序遍历和后序遍历,但中序遍历却不相同。原创 2022-12-12 13:57:19 · 109 阅读 · 0 评论 -
P5076 【深基16.例7】普通二叉树(简化版)——multiset、二叉搜索树
您需要写一种数据结构,来维护一些数( 都是109以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数q不超过104x+1xxx−2147483647xx2147483647x。原创 2022-12-10 14:45:43 · 683 阅读 · 0 评论 -
P1827 [USACO3.4] 美国血统 American Heritage——先中构后
农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号。每一头奶牛的姓名被译为一个唯一的字母。(你可能已经知道你可以在知道树的两 种遍历以后可以经常地重建这棵树。)显然,这里的树不会有多于 26 个的顶点。树的中序遍历是按照左子树,根,右子树的顺序访问节点。原创 2022-12-10 12:16:14 · 113 阅读 · 0 评论 -
P4913 【深基16.例3】二叉树深度
有一个n(n≤106)个结点的二叉树。给出每个结点的两个子结点编号(均不超过n),建立一棵二叉树(根节点的编号为1),如果是叶子结点,则输入0 0。建好这棵二叉树之后,请求出它的深度。二叉树的是指从根节点到叶子结点时,最多经过了几层。原创 2022-12-10 10:42:31 · 575 阅读 · 0 评论 -
P4715 【深基16.例1】淘汰赛——二叉思想
有2n(n≤7)个国家参加世界杯决赛圈且进入淘汰赛环节。已经知道各个国家的能力值,且都不相等。能力值高的国家和能力值低的国家踢比赛时高者获胜。1 号国家和 2 号国家踢一场比赛,胜者晋级。3 号国家和 4 号国家也踢一场,胜者晋级……晋级后的国家用相同的方法继续完成赛程,直到决出冠军。给出各个国家的能力值,请问亚军是哪个国家?原创 2022-12-10 10:23:39 · 128 阅读 · 0 评论 -
P2234 [HNOI2002]营业额统计——set
Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger 拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管理学上定义了一种最小波动值来衡量这种情况:当最小波动值越大时,就说明营业情况越不稳定。原创 2022-12-09 12:47:15 · 456 阅读 · 0 评论 -
P4387 【深基15.习9】验证栈序列——stack
给出两个序列 pushed 和 poped 两个序列,其取值从 1 到n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组数据。原创 2022-12-09 10:53:58 · 297 阅读 · 0 评论 -
P1241 括号序列——stack
S[S](S)ABAB(),[],(()),([]),()[],()[()](,[,],)(,()),([()现在,给定一个仅由(,),[,]构成的字符串s配对结束后,对于s中全部未配对的括号,请你在其旁边添加一个字符,使得该括号和新加的括号匹配。原创 2022-12-09 10:06:36 · 340 阅读 · 0 评论 -
P2058 [NOIP2016 普及组] 海港——队列
NOIP2016 普及组 T3。原创 2022-12-08 20:25:51 · 262 阅读 · 0 评论 -
P1160 队列安排——list
一个学校里老师要将班上 NNN 个同学排成一列,同学被编号为 1∼N1\sim N1∼N,他采取如下的方法:先将 111 号同学安排进队列,这时队列中只有他一个人;2−N2-N2−N 号同学依次入列,编号为 iii 的同学入列方式为:老师指定编号为 iii 的同学站在编号为 1∼(i−1)1\sim(i-1)1∼(i−1) 中某位同学(即之前已经入列的同学)的左边或右边;从队列中去掉 M(M原创 2022-12-08 12:54:16 · 401 阅读 · 2 评论 -
P3743 kotori的设备——二分答案
kotori 有 nnn 个可同时使用的设备。第 iii 个设备每秒消耗 aia_iai 个单位能量。能量的使用是连续的,也就是说能量不是某时刻突然消耗的,而是匀速消耗。也就是说,对于任意实数,在 kkk 秒内消耗的能量均为 k×aik\times a_ik×ai 单位。在开始的时候第 iii 个设备里存储着 bib_ibi 个单位能量。同时 kotori 又有一个可以给任意一个设备充电的充电宝,每秒可以给接通的设备充能 ppp 个单位,充能也是连续的,不再赘述。你可以在任意时间给任意一个设备充能,从原创 2022-12-07 10:40:59 · 428 阅读 · 0 评论 -
P1163 银行贷款——二分答案
当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。三个用空格隔开的正整数。第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到 0.1%0.1\%0.1%。样例输出 #1提示数据保证,1≤1 \leq1≤ 贷款的原值,分期付款金额 ≤231−1\leq 2^{31}-1≤231−1,1≤1 \leq1≤原创 2022-12-06 12:36:32 · 426 阅读 · 0 评论 -
P1182 数列分段 Section II——二分答案
对于给定的一个长度为N的正整数数列 A1∼NA_{1\sim N}A1∼N,现要将其分成 MMM(M≤NM\leq NM≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列 4 2 4 5 14\ 2\ 4\ 5\ 14 2 4 5 1 要分成 333 段。将其如下分段:[4 2][4 5][1][4\ 2][4\ 5][1][4 2][4 5][1]第一段和为 666,第 222 段和为 999,第 333 段和为 111,和最大值为 999。将其如下分段:[4][2 4][5 1原创 2022-12-05 14:03:30 · 360 阅读 · 0 评论 -
P3853 [TJOI2007]路标设置——二分答案
B 市和 T 市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题,我们把公路上相邻路标的最大距离定义为该公路的“空旷指数”。现在政府决定在公路上增设一些路标,使得公路的“空旷指数”最小。他们请求你设计一个程序计算能达到的最小值是多少。请注意,公路的起点和终点保证已设有路标,公路的长度为整数,并且原有路标和新设路标都必须距起点整数个单位距离。第 111 行包括三个数 L,N,KL,N,KL,N,K,分别表示公路的原创 2022-12-05 13:14:58 · 322 阅读 · 0 评论 -
P4447 [AHOI2018初中组]分组——贪心
小可可的学校信息组总共有n个队员,每个人都有一个实力值ai。现在,一年一度的编程大赛就要到了,小可可的学校获得了若干个参赛名额,教练决定把学校信息组的n个队员分成若干个小组去参加这场比赛。但是每个队员都不会愿意与实力跟自己过于悬殊的队员组队,于是要求分成的每个小组的队员实力值连续,同时,一个队不需要两个实力相同的选手。[1,2,3,4,5]是合法的分组方案,因为实力值连续;[1,2,3,5]不是合法的分组方案,因为实力值不连续;[0,1,1。原创 2022-11-21 12:10:30 · 368 阅读 · 0 评论 -
P4995 跳跳!——贪心
你是一只小跳蛙,你特别擅长在各种地方跳来跳去。这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第i块的石头高度为hi,地面的高度是h0=0。你估计着,从第i块石头跳到第j块石头上耗费的体力值为(hi−hj)2,从地面跳到第i块石头耗费的体力值是(hi)2。为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次,并最终停在任意一块石头上,并且小跳蛙想耗费的体力值。原创 2022-11-21 11:01:52 · 131 阅读 · 2 评论 -
P1094 [NOIP2007 普及组] 纪念品分组——贪心
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。原创 2022-11-17 17:20:58 · 203 阅读 · 1 评论 -
P1208 [USACO1.3]混合牛奶 Mixing Milk——贪心
由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。Marry 乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是不同的。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天 Marry 乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。给出 Marry 乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。原创 2022-11-17 16:27:28 · 104 阅读 · 0 评论 -
P5019 [NOIP2018 提高组] 铺设道路——贪心
NOIP2018 提高组 D1T1。原创 2022-11-17 11:50:18 · 122 阅读 · 0 评论 -
P1478 陶陶摘苹果(升级版)——贪心
又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次他有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。这次与 NOIp2005 普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s原创 2022-11-17 11:13:22 · 163 阅读 · 0 评论 -
P3817 小A的糖果——贪心
小 A 有n个糖果盒,第i个盒中有ai颗糖果。小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于x,至少得吃掉几颗糖。原创 2022-11-16 17:20:34 · 133 阅读 · 0 评论 -
P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G——贪心、优先队列
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1次合并之后, 就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1。原创 2022-11-16 15:59:04 · 410 阅读 · 0 评论 -
P1803 凌乱的yyy / 线段覆盖——贪心
快 noip 了,yyy 很紧张!原创 2022-11-16 15:44:39 · 98 阅读 · 0 评论 -
P2240 【深基12.例1】部分背包问题——贪心
阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有N(N≤100)堆金币,第i堆金币的总重量和总价值分别是mi,vi(1≤mi,vi≤100)。阿里巴巴有一个承重量为T(T≤1000)的背包,但并不一定有办法将全部的金币都装进去。他想装走尽可能多价值的金币。所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。请问阿里巴巴最多可以拿走多少价值的金币?原创 2022-11-16 15:31:11 · 277 阅读 · 0 评论 -
P1825 [USACO11OPEN]Corn Maze S——bfs
奶牛们去一个N×M玉米迷宫,2≤N≤300,2≤M≤300。迷宫里有一些传送装置,可以将奶牛从一点到另一点进行瞬间转移。这些装置可以双向使用。如果一头奶牛处在这个装置的起点或者终点,这头奶牛就使用这个装置。玉米迷宫除了唯一的一个出口都被玉米包围。#.AZ=@奶牛能在一格草地上可能存在的四个相邻的格子移动,花费1个单位时间。从装置的一个结点到另一个结点不花时间。原创 2022-11-07 15:27:28 · 297 阅读 · 0 评论 -
P1032 [NOIP2002 提高组] 字串变换——dfs、bfs
本题疑似错题,不保证存在靠谱的多项式复杂度的做法。测试数据非常的水,各种做法都可以通过,不代表算法正确。因此本题题目和数据仅供参考。原创 2022-11-07 12:11:40 · 270 阅读 · 1 评论 -
P1596 [USACO10OCT]Lake Counting S——dfs连通块
由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。我们用一个N×M(1≤N≤100,1≤M≤100)的网格图表示。每个网格中有水(W) 或是旱地(.)。一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。约翰想弄清楚他的田地已经形成了多少水坑。给出约翰田地的示意图,确定当中有多少水坑。输入第1N和M。第2行到第N+1行:每行M个字符,每个字符是W或.,它们表示网格图中的一排。字符之间没有空格。输出一行,表示水坑的数量。原创 2022-11-07 08:28:23 · 242 阅读 · 0 评论 -
P1101 单词方阵——dfs
给一n×n的字母方阵,内可能蕴含多个yizhong单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词。原创 2022-11-05 11:54:54 · 439 阅读 · 0 评论 -
P1019 [NOIP2000 提高组] 单词接龙——dfs
注意:本题为上古 NOIP 原题,不保证存在靠谱的做法能通过该数据范围下的所有数据。原创 2022-11-05 10:23:48 · 400 阅读 · 0 评论 -
P1536 村村通——并查集-连通块
某市调查城镇交通状况,得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 “村村通工程” 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要相互之间可达即可)。请你计算出最少还需要建设多少条道路?原创 2022-11-04 17:14:48 · 134 阅读 · 0 评论 -
P1433 吃奶酪——dfs+状态压缩剪枝
房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。原创 2022-11-04 09:29:34 · 527 阅读 · 0 评论