
AcWing 练习题
文章平均质量分 70
记录 AcWing 刷题过程
柃歌
【兰州理工大学计算机与通信学院2019级本科 | 西安电子科技大学人工智能学院2023级硕士】算法是学不明白的,代码是写不出来的,Offer是拿不到手的!学自己所热爱的内容才会坚持记录与分享,梦想远离内卷,永远追寻热爱的一切!
展开
-
AcWing 3956. 截断数组(前缀和)
枚举第二次分割的位置,且记录满足条件的第一次分割(现在,要将该数组从中间截断,得到三个非空子数组。)时,答案累加上满足条件的第一次分割的次数即可。要求,三个子数组内各元素之和都相等。请问,共有多少种不同的截断方法?输出一个整数,表示截断方法数量。)的次数,当第二次分割合法(因此我们可以记前缀和数组为。,假设第一次分割的位置为。枚举第二次分割的位置。,记分割后右半部分为。原创 2023-03-17 19:24:21 · 375 阅读 · 0 评论 -
AcWing 3746. 牛的学术圈 II(思维题)
例如,在一个由资历较浅的学生Elsie、资历较深的教授Mildred、以及十分资深的教授Dean组成的实验室中,可能存在一篇论文Elsie-Mildred-Dean,如果他们做出了不等的贡献(也就是说,Elsie做出的贡献比Mildred更多,Mildred比Dean更多)。在这个样例中,唯一能与两篇论文相一致的资历排序为Elsie原创 2023-03-17 17:51:55 · 824 阅读 · 0 评论 -
AcWing 2031. 折叠绳子(枚举)
首先,除了两个端点绳结以外其它每个绳结均可能作为对折点,此外每两个相邻的绳结的中点也可能作为对折点,因为若要在两个相邻的绳结中选择对折点,除中点外其它任何位置均无法满足这两个相邻点对折后完全重合。因此我们枚举以上两种情况的所有可能的对折点,再判断该点是否满足要求即可。由于取中点时设计浮点数运算,为避免精度问题可以看成其它点到两个相邻点的距离是否相等。范围内的整数,表示一个绳结的位置。允许在某个绳结处折叠,但不允许在端点绳结处折叠。的绳子,可用于农场周围的各种任务。折叠后,较长的一侧可以有多余节点。原创 2022-10-21 17:29:16 · 448 阅读 · 0 评论 -
AcWing 1959. 奶牛芭蕾(模拟,坐标变换)
注意,这是贝茜唯一能够被绊倒的情况,在经过所有练习以后,贝茜十分灵活,很容易摆出各种高难度姿势(例如,后脚比前脚更向前)。她的最后一场演出是下周,约翰想帮她搭建一个足够大的长方形舞台,这样她就可以在不从舞台边沿跌落的情况下表演整个舞蹈。贝茜的顺时针转动是以某一只脚作为枢轴而进行的,转动时枢轴脚应保持竖立,并围绕该脚进行顺时针转动。如果贝茜将一只脚移动到与另一只脚相同的单元格内,她就会被绊倒,从而无法完成舞蹈。首先我们假设牛的左后脚。输出在整个舞蹈过程中,能够容纳贝茜的脚所必须的长方形舞台的最小面积。原创 2022-10-17 11:38:17 · 367 阅读 · 0 评论 -
AcWing 1968. 奶牛赛跑(枚举)
根据题意可知距离与时间为线性关系,由于题中所给的时间都为整数,因此距离随时间变化的折线可以分为若干段直线段,且端点均为整数。行,每行描述一段贝茜的奔跑过程,包含两个整数,分别表示贝茜的奔跑速度以及她以这个速度奔跑的时间(两个整数都在。行,每行描述一段艾希的奔跑过程,包含两个整数,分别表示艾希的奔跑速度以及她以这个速度奔跑的时间(两个整数都在。为了解决谁是跑的最快的奶牛的长期争论,贝茜和艾希决定在农场中来一场赛跑。时,贝茜追上艾希,并以相同速度奔跑一个单位时间。,成为了领头者,那么领头者的变化就发生了。原创 2022-10-16 20:20:41 · 266 阅读 · 0 评论 -
AcWing 1977. 信息中继(基环树,并查集)
【题目描述】农夫约翰有NNN头奶牛,编号1∼N1\sim N1∼N。通过使用易拉罐和绳子构成的土制电话,它们会在约翰不注意的时候相互通信。每头奶牛最多可以将消息转发给另一头奶牛:对于奶牛iii,它会将自己收到的任何信息转发给奶牛FiF_iFi(FiF_iFi与iii一定不同)。如果FiF_iFi为000,则奶牛iii不转发消息。不幸的是,奶牛们意识到来自某些奶牛的消息可能最终陷入循环之中,不断地被转发。请确定所有奶牛中有多少只奶牛发出的消息不会永远陷入循环之中。【输入格式】第一行包含整原创 2022-06-12 18:24:17 · 272 阅读 · 0 评论 -
AcWing 1986. 镜子(模拟,环图)
【题目描述】农夫约翰的奶牛在农场周围造成了太多麻烦,因此约翰希望对它们保持更密切的关注。通过在农场的各个位置安装NNN个反光围栏,他希望能够从(0,0)(0,0)(0,0)位置的房子看到(a,b)(a,b)(a,b)位置的牛棚。在约翰农场的二维平面图中,围栏iii表示为以整数位置坐标(xi,yi)(x_i,y_i)(xi,yi)为中心的倾斜454545度(如或)的短线段。例如,以(3,5)(3,5)(3,5)为中心,形如的围栏可以描述为从(2.9,4.9)(2.9,4.9)(2.9,4.9)到(原创 2022-06-12 09:14:00 · 211 阅读 · 0 评论 -
AcWing 1995. 见面与问候(模拟)
【题目描述】众所周知,奶牛是非常有社交礼貌的动物:每当两头奶牛分开后相遇,它们都会用友好的“哞哞”声互相问候。奶牛贝茜和她的朋友艾希正在农夫约翰的农场中的一条很长的道路上散步。我们可以将此道路视为一个一维数轴。贝茜和艾希都从原点出发,以相同的速度(111单位距离/单位时间)行走一段时间。请根据每头奶牛的运动情况描述,确定它们相互打招呼的次数。贝茜和艾希可以在不同的时间点停止移动,并且她们的移动时间都不会超过100000010000001000000单位。【输入格式】第一行包含两个整数BBB和E原创 2022-06-11 20:08:26 · 312 阅读 · 0 评论 -
AcWing 1912. 里程表(枚举)
【题目描述】约翰的奶牛正在公路上旅行。他们汽车上的里程表显示的是整数里程值。旅途开始时里程表显示的里程值为XXX,旅途结束时里程表显示的里程值为YYY。每当里程表显示“有趣的”数字(包括开始和结束时显示的数字)时,奶牛们就会发出愉快的叫声。如果一个数除去前导零以外的所有数字中,除了一个数字不同以外,其他所有数字都是相同的,那么这个数就是“有趣的”。例如,和是有趣的,而和不是有趣的。请帮助约翰计算奶牛们在旅途中发出叫声的次数。【输入格式】共一行,包含两个整数XXX和YYY。【输出格式】输出奶原创 2022-06-11 13:48:19 · 224 阅读 · 0 评论 -
AcWing 1921. 重新排列奶牛(环图)
【题目描述】农夫约翰的NNN头奶牛排成一排,编号1∼N1\sim N1∼N。它们的排序可以由一个数组AAA来描述,其中A(i)A(i)A(i)是位于位置iii的奶牛的编号。约翰希望将它们重新排列为一个不同的顺序。新顺序用数组BBB来描述,其中B(i)B(i)B(i)是位于位置iii的奶牛的编号。假设奶牛开始时的顺序为:并假设约翰希望它们重新排列为:为了从AAA顺序重新排列为BBB顺序,奶牛们进行了许多“循环”移位。所谓循环移位,是指挑选排列中的若干头奶牛分在一组,组中奶牛进行循环移动位置,即原创 2022-06-11 11:32:09 · 216 阅读 · 0 评论 -
AcWing 1353. 滑雪场设计(贪心)
【题目描述】农夫约翰的农场上有NNN个山峰,每座山的高度都是整数。在冬天,约翰经常在这些山上举办滑雪训练营。不幸的是,从明年开始,国家将实行一个关于滑雪场的新税法。如果滑雪场的最高峰与最低峰的高度差大于171717,国家就要收税。为了避免纳税,约翰决定对这些山峰的高度进行修整。已知,增加或减少一座山峰xxx单位的高度,需要花费x2x^2x2的金钱。约翰只愿意改变整数单位的高度,且每座山峰只能修改一次。请问,约翰最少需要花费多少钱,才能够使得最高峰与最低峰的高度差不大于171717。【输入格式原创 2022-06-11 09:56:48 · 225 阅读 · 0 评论 -
AcWing 1944. 记录保存(哈希,STL)
【题目描述】农夫约翰一直在详细记录奶牛进入牛棚挤奶的情况。每小时会有一组三头牛进入牛棚产奶,约翰会记录它们的名字。例如,在555小时内,他可能会记录下如下列表,每行对应进入牛棚的一组牛:约翰发现同一组奶牛可能会多次出现在他记录的名单中,在上面的例子中,这个组合出现了333次(尽管约翰不一定每次都按同样的顺序记录它们的名字)。请帮助约翰计算进入牛棚次数最多的一组牛的进入次数。【输入格式】第一行包含整数NNN。接下来NNN行,每行都包含一组三头牛的名字,每个名字都是一个长度在1∼101\sim 1原创 2022-06-11 09:32:32 · 243 阅读 · 0 评论 -
AcWing 1351. 密码锁(枚举,容斥原理)
【题目描述】农夫约翰的奶牛们总是偷偷的逃出他的农场,去外面为非作歹。农夫约翰为了防止它们私自逃离农场,购买了一个密码锁,以此阻止奶牛们打开农场大门。约翰知道他的奶牛们都非常聪明,因此他想要确保它们不能通过简单的尝试一些密码组合,就轻易的将锁打开。锁具上有三个密码拨盘,每个拨盘上的数字为1∼N1\sim N1∼N,其中111和NNN相邻(因为拨盘是圆形的)。一共有两种可以打开密码锁的数字组合,一组是约翰设置的密码组合,一组是制造商设置的密码组合。这种锁具有一定的容错性,只要三个表盘上的数字与任意一原创 2022-05-07 14:06:18 · 444 阅读 · 1 评论 -
AcWing 1874. 哞加密(枚举,哈希)
【题目描述】许多人都不知道,奶牛很喜欢拼图,特别是单词拼图。农夫约翰的奶牛最近发明了一个有趣的“单词查找器”拼图。这种拼图的一个例子是:USOPENOOMABOMOOMXOPQMROM作为奶牛,它们唯一感兴趣的单词是MOO,它可以在拼图中多次沿水平、垂直、454545度斜线或135135135度斜线出现。上例中,MOO一共出现了666次。农夫约翰也是个拼图迷,由于奶牛们不希望他在它们之前解决“单词查找器”拼图,因此它们使用”替换密码“对内容进行了加密。该“替换密码”用不同的字母替换了原创 2022-04-22 18:18:39 · 2338 阅读 · 0 评论 -
AcWing 3617. 子矩形计数(思维题,差分)
【题目描述】给定一个长度为nnn的数组aaa和一个长度为mmm的数组bbb。两个数组均只包含000和111。利用两个给定数组生成一个n×mn\times mn×m的矩阵ccc,其中cij=ai×bjc_{ij}=a_i\times b_jcij=ai×bj。显然,矩阵ccc中也只包含000和111。请问,矩阵ccc中有多少个大小(面积)恰好为kkk且只包含111的子矩形?子矩形是指矩阵中连续若干行和连续若干列的交集。例如,考虑四个整数x1,x2,y1,y2(1≤x1≤x2≤n,1≤y1≤原创 2022-04-18 22:42:32 · 406 阅读 · 0 评论 -
AcWing 3583. 整数分组(DP,双指针)
【题目描述】给定nnn个整数a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an。现在,请你从中挑选一些数,并将选出的数进行分组。要求:选出的数最多划分为kkk组(至少111组)。同一组内,任意两数之差的绝对值不超过555。所选出的数尽可能多。请问,最多可以选出多少个数进行分组?【输入格式】第一行包含两个整数nnn和kkk。第二行包含nnn个整数a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an。【输出格式】输出一个整原创 2022-04-18 16:33:33 · 738 阅读 · 0 评论 -
AcWing 3580. 整数配对(贪心)
【题目描述】给定nnn个整数a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an,nnn为偶数。现在要将它们两两配对,组成n2\frac{n}{2}2n个数对。aia_iai和aja_jaj能够配对,当且仅当ai=aja_i=a_jai=aj。每次增加操作可以使其中的任意一个数aia_iai加一。请问,要使得nnn个整数能够成功组成n2\frac{n}{2}2n个数对,至少要进行多少次增加操作。【输入格式】第一行包含整数nnn。第二行包含nnn个整原创 2022-04-18 15:40:23 · 264 阅读 · 0 评论 -
AcWing 3574. 乘积数量(思维题,前缀和)
【题目描述】给定一个长度为nnn且不包含000的整数序列a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an。请你计算以下两值:使得al×al+1×⋯×ara_l\times a_{l+1}\times \dots \times a_ral×al+1×⋯×ar为负的索引对[l,r](l≤r)[l,r](l≤r)[l,r](l≤r)的数量。使得al×al+1×⋯×ara_l\times a_{l+1}\times \dots \times a_ral×al+1原创 2022-04-18 14:31:13 · 183 阅读 · 0 评论 -
AcWing 3565. 完美矩阵(思维题,绝对值不等式)
【题目描述】如果一个矩阵能够满足所有的行和列都是回文序列,则称这个矩阵为一个完美矩阵。一个整数序列a1,a2,…,aka_1,a_2,\dots ,a_ka1,a2,…,ak,如果满足对于任何整数i(1≤i≤k)i(1≤i≤k)i(1≤i≤k),等式ai=ak−i+1a_i=a_k-i+1ai=ak−i+1均成立,则这个序列是一个回文序列。给定一个n×mn×mn×m的矩阵aaa,每次操作可以将矩阵中的某个元素加一或减一,请问最少经过多少次操作后,可以将矩阵aaa变为一个完美矩阵?【输入格式原创 2022-04-18 13:47:06 · 331 阅读 · 0 评论 -
AcWing 3333. K-优字符串(双指针,思维题)
【题目描述】Charles将一个字符串的优良分数定义为,在1≤i≤N/21≤i≤N/21≤i≤N/2的范围内,满足Si≠SN−i+1S_i\ne S_{N-i+1}Si=SN−i+1的iii的数量(索引从111开始)。例如,字符串CABABC的优良分数为222,因为S2≠S5S_2\ne S_5S2=S5并且S3≠S4S_3≠S_4S3=S4。Charles给了Ada一个长度为NNN的由大写字母构成的字符串SSS,并让她将其转换为一个优良分数为KKK的字符串。每次操作,Ada原创 2022-04-18 11:10:06 · 199 阅读 · 0 评论 -
AcWing 3483. 2的幂次方(DFS)
【题目描述】每个正数都可以用指数形式表示。例如,137=27+23+20137=27+23+20137=27+23+20。让我们用a(b)a(b)a(b)来表示aba^bab。那么137137137可以表示为2(7)+2(3)+2(0)2(7)+2(3)+2(0)2(7)+2(3)+2(0)。因为7=22+2+207=22+2+207=22+2+20,3=2+203=2+203=2+20,所以137137137最终可以表示为2(2(2)+2+2(0))+2(2+2(0))+2(0)2(2(2)+2原创 2022-04-18 10:11:16 · 194 阅读 · 0 评论 -
AcWing 1883. 删减(字符栈)
【题目描述】农夫约翰把杂志上所有的文章摘抄了下来并把它变成了一个长度不超过10610^6106的字符串SSS。他希望从SSS中删除子串TTT。农夫约翰在SSS中从头开始寻找子串TTT,一旦找到,就将它从SSS中删除,然后再次从头开始寻找(而不是接着往下找)。他重复这个操作直到SSS中没有子串TTT为止。注意,删除一个子串TTT可能会导致一个新的子串TTT的出现。请帮助约翰完成这些操作并输出最后的SSS。【输入格式】第一行包含字符串SSS。第二行包含字符串TTT。【输出格式】输出操作完成原创 2022-04-17 21:18:31 · 435 阅读 · 0 评论 -
AcWing 3516. 最大面积(单调栈)
【题目描述】给定一个N×MN×MN×M的010101矩阵,矩阵下标从000开始。有QQQ个询问,第iii个询问为:将矩阵中(xi,yi)(x_i,y_i)(xi,yi)的元素改成000之后,只包含111的子矩阵的最大面积是多少。注意:每次询问均是独立的。询问方格内元素可能本来就是000。子矩阵的面积是指矩阵的大小。【输入格式】第一行包含两个整数N,MN,MN,M。接下来NNN行,每行包含MMM个010101字符。再一行包含整数QQQ。接下来QQQ行,每行包含222个整数(xi,原创 2022-04-16 09:53:27 · 223 阅读 · 0 评论 -
AcWing 3481. 阶乘的和(枚举,状态压缩)
【题目描述】给定一个非负整数nnn,请你判断是否存在一些整数xix_ixi,能够使得n=Σi=1txi!n=\Sigma_{i=1}^{t}x_i!n=Σi=1txi!,其中t≥1,xi≥0,xi=xj iff i=jt≥1,x_i≥0,x_i=x_j\ iff\ i=jt≥1,xi≥0,xi=xj iff i=j。iffiffiff表示当且仅当。【输入格式】输入包含多组测试数据。每组数据占一行,包含一个非负整数nnn。最后一行是一个负数,表示原创 2022-04-15 22:21:11 · 265 阅读 · 0 评论 -
AcWing 3489. 星期几(模拟)
【题目描述】已知111年111月111日是星期一。现在给定一个日期,请你判断是星期几。注意闰年的222月有292929天。满足下面条件之一的是闰年:年份是444的整数倍,而且不是100100100的整数倍;年份是400400400的整数倍。【输入格式】输入包含多组测试数据。每组数据占一行,包含一个整数ddd表示日,一个字符串mmm表示月,一个整数yyy表示年。月份1∼121\sim 121∼12,依次如下所示:January, February, March, April, May原创 2022-04-15 14:22:47 · 564 阅读 · 0 评论 -
AcWing 3510. 最长公共子序列(DP,LIS,LCS)
【题目描述】给出两个长度为nnn的整数序列,求它们的最长公共子序列(LCS)的长度,保证第一个序列中所有元素都不重复。注意:第一个序列中的所有元素均不重复。第二个序列中可能有重复元素。一个序列中的某些元素可能不在另一个序列中出现。【输入格式】第一行包含一个整数nnn。接下来两行,每行包含nnn个整数,表示一个整数序列。【输出格式】输出一个整数,表示最长公共子序列的长度。【数据范围】1≤n≤1061≤n≤10^61≤n≤106序列内元素取值范围[1,106][1,10^6][1,原创 2022-04-15 13:46:01 · 311 阅读 · 0 评论 -
AcWing 3502. 不同路径数(DFS)
【题目描述】给定一个n×mn×mn×m的二维矩阵,其中的每个元素都是一个[1,9][1,9][1,9]之间的正整数。从矩阵中的任意位置出发,每次可以沿上下左右四个方向前进一步,走过的位置可以重复走。走了kkk次后,经过的元素会构成一个(k+1)(k+1)(k+1)位数。请求出一共可以走出多少个不同的(k+1)(k+1)(k+1)位数。【输入格式】第一行包含三个整数n,m,kn,m,kn,m,k。接下来nnn行,每行包含mmm个空格隔开的整数,表示给定矩阵。【输出格式】输出一个整数,表示可以原创 2022-04-15 11:29:03 · 505 阅读 · 0 评论 -
AcWing 3499. 序列最大收益(DP)
【题目描述】给定一个长度为mmm的整数序列a1,a2,…,ama_1,a_2,\dots ,a_ma1,a2,…,am。序列中每个元素的值aia_iai均满足1≤ai≤n1≤a_i≤n1≤ai≤n。当一个值为iii的元素和一个值为jjj的元素相邻时,可以产生的收益为wi,jw_{i,j}wi,j。现在,我们可以从序列中删除最多kkk个元素,删除一些元素后,原本不相邻的元素可能会变得相邻。序列的收益和为所有相邻元素对产生的收益之和,例如一个长度为333的整数序列1,3,21,3,21,3原创 2022-04-15 10:30:41 · 354 阅读 · 0 评论 -
AcWing 3493. 最大的和(双指针)
【题目描述】给定一个长度为nnn的正整数数列a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an。初始时,数列中的每个元素要么处于可选状态,要么处于不可选状态。你可以选择一个长度恰好为kkk的区间[i,i+k−1][i,i+k-1][i,i+k−1],使得ai∼ai+k−1a_i\sim a_{i+k-1}ai∼ai+k−1这kkk个元素的状态全部变为可选。请问,在经过此操作后,所有处于可选状态的元素之和最大是多少。【输入格式】第一行包含两个整数nnn和kkk。原创 2022-04-14 16:21:57 · 193 阅读 · 0 评论 -
AcWing 3485. 最大异或和(Trie,前缀和)
【题目描述】给定一个非负整数数列aaa,初始长度为NNN。请在所有长度不超过MMM的连续子数组中,找出子数组异或和的最大值。子数组的异或和即为子数组中所有元素按位异或得到的结果。注意:子数组可以为空。【输入格式】第一行包含两个整数N,MN,MN,M。第二行包含NNN个整数,其中第iii个为aia_iai。【输出格式】输出可以得到的子数组异或和的最大值。【数据范围】对于20%20\%20%的数据,1≤M≤N≤1001≤M≤N≤1001≤M≤N≤100对于50%50\%50%的数据,1原创 2022-04-14 15:34:37 · 336 阅读 · 0 评论 -
AcWing 1902. 马拉松(枚举)
【题目描述】农夫约翰对他的奶牛们的健康状况并不满意,于是给他的奶牛们报名了各种健身活动。他最喜欢的奶牛贝茜被报名参加了一个跑步班。在那里,她有希望在一场马拉松比赛中穿越约翰农场所在的城市的市中心。马拉松线路由NNN个检查点(编号1∼N1\sim N1∼N)指定。检查点111是起点,检查点NNN是终点,贝茜要按顺序经过每个检查点。但是贝茜十分懒惰,所以她决定跳过其中一个检查点,以缩短她的整个行程。但是,她不能跳过检查点111和检查点NNN,因为这太容易被人发现了。在她可以跳过一个检查点的情况下原创 2022-04-14 11:37:58 · 379 阅读 · 0 评论 -
AcWing 4380. 合并石子(双指针,贪心)【第一届ACC全国高校联赛(决赛)】
【题目描述】小A面前有nnn堆石子排成一排,每堆石子的数量从左到右依次为a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an。小B面前有mmm堆石子排成一排,每堆石子的数量从左到右依次为b1,b2,…,bmb_1,b_2,\dots ,b_mb1,b2,…,bm。两人面前的石子总数相同,即a1+a2+⋯+an=b1+b2+⋯+bma_1+a_2+\dots +a_n=b_1+b_2+\dots +b_ma1+a2+⋯+an=b1+b2+⋯+bm。每个人原创 2022-03-27 20:40:24 · 590 阅读 · 0 评论 -
AcWing 1659. 社交距离 I(分类讨论,贪心)
【题目描述】一种新型疾病,COWVID-19,开始在全世界的奶牛之间传播。Farmer John正在采取尽可能多的预防措施来防止他的牛群被感染。Farmer John的牛棚是一个狭长的建筑物,有一排共NNN个牛栏。有些牛栏里目前有奶牛,有些目前空着。得知“社交距离”的重要性,Farmer John希望使得DDD尽可能大,其中DDD为最近的两个有奶牛的牛栏的距离。例如,如果牛栏333和888是最近的有奶牛的牛栏,那么D=5D=5D=5。最近两头奶牛新来到Farmer John的牛群,他需要决定将原创 2022-03-25 08:27:32 · 331 阅读 · 0 评论 -
AcWing 3745. 牛的学术圈 I(贪心,双指针)
【题目描述】由于对计算机科学的热爱,以及有朝一日成为「Bessie博士」的诱惑,奶牛Bessie开始攻读计算机科学博士学位。经过一段时间的学术研究,她已经发表了NNN篇论文,并且她的第iii篇论文得到了来自其他研究文献的cic_ici次引用。Bessie听说学术成就可以用hhh指数来衡量。hhh指数等于使得研究员有至少hhh篇引用次数不少于hhh的论文的最大整数hhh。例如,如果一名研究员有444篇论文,引用次数分别为(1,100,2,3)(1,100,2,3)(1,100,2,3),则hhh指原创 2022-03-20 09:29:43 · 446 阅读 · 2 评论 -
AcWing 3370. 牛年(字符串,哈希表)
【题目描述】Farmer John的奶牛们得知最近正在庆祝牛年的到来时十分兴奋。牛年总是奶牛们的最爱。我们知道,中国历法中每一年所对应的生肖遵循121212年的周期:Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig, Rat(牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪、鼠),然后回到牛。奶牛Bessie自豪地说她是在许多年前的一个牛年出生的。她的朋友Elsie想要知道她与Bessie出生相差多少年,并且原创 2022-03-18 09:12:36 · 283 阅读 · 0 评论 -
AcWing 131. 直方图中最大的矩形(单调栈)
【题目描述】直方图是由在公共基线处对齐的一系列矩形组成的多边形。矩形具有相等的宽度,但可以具有不同的高度。例如,图例左侧显示了由高度为2,1,4,5,1,3,32,1,4,5,1,3,32,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为111:通常,直方图用于表示离散分布,例如,文本中字符的频率。现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。图例右图显示了所描绘直方图的最大对齐矩形。【输入格式】输入包含几个测试用例。每个测试用例占据一行,用以描述一个直方图,并以整数n原创 2022-03-15 13:54:52 · 1106 阅读 · 0 评论 -
AcWing 1497. 树的遍历(递归建树)
【题目描述】一个二叉树,树中每个节点的权值互不相同。现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。【输入格式】第一行包含整数NNN,表示二叉树的节点数。第二行包含NNN个整数,表示二叉树的后序遍历。第三行包含NNN个整数,表示二叉树的中序遍历。【输出格式】输出一行NNN个整数,表示二叉树的层序遍历。【数据范围】1≤N≤301≤N≤301≤N≤30官方并未给出各节点权值的取值范围,为方便起见,在本网站范围取为1∼N1\sim N1∼N。【输入样例】72 3 1 5 7 6原创 2022-03-14 15:11:01 · 1009 阅读 · 0 评论 -
AcWing 1660. 社交距离 II(贪心,双指针)
【题目描述】由于高传染性的牛传染病COWVID-19的爆发,Farmer John非常担忧他的奶牛们的健康。尽管他尽了最大努力使他的NNN头奶牛们践行“社交距离”,还是有许多奶牛不幸染上了疾病。编号为1∼N1\sim N1∼N的奶牛们分别位于一条长直道路上的不同位置(相当于一维数轴),奶牛iii位于位置xix_ixi。Farmer John知道存在一个半径RRR,任何与一头被感染的奶牛距离不超过RRR单位的奶牛也会被感染(然后会传染给与其距离RRR单位内的奶牛,以此类推)。不幸的是,Farmer原创 2022-02-19 19:51:33 · 187 阅读 · 0 评论 -
AcWing 1443. 拍照(枚举)
【题目描述】农夫约翰在给他编号为1∼N1\sim N1∼N的NNN头奶牛排队拍照。约翰一开始计划从左向右数第iii个位置排编号为aia_iai的奶牛,他在一张纸上写下了排列a1,a2,…,aNa_1,a_2,\dots ,a_Na1,a2,…,aN。不幸的是,这张纸刚刚被小偷偷走了!幸好约翰仍然有机会恢复他之前写下的排列。在这张纸被偷走之前,奶牛贝茜记录了序列b1,b2,…,bN−1b_1,b_2,\dots ,b_{N-1}b1,b2,…,bN−1,对于每一个1≤i<N1≤i原创 2022-02-19 19:11:51 · 246 阅读 · 0 评论 -
AcWing 1460. 我在哪?(二分,字符串哈希)
【题目描述】农夫约翰出门沿着马路散步,但是他现在发现自己可能迷路了!沿路有一排共NNN个农场。不幸的是农场并没有编号,这使得约翰难以分辨他在这条路上所处的位置。然而,每个农场都沿路设有一个彩色的邮箱,所以约翰希望能够通过查看最近的几个邮箱的颜色来唯一确定他所在的位置。每个邮箱的颜色用A∼ZA\sim ZA∼Z之间的一个字母来指定,所以沿着道路的NNN个邮箱的序列可以用一个长为NNN的由字母A∼ZA\sim ZA∼Z组成的字符串来表示。某些邮箱可能会有相同的颜色。约翰想要知道最小的KKK的值,使原创 2022-02-19 10:25:10 · 676 阅读 · 0 评论