自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 算法竞赛进阶指南:0x18:黑盒子

黑盒子代表一个原始的数据库。它可以用来储存整数数组,并且它拥有一个特殊变量ii。在最开始,黑盒子是空的,并且i=0。现在对黑盒子进行一系列的操作处理,操作包括以下两种:ADD(x):表示将x加入到黑盒子中。 GET:使i增加1,输出黑盒子中第i小的数值(即将所有数按升序排序后的第i个数)。下面给出一个具体例子:序号 操作 i 盒子内数(升序排列后) 输出的值 1 ADD(3) 0 3 ...

2022-03-01 22:14:26 306 1

原创 算法竞赛进阶指南:0x18:电话列表

给出一个电话列表,如果列表中存在其中一个号码是另一个号码的前缀这一情况,那么就称这个电话列表是不兼容的。假设电话列表如下:Emergency 911 Alice 97 625 999 Bob 91 12 54 26在此例中,报警电话号码(911)为 Bob 电话号码(91 12 54 26)的前缀,所以该列表不兼容。输入格式第一行输入整数 t,表示测试用例数量。对于每个测试用例,第一行输入整数 n,表示电话号码数量。接下来 n 行,每行输入一个电话号码,号码内数字之间无空格,电

2022-03-01 20:41:46 270

原创 算法竞赛进阶指南:0x18:匹配统计

阿轩在纸上写了两个字符串,分别记为A和B。利用在数据结构与算法课上学到的知识,他很容易地求出了“字符串A从任意位置开始的后缀子串”与“字符串B”匹配的长度。不过阿轩是一个勤学好问的同学,他向你提出了Q个问题:在每个问题中,他给定你一个整数x,请你告诉他有多少个位置,满足“字符串AA从该位置开始的后缀子串”与B匹配的长度恰好为x。例如:A=aabcde,B=ab,则A有aabcde、abcde、bcde、cde、de、e 这6个后缀子串,它们与B=ab ...

2022-03-01 18:03:06 381

原创 算法竞赛进阶指南:0x18:奶牛矩阵

每天早上,农夫约翰的奶牛们被挤奶的时候,都会站成一个 R 行 C 列的方阵。现在在每个奶牛的身上标注表示其品种的大写字母,则所有奶牛共同构成了一个 R 行 C 列的字符矩阵。现在给定由所有奶牛构成的矩阵,求它的最小覆盖子矩阵的面积是多少。如果一个子矩阵无限复制扩张之后得到的矩阵能包含原来的矩阵,则称该子矩阵为覆盖子矩阵。输入格式第 1 行:输入两个用空格隔开的整数,R 和 C。第 2..R+1 行:描绘由奶牛构成的 R 行 C列的矩阵,每行 C 个字符,字符之间没有空格。输出格.

2022-02-28 23:02:16 234

原创 算法进阶指南:0x18:项链

有一天,达达捡了一条价值连城的宝石项链,但是,一个严重的问题是,他并不知道项链的主人是谁!在得知此事后,很多人向达达发来了很多邮件,都说项链是自己的,要求他归还(显然其中最多只有一个人说了真话)。达达要求每个人都写了一段关于自己项链的描述: 项链上的宝石用数字0至9来标示。一个对于项链的表示就是从项链的某个宝石开始,顺指针绕一圈,沿途记下经过的宝石,比如项链:0−1−2−3,它的可能的四种表示是0123、1230、2301、3012。达达现在心急如焚,于是他找到了你,希望你能够编...

2022-02-28 21:40:24 129

原创 算法竞赛进阶指南:0x18:树形地铁系统

一些主要城市拥有树形的地铁系统,即在任何一对车站之间,有且只有一种方式可以乘坐地铁。此外,这些城市大多数都有一个中央车站。想象一下,你是一名在拥有树形地铁系统的城市游玩的游客,你想探索该城市完整的地铁线路。你从中央车站出发,随机选择一条地铁线,然后乘坐地铁行进。每次到达一个车站,你都将选择一条尚未乘坐过的地铁线路进行乘坐。如果不存在未乘坐过的线路,则退回到上一个车站,再做选择。直到你将所有地铁线路都乘坐过两次(往返各一次),此时你将回到中央车站。之后,你以一种特殊的方式回忆自己的

2022-02-28 16:29:26 155

原创 算法竞赛进阶指南:0x18:矩阵

给定一个 M 行 N 列的 01 矩阵(只包含数字 0 或 1 的矩阵),再执行 Q 次询问,每次询问给出一个 A 行 B 列的 01 矩阵,求该矩阵是否在原矩阵中出现过。输入格式第一行四个整数 M,N,A,B。接下来一个 M 行 N 列的 01 矩阵,数字之间没有空格。接下来一个整数 Q。接下来 Q 个 A 行 B 列的 01 矩阵,数字之间没有空格。输出格式对于每个询问,输出 1 表示出现过,0 表示没有出现过。数据范围A≤100,M,N,B≤1000,Q≤1000

2022-02-28 15:17:16 254

原创 算法竞赛进阶指南:0x18:内存分配

内存是计算机重要的资源之一,程序运行的过程中必须对内存进行分配。经典的内存分配过程是这样进行的:1、 内存以内存单元为基本单位,每个内存单元用一个固定的整数作为标识,称为地址。地址从0开始连续排列,地址相邻的内存单元被认为是逻辑上连续的。我们把从地址i开始的s个连续的内存单元称为首地址为i长度为s的地址片。2、 运行过程中有若干进程需要占用内存,对于每个进程有一个申请时刻T,需要内存单元数M及运行时间P。在运行时间P内(即T时刻开始,T+P时刻结束),这M...

2022-02-20 20:46:22 354

原创 算法进阶指南:0x18:双栈排序

Tom 最近在研究一个有趣的排序问题。通过2个栈S1和S2,Tom 希望借助以下4种操作实现将输入序列升序排序。操作a如果输入序列不为空,将第一个元素压入栈S1操作b如果栈S1不为空,将S1栈顶元素弹出至输出序列操作c如果输入序列不为空,将第一个元素压入栈S2操作d如果栈S2不为空,将S2栈顶元素弹出至输出序列如果一个1∼n的排列P可以通过一系列操作使得输出序列为1,2,…,(n−1),n,Tom 就称P是一个”...

2022-02-18 20:27:32 303

原创 算法竞赛进阶指南:0x18:城市游戏

有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。这片土地被分成N×M 个格子,每个格子里写着R或者F,R代表这块土地被赐予了 rainbow,F代表这块土地被赐予了 freda。现在 freda 要在这里卖萌。。。它要找一块矩形土地,要求这片土地都标着F并且面积最大。但是 rainbow 和 freda 的 OI 水平都弱爆了,找不出这块土地,而蓝兔也想看 freda 卖萌(她显然是不会编程的……)...

2022-02-18 15:34:43 2548

原创 算法竞赛进阶指南:0x18:表达式计算4

原题链接给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值。数据可能会出现括号情况,还有可能出现多余括号情况。数据保证不会出现大于或等于2^31的答案。数据可能会出现负数情况。输入格式输入仅一行,即为表达式。输出格式输出仅一行,既为表达式算出的结果。输入样例:(2+2)^(1+1)输出样例:16思路:(1):双栈,1个栈存储数字,一个栈存储运算符(2):运算符优先级,栈顶运算符和即将入栈的运算符.

2022-02-18 13:34:09 261

原创 算法进阶指南:0x17:荷马史诗

原题链接追逐影子的人,自己就是影子。 ——荷马达达最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,达达想通过一种编码方式使得它变得短一些。一部《荷马史诗》中有n种不同的单词,从1到n进行编号。其中第i种单词出现的总次数为wi。达达想要用k进制串si来替换第i种单词,使得其满足如下要求:对于任意的1≤i,j≤n,i≠j,都有:si...

2022-02-17 17:50:03 97

原创 算法竞赛进阶指南:0x17:合并果子

原题链接在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1次合并之后,就只剩下一堆了。达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以达达在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使...

2022-02-17 17:43:24 67

原创 算法竞赛进阶指南:0x17:数据备份

原题链接思路:贪心+堆+双链表算法:容易发现:最优解中每两个配对的办公楼一定相邻的,我们求出每两个相邻办公楼的距离,记为d1,d2,d3 …… d(n-1);问题可以转化为从d数列中选出不超过k个数,使得和最小,求最小和,且相邻的两个数不能同时被选(任一办公楼都属于唯一配对组),假设d数组最小值是di,如果k=1:答案就是di;如果k=2:答案是下列两种情况:最小值di + 除了di,d(i-1),d(i+1)之外的最小值,d(i-1) + d(i+1);证明:如果d(i-1)和d

2022-02-17 10:44:31 174

原创 算法竞赛进阶指南:食物链

原题链接动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1∼N 编号。每个动物都是A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示X和Y是同类。第二种说法是2 X Y,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句...

2021-12-08 22:49:34 133

原创 算法竞赛进阶指南0x18:练习6:滑动窗口

原题链接给定一个大小为n≤10^6 的数组。有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到k个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为[1 3 -1 -3 5 3 6 7],k为33。窗口位置 最小值 最大值 [1 3 -1] -3 5 3 6 7 -1 3 1 [3 -1 -3] 5 3 6 7 -3 3 1 3 [-1 -3 5] 3 6 7 -3 5...

2021-12-07 13:51:35 154

原创 归并排序详解

归并排序采用的是分治的思想,先将待排序的部分分为左部分和右部分,左右两部分在不断细分,再将左边和右边分别合并排序,最后将左边和右边合并排序;#include<iostream>using namespace std;const int N=1e5+10;int a[N],temp[N],n;//temp数组用来中间过渡存储void merge(int l,int r){//归并函数 if(l>=r) return; int mid=l+r>>.

2021-12-02 16:33:22 773

原创 二分查找两种情况

1:查找小于等于x的第一个元素int min_x(int x){//查找不小于x的第一个元素 int l=0,r=n-1; while(l<r){ int mid=l+r>>1; if(a[mid]<x) l=mid+1; else r=mid; } if(a[l]==x) return l; else return -1;}当a[mid]<x时,其左边的元素也一定<x,

2021-12-02 16:24:58 748

原创 算法进阶指南:0x16:最长异或路径

原题链接给定一个树,树上的边都具有权值。树中一条路径的异或长度被定义为路径上所有边的权值的异或和:⊕为异或符号。给定上述的具有n个节点的树,你能找到异或长度最大的路径吗?输入格式第一行包含整数n,表示树的节点数目。接下来n−1 行,每行包括三个整数u,v,w,表示节点u和节点v之间有一条边权重为w。输出格式输出一个整数,表示异或长度最大的路径的最大异或和。数据范围1≤n≤100000,0≤u,v<n,0≤w<2^31输...

2021-12-02 13:22:17 483

原创 算法竞赛进阶指南:0x17:Sequence

原题链接给定m个序列,每个包含n个非负整数。现在我们可以从每个序列中选择一个数字以形成具有m个整数的序列。很明显,我们一共可以得到nm个这种序列,然后我们可以计算每个序列中的数字之和,并得到nm个值。现在请你求出这些序列和之中最小的n个值。输入格式第一行输入一个整数T,代表输入中包含测试用例的数量。接下来输入T组测试用例。对于每组测试用例,第一行输入两个整数m和n。接下在m行输入m个整数序列,数列中的整数均不超过10000。...

2021-12-01 19:18:57 199

原创 算法竞赛进阶指南:0x17:超市

原题链接超市里有N件商品,每件商品都有利润pi和过期时间di,每天只能卖一件商品,过期商品不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。输入格式输入包含多组测试用例。每组测试用例,以输入整数N开始,接下来输入N对pi和di,分别代表第i件商品的利润和过期时间。在输入中,数据之间可以自由穿插任意个空格或空行,输入至文件结尾时终止输入,保证数据正确。输出格式对于每组产品,输出一个该组的最大收益值。每个结果占一行。数据范围...

2021-12-01 17:32:06 141

原创 算法竞赛进阶指南:0x18练习2:括号画家

原题链接达达是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的达达画了一排括号序列,其中包含小括号( )、中括号[ ]和大括号{ },总长度为N。这排随意绘制的括号序列显得杂乱无章,于是达达定义了什么样的括号序列是美观的:空的括号序列是美观的; 若括号序列A是美观的,则括号序列(A)、[A]、{A}也是美观的; 若括号序列A、B 都是美观的,则括号序列 AB也是美观的。例如[(){}]()是美观的括号序列,而)({)[}](则不是。现...

2021-12-01 16:01:25 606

原创 算法竞赛进阶指南:0x16:最大异或对

原题链接在给定的N个整数A1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数N。第二行输入N个整数A1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤10^5,0≤Ai<2^31输入样例:31 2 3输出样例:3解法1:暴力枚举O(n^2),超时解法2:trie(字典树)对于一个数,要求出它的异或最大值,则最优解另一个数二进制每一位都跟它相反,这样结果最大;...

2021-11-30 22:48:39 286

原创 算法竞赛进阶指南:0x16:前缀统计

原题链接给定N个字符串S1,S2…SN,接下来进行M次询问,每次询问给定一个字符串T,求S1∼SN 中有多少个字符串是T的前缀。输入字符串的总长度不超过10^6,仅包含小写字母。输入格式第一行输入两个整数N,M。接下来N行每行输入一个字符串Si。接下来M行每行一个字符串T用以询问。输出格式对于每个询问,输出一个整数表示答案。每个答案占一行。输入样例:3 2abbcabcabcefg输出样例:20解...

2021-11-30 21:58:51 351

原创 算法竞赛进阶指南:0x15:period

原题链接一个字符串的前缀是从第一个字符开始的连续若干个字符,例如abaab共有5个前缀,分别是a,ab,aba,abaa,abaab。我们希望知道一个N位字符串S的前缀是否具有循环节。换言之,对于每一个从头开始的长度为i(i>1)的前缀,是否由重复出现的子串A组成,即AAA…A(A重复出现K次,K>1)。如果存在,请找出最短的循环节对应的KK值(也就是这个前缀串的所有可能重复节中,最大的KK值)。输入格式输入包括多组测试数据,每组测试...

2021-11-30 15:11:17 411

原创 算法竞赛进阶指南:0x14:后缀数组

原题链接后缀数组 (SA) 是一种重要的数据结构,通常使用倍增或者 DC3 算法实现,这超出了我们的讨论范围。在本题中,我们希望使用快排、Hash 与二分实现一个简单的O(nlog^2n) 的后缀数组求法。详细地说,给定一个长度为n的字符串S(下标0∼n−1),我们可以用整数k(0≤k<n) 表示字符串S的后缀S(k∼n−1)。把字符串S的所有后缀按照字典序排列,排名为i的后缀记为SA[i]。额外地,我们考虑排名为i的后缀与排名为i−1 的后缀,把...

2021-11-29 22:25:09 203

原创 算法竞赛进阶指南0x14:Palindrome

原题链接如果一个字符串正着读和倒着读是一样的,则称它是回文的。给定一个长度为N的字符串S,求他的最长回文子串的长度是多少。输入格式输入将包含最多30个测试用例,每个测试用例占一行,以最多1000000 个小写字符的形式给出。输入以一个以字符串END开头的行表示输入终止。输出格式对于输入中的每个测试用例,输出测试用例编号和最大回文子串的长度(参考样例格式)。每个输出占一行。输入样例:abcbabcbabcbaabacacbaaaabEND输出样...

2021-11-29 17:44:42 229

原创 算法竞赛进阶指南:0x14:兔子与兔子

原题链接很久很久以前,森林里住着一群兔子。有一天,兔子们想要研究自己的 DNA 序列。我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含26 个小写英文字母)。然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。注意两个兔子一模一样只可能是他们的 DNA 序列一模一样。输入格式第一行输入一个 DNA 字符串S。第二行一个数字m,表示m次询问。接下来m行,每行四个数字l1,...

2021-11-29 00:11:25 104

原创 算法竞赛进阶指南:0x14:雪花雪花雪花

原题链接有N片雪花,每片雪花由六个角组成,每个角都有长度。第i片雪花六个角的长度从某个角开始顺时针依次记为ai,1,ai,2,…,ai,6。因为雪花的形状是封闭的环形,所以从任何一个角开始顺时针或逆时针往后记录长度,得到的六元组都代表形状相同的雪花。例如ai,1,ai,2,…,ai,6 和ai,2,ai,3,…,ai,6,ai,1 就是形状相同的雪花。ai,1,ai,2,…,ai,6 和ai,6,ai,5,…,ai,1 也是形状相同的雪花。我们称两片雪花形状相同,当且...

2021-11-28 23:23:30 166

原创 算法竞赛进阶指南:0x13:邻值查找

原题链接给定一个长度为n的序列A,A中的数各不相同。对于A中的每一个数Ai,求:min1≤j<i|Ai−Aj|以及令上式取到最小值的j(记为Pi)。若最小值点不唯一,则选择使Aj较小的那个。输入格式第一行输入整数n,代表序列长度。第二行输入n个整数A1…An,代表序列的具体数值,数值之间用空格隔开。输出格式输出共n−1 行,每行输出两个整数,数值之间用空格隔开。分别表示当i取2∼n 时,对应的min1≤j<i|Ai−A...

2021-11-28 17:59:25 325

原创 算法竞赛进阶指南:0x12:双端队列

原题链接达达现在碰到了一个棘手的问题,有NN个整数需要排序。达达手头能用的工具就是若干个双端队列。她从1到N需要依次处理这N个数,对于每个数,达达能做以下两件事:1.新建一个双端队列,并将当前数作为这个队列中的唯一的数;2.将当前数放入已有的队列的头之前或者尾之后。对所有的数处理完成之后,达达将这些队列按一定的顺序连接起来后就可以得到一个非降的序列。请你求出最少需要多少个双端序列。输入格式第一行输入整数N,代表整数的个数。接下来N行,每行包括一个整...

2021-11-28 15:19:50 590

原创 算法竞赛进阶指南:0x12:最大子序和

原题链接输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大。注意:子序列的长度至少是1。输入格式第一行输入两个整数n,m。第二行输入n个数,代表长度为n的整数序列。同一行数之间用空格隔开。输出格式输出一个整数,代表该序列的最大子序和。数据范围1≤n,m≤300000输入样例:6 41 -3 5 1 -2 3输出样例:7思路:单调队列:一般区间和用前缀和做,这道题前缀和枚举...

2021-11-27 23:10:34 693

原创 算法竞赛进阶指南0x12:蚯蚓

原题链接蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。蛐蛐国里现在共有n只蚯蚓,第ii只蚯蚓的长度为ai,所有蚯蚓的长度都是非负整数,即可能存在长度为0的蚯蚓。每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只,将其切成两段。若有多只最长的,则任选一只。神刀手切开蚯蚓的位置由有理数pp决定。一只长度为x的蚯蚓会被切成两只长度分别为⌊px⌋和 x−⌊px⌋的蚯蚓。特殊地,如果这两个数的其中一个等...

2021-11-27 19:33:22 134

原创 算法竞赛进阶指南0x12:Team Queue

原题链接有n个小组要排成一个队列,每个小组中有若干人。当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。请你编写一个程序,模拟这种小组队列。输入格式:输入将包含一个或多个测试用例。对于每个测试用例,第一行输入小组数量tt。接下来tt行,每行输入一个小组描述,第一个数表示这个小组的人数,接下来的数表示这个小组的人的编号。编号是00到999999 范围内的整数。一个小组最多可包含1000 个人。...

2021-11-27 16:04:38 127

原创 算法竞赛进阶指南:0x11:直方图最大矩形

原题链接直方图是由在公共基线处对齐的一系列矩形组成的多边形。矩形具有相等的宽度,但可以具有不同的高度。例如,图例左侧显示了由高度为2,1,4,5,1,3,3 的矩形组成的直方图,矩形的宽度都为1:通常,直方图用于表示离散分布,例如,文本中字符的频率。现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。图例右图显示了所描绘直方图的最大对齐矩形。输入格式输入包含几个测试用例。每个测试用例占据一行,用以描述一个直方图,并以整数nn开始,表示组成直方图的矩形数目。...

2021-11-27 15:29:23 193

原创 算法竞赛进阶指南0x11:火车进栈

火车进栈这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头。这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出。也就是说这个火车站其实就相当于一个栈,每次可以让右侧头火车进栈,或者让栈顶火车出站。车站示意如图: 出站<—— <——进站 |车| ...

2021-11-26 23:10:42 644

原创 算法竞赛进阶指南0x11:Editor

原题链接你将要实现一个功能强大的整数序列编辑器。在开始时,序列是空的。编辑器共有五种指令,如下:1、I x,在光标处插入数值xx。2、D,将光标前面的第一个元素删除,如果前面没有元素,则忽略此操作。3、L,将光标向左移动,跳过一个元素,如果左边没有元素,则忽略此操作。4、R,将光标向右移动,跳过一个元素,如果右边没有元素,则忽略次操作。5、Q k,假设此刻光标之前的序列为a1,a2,…,ana1,a2,…,an,输出max1≤i≤kSimax1≤i≤kSi,其中Si=a1+a...

2021-11-26 13:08:33 337

原创 算法竞赛进阶指南0x11:push,pop,GetMin(最小栈)

原题链接设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈。push(x)–将元素x插入栈中 pop()–移除栈顶元素 top()–得到栈顶元素 getMin()–得到栈中最小元素样例MinStack minStack = new MinStack();minStack.push(-1);minStack.push(3);minStack.push(-4);minStack.getMin(); --> Returns -4.min

2021-11-25 20:42:37 161

原创 算法竞赛进阶指南0x10练习13:Task

原题链接今天某公司有M个任务需要完成。每个任务都有相应的难度级别和完成任务所需时间。第i个任务的难度级别为yi,完成任务所需时间为xi分钟。如果公司完成此任务,他们将获得(500×xi+2×yi)美元收入。该公司有N台机器,每台机器都有最长工作时间和级别。如果任务所需时间超过机器的最长工作时间,则机器无法完成此任务。如果任务难度级别超过机器的级别,则机器无法完成次任务。每台机器一天内只能完成一项任务。每个任务只能由一台机器完成。请为他们设计一个任务分...

2021-11-25 20:29:39 145

原创 算法竞赛进阶指南0x10练习12:To the max

原题链接给定一个包含整数的二维矩阵,子矩形是位于整个阵列内的任何大小为1×11×1或更大的连续子阵列。矩形的总和是该矩形中所有元素的总和。在这个问题中,具有最大和的子矩形被称为最大子矩形。例如,下列数组:0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩形为:9 2 -4 1 -1 8 它拥有最大和1515。输入格式输入中将包含一个N×NN×N的整数数组。第一行只输入一个整数NN,表示方形二维数组...

2021-11-25 17:42:55 40

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除