随笔分类 - uva
摘要:题意:一个 L*R 的网格里有 N 棵树,要求找一个最大空正方形并输出其左下角坐标和长。(1≤L,R≤10000, 0≤N≤100) 解法:枚举空正方形也就是枚举空矩阵,先要固定一个边,才好继续操作。(P.S.许多类型的题都是这样:先固定一个变量,再比较另外的变量。也就是我之前提到过的“部分枚举”。
阅读全文
摘要:题意:有一个区域,有'.'的陆地,'D'的深海域,'E'的浅海域。其中浅海域可以填充为陆地。这里的陆地区域不联通,并且整个地图都处在海洋之中。问填充一定浅海域之后所有岛屿的最长的海岸线之和。 解法:最小割。从“分隔”陆地和海域可以想到“割”的概念,然后我们先不考虑浅海域,要深海域和陆地的对数尽量大,
阅读全文
摘要:题意:有一个水塘,要求把它用围栏围起来,每个费用为b。其中,(#)代表草,(.)代表洞,把一个草变成洞需要费用d, 把一个洞变成草需要费用f。请输出合法方案中的最小费用。 解法:(不好理解......(‘・ω・’)っ) 【思考】 1.围栏把草和洞分隔开了,也就是“割”。但“割”只是把图中的点分成两部
阅读全文
摘要:题意:有N条长度为1的线段,要求使每条线段分别在相应区间,且“空隙”数目最小。输出“空隙”数。(1≤N≤100000) 解法:(P.S.我这题竟做了2个多小时,还是有点迷糊......ヽ(≧□≦)ノ)先按右端点从小到大排序,再是左端点。于是有2个理解:1. 扫一遍,r保存之前的线段的右端点的最大值,
阅读全文
摘要:题意:输入1~N的一个排列,每次可以交换2个整数,问使排列变成1~N的一个环状排列所需的虽少交换次数。(3≤N≤500) 解法:(又是一道我没打代码,光想和看就花了很久时间的题~QwQ)由于n很小,可以暴力枚举目标的环状排列,于是贪心交换——把元素 x 直接与它的目标位置上的元素互换,这样至少使1个
阅读全文
摘要:题意:有N个工作,已知每个工作需要的时间和截止时间。要求所有工作穿行完成,第一项任务开始的时间不早于时刻0。问最多能完成多少个工作。(N≤800000) 解法:贪心。可以模型化题目为:已知N个任务的长度和右端点的限制位置,问最多能完成的任务的个数。——也就是每一步在一定条件下要使得数目尽量大,以及时
阅读全文
摘要:题意:给定平面上N个点和一个值D,要求在x轴上选出尽量少的点,使得对于给定的每个店,都有一个选出的点离它的欧几里德距离不超过D。 解法:先把问题转换成模型,把对平面的点满足条件的点在x轴的直线上可得到一个个区间,这样就是选最小的点覆盖所有的区间的问题了。我之前的一篇博文有较详细的解释:关于贪心算法的
阅读全文
摘要:题意:有一个长度为N的序列A,满足1≤Ai≤i,每个数的正负号不知。请输出一种正负号的情况,使得所有数的和为0。(N≤100000) 解法:(我本来只想静静地继续做一个口胡选手...←_← 但是因为这题的贪心实在是太厉害了!我就单看,就盯了题解半小时以上...而代码又那么短,我就打了代码了...其实
阅读全文
摘要:题意:已知 N 位选手的3题的预期得分,得分要不全拿,要不为0。且知道最后的实际名次,而且得分相同的选手,ID小的排在前面。问这样的名次可能吗。若可能,输出最后一名的最高可能得分。(N≤16384) 解法:(P.S.现在让我来做个口胡选手......(—o—) 不打算打代码了。)我有2种想法:1.排
阅读全文
摘要:题意:有一个N位整数,要求输出删除其中D个数字之后的最大整数。 解法:贪心。(P.S.要小心,我WA了2次...)由于规定了整数的位数,那么我们要尽量让高位的数字大一些,也就是要尽量删去前面小的数字。于是我们得到的数字前面是有一串下降的单调队列的,所以最开始就要维护这个。但是要注意——我们不是立马得
阅读全文
摘要:题意:有一个N个字符串(N≤1000,N为偶数)的集合,要求找一个长度最短的字符串(可不在集合内)S,使得集合中恰好一半的串小于等于S,另一半大于S。如果有多解,要求输出字典序最小的解。 解法:本来我是想分析情况用if else实现的,但是细节很多,特别容易错。结果果然如此。╮(╯_╰)╭ 那么便看
阅读全文
摘要:题意:有一个N个点的有向带权图,要求找若干个有向圈,使得每个点恰好属于一个圈。请输出满足以上条件的最小权和。 解法:有向圈?也就是每个点有唯一的后继。这是一个可逆命题,同样地,只要每个点都有唯一的后继,那么它们一定恰好属于一个圈。而“唯一”可以想到二分图匹配。把每个点拆成两个点,分别放在二分图的两边
阅读全文
摘要:题意:有个N个点M个边的有向加权图,求1~N的两条不相交路径(除了起点和终点外没有公共点),使得权和最小。 解法:不相交?也就是一个点只能经过一次,也就是我后面博文会讲的“结点容量问题”。(呃不,写完这博文几天后的今天,我负责任地 m(._.)m 告诉大家,我不会写这博文了......我的时间不多了
阅读全文
摘要:题意:有一个N行M列的正整数矩阵,输入N个前1~N行所有元素之和,以及M个前1~M列所有元素之和。要求找一个满足这些条件,并且矩阵中的元素都是1~20之间的正整数的矩阵。输入保证有解,而且1≤N,M≤20。 解法:这题的图转换得极妙!(*^▽^*) 我们可以发现找到的矩阵需要满足3个条件:1.N行M
阅读全文
摘要:题意:给定4个N元素几个A,B,C,D,要求分别从中选取一个元素a,b,c,d使得a+b+c+d=0。问有多少种选法。(N≤4000,D≤2^28) 解法:首先我们从最直接最暴力的方法开始思考:四重循环O(n^4)枚举;三重循环枚举,把剩下的一个集合排序后二分查找,O(n^3 log n)。在进一步
阅读全文
摘要:题意:有N个潜在的bug和m个补丁,每个补丁用长为N的字符串表示。首先输入bug数目以及补丁数目。然后就是对M个补丁的描述,共有M行。每行首先是一个整数,表明打该补丁所需要的时间。然后是两个字符串,第一个字符串是对软件的描述,只有软件处于该状态下才能打该补丁该字符串的每一个位置代表bug状态("-"
阅读全文
摘要:题意:有一个N点M边的无向带权图,边权表示路径上的噪声值。有Q个询问,输出 x,y 两点间的最大噪声值最小的路径的该值。(N≤100,M≤1000,Q≤10000) 解法:N值小,且问多对点之间的路径,用Floyd算法就可以搞定了~o(〃'▽'〃)o
阅读全文
摘要:题意:有N个人互相打了M次电话,请找出所有电话圈(Eg.a→b,b→c,c→d,d→a 就算一个电话圈)并输出。(N≤25,L≤25,注意输出格式) 解法:由于N比较小所有n^2或n^3的复杂度都没有问题。所以就O(n^2)读入;O(n^3)Floyd算法求出传递闭包,d[i][j]表示 i 是否直
阅读全文
摘要:P.S.我完全一个字一个字敲出来的血泪史啊~~所以,没有附代码,也是可以理解的啦。OvO 题意:给一个长度为N(N≤200000)的序列,要删除一个连续子序列,使得剩下的序列中有一个长度最大的连续递增子序列,输出其长度。 解法:(参考自紫书)1.X 暴力枚举删除的区间 [l,r],O(n^2),再数
阅读全文
摘要:题意:要求在一个N*N的棋盘上放N个车,使得它们所在的行和列均不同,而且分别处于第 i 个矩形中。 解法:问题分解+贪心。 由于行、列不相关,所以可以先把行和列均不同的问题分解为2个“在区间[1,n]中选择n个不同的整数,使得第 i 个整数在[Li,Ri]内”的问题。 接下来的贪心很重要:先使区间R
阅读全文

浙公网安备 33010602011771号