- 博客(311)
- 收藏
- 关注
原创 51nod 1393 0和1相等串
1393 0和1相等串 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。Input一个字符串,只包含01,长度不超过1000000。Output一行一个整数,最长的0与1的个数相等的子串的长度。Input示例1011Output示例2思路:01相等的...
2018-09-04 19:28:31
449
原创 51nod 1013 3的幂的和(矩阵幂运算)
1013 3的幂的和基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题求:3^0 + 3^1 +...+ 3^(N) mod 1000000007Input输入一个数N(0 <= N <= 10^9)Output输出:计算结果Input示例3Output示例40思路:需要我们自己构造矩阵,还算简单,画几下就出来...
2018-09-03 21:16:04
391
原创 51nod 1266 蚂蚁
1266 蚂蚁 题目来源: Poj基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:2级算法题n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间...
2018-08-29 16:41:44
473
原创 51nod 1042 数字0-9的数量(数位dp)
1042 数字0-9的数量基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题给出一段区间a-b,统计这个区间内0-9出现的次数。比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次。Input两个数a,b(1 <= a <= b <= 10^18)...
2018-08-29 13:08:38
350
原创 51nod 1024 矩阵中不重复的元素(取对数)
1024 矩阵中不重复的元素 题目来源: Project Euler基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题一个m*n的矩阵。该矩阵的第一列是a^b,(a+1)^b,.....(a + n - 1)^b第二列是a^(b+1),(a+1)^(b+1),.....(a + n - 1)^(b+1).......第m列是a^(b + ...
2018-08-28 17:50:20
339
原创 51nod 1126 求递推序列的第N项(构造矩阵或规律)
1126 求递推序列的第N项基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给出A,B和N,求f(n)的值。Input输入3个数:A,B,N。数字之间用空格分割。(-10000 <= A, ...
2018-08-28 16:01:17
302
原创 51nod 1067 Bash游戏 V2
1067 Bash游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题有一堆石子共有N个。A B两个人轮流拿,A先拿。每次只能拿1,3,4颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。例如N = 2。A只能拿1颗,所以B可以拿到最后1颗石子。Input第1行:一个数T,表示...
2018-08-28 09:08:06
264
原创 51nod 1031 骨牌覆盖(斐波那契数列)
1031 骨牌覆盖 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。问有多少种不同的排列方法。 例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)Input输入N(N <= 1000)Output输出数...
2018-08-27 20:12:38
371
原创 51nod 1062 序列中最大的数 (打表)
1062 序列中最大的数 题目来源: Ural 1079基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题有这样一个序列a:a[0] = 0a[1] = 1a[2i] = a[i]a[2i+1] = a[i] + a[i+1]输入一个数N,求a[0] - a[n]中最大的数。a[0] = 0, a[1] = 1, a[2] = 1...
2018-08-27 19:49:42
282
原创 51nod 1092 回文字符串(dp或LCS)
1092 回文字符串 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。...
2018-08-27 19:30:02
263
原创 51nod 1094 和为k的连续区间
1094 和为k的连续区间 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 <= i <= j <= n),使得a[i] + ... + a[j] = k。Input第1行:2个数N,K。N为数列的长度。K为需要求的和。(2 ...
2018-08-27 18:59:30
276
原创 HDU 1422 重温世界杯(最大子段和的变形:最长连续非负子序列)
重温世界杯Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7990 Accepted Submission(s): 2802Problem Description世界杯结束了,意大利人连本带利的收回了法国人6年前欠他们的...
2018-08-27 16:12:00
324
原创 HDU1355 The Peanuts(模拟)
The PeanutsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 908 Accepted Submission(s): 537Problem DescriptionMr. Robinson and his pet ...
2018-08-27 10:50:00
352
原创 HDU 1243 反恐训练营((最长公共子序列)
反恐训练营Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6166 Accepted Submission(s): 1579Problem Description当今国际反恐形势很严峻,特别是美国“9.11事件”以后,国...
2018-08-26 21:36:02
405
原创 HDU1300 Pearls(dp)
PearlsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3375 Accepted Submission(s): 1685Problem DescriptionIn Pearlania everybody is fo...
2018-08-26 17:44:48
276
原创 51nod 1095 Anigram单词 (map+排序)
1095 Anigram单词 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的Anigram,例如单词army和mary互为Anigram。另:相同的2个单词不算Anigram。现在给定一个字典,输入Q个单词,从给出的字典中找出这些单词的Anigram。Input第1行:1...
2018-08-25 18:23:39
350
原创 51nod 1119 机器人走方格 V2(组合数)
1119 机器人走方格 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。Input第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000000)Output输出...
2018-08-25 17:12:38
314
原创 HDU 1208 Pascal's Travels(dp递推)
Pascal's TravelsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2907 Accepted Submission(s): 1361Problem DescriptionAn n x n game boar...
2018-08-25 10:50:11
254
原创 HDU 1165 Eddy's research II(数学规律)
Eddy's research IITime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5734 Accepted Submission(s): 2075Problem DescriptionAs is known, Ack...
2018-08-25 09:59:35
238
原创 HDU 1158 Employment Planning
Employment PlanningTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6215 Accepted Submission(s): 2700Problem DescriptionA project manag...
2018-08-24 16:45:53
317
原创 HDU 1114 Piggy-Bank(完全背包)
Piggy-BankTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34921 Accepted Submission(s): 17346Problem DescriptionBefore ACM can do anyt...
2018-08-24 11:19:59
278
原创 HDU 1081 To The Max(最大子矩阵和)
To The MaxTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15068 Accepted Submission(s): 7031Problem DescriptionGiven a two-dimensional...
2018-08-24 10:53:04
199
原创 HDU1080 Human Gene Functions
Human Gene FunctionsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4510 Accepted Submission(s): 2490Problem DescriptionIt is well kno...
2018-08-24 09:18:57
291
原创 HDU 1078 FatMouse and Cheese(记忆化dfs)
FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14142 Accepted Submission(s): 5978Problem DescriptionFatMouse has s...
2018-08-23 10:23:37
208
原创 51nod 1109 01组成的N的倍数 (bfs)
01组成的N的倍数 李陶冶 (命题人)基准时间限制:1 秒 空间限制:131072 KB 分值: 40给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。例如:N = 4,M = 100。Input输入1个数N。(1 <= N <= 10^6)Output输出符合条件的最小的M。Inp...
2018-08-22 18:00:46
322
原创 51nod 1416 两点(dfs)
两点 System Message (命题人)基准时间限制:1 秒 空间限制:131072 KB 分值: 20福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个n×m单元上玩的。像这样:每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。这个游戏的关键是要找出一个包含同一颜色的环。看上图中4个蓝点,形成了一个环。一般的,我们将一个序列...
2018-08-22 17:15:31
285
原创 HDU 1024 Max Sum Plus Plus(dp:最大M段和)
Max Sum Plus PlusTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37350 Accepted Submission(s): 13331Problem DescriptionNow I think you...
2018-08-21 09:56:58
224
原创 子序列的个数
子序列的个数给定一个正整数序列,序列中元素的个数和元素值大小都不超过105, 求其所有子序列的个数。注意相同的只算一次:例如 {1,2,1}有子序列{1} {2} {1,2} {2,1}和{1,2,1}。最后结果对10^9 + 7取余数。分析: 万能枚举,时间复杂度O(2^n)——因为每一项都可以选择取或者不取嘛。这个不可行,n太大了。我们想想动态规划?严格来讲这个题不是一个dp的问题,...
2018-08-20 17:46:25
5129
原创 51nod 1050 循环数组最大子段和(dp)
循环数组最大子段和分析:(1)笨方法,我们可以用普通最大子段和的方法解决这个问题。我们从每个位置“断开”环,然后按普通的最大子段和的方法去做。这样做的复杂度是O(n^2)。(2)巧妙点的方法,我们之所以要从某个位置切开是因为循环的最大子段和可能是跨越一部分头和尾。如上图,最优解可能是0..i, j + 1.. n – 1两段,那这时,其实中间i + 1..j是个“最小子段和”,因为总...
2018-08-20 09:58:10
319
原创 最大子矩阵和(dp:任意子矩阵或指定行列)
最大子矩阵和例如:3*3的矩阵: -1 3 -1 2 -1 3 -3 1 2 和最大的子矩阵是: 3 -1 -1 3 1 2输入第1行:M和N,中间用空格隔开(2 <= M,N <= 500)。第2 - N + 1行:矩阵中的元素,每行M个数,中间用空格隔开。(-10^9 <= M[i] <= 10^9)输出输出和的最大值。如果所有数都是...
2018-08-20 09:18:19
1351
原创 51nod 1138 连续整数的和(等差数列)
1138 连续整数的和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2)。例如N = 15,可以写为1 + 2 + 3 + 4 + 5,也可以写为4 + 5 + 6,或7 + 8。如果不能写为若干个连续整数的和,则输出No Solution。Input输入1个数N(3 <...
2018-08-19 15:33:04
304
原创 51nod 字符串连接(贪心)
字符串连接 wwwwodddd (命题人)基准时间限制:1 秒 空间限制:131072 KB 分值: 5输入n个字符串s[i],你要把他们按某个顺序连接起来,使得字典序最小。(1 <= n <= 100) (每个字符串长度 <= 100) (字符串只包含小写字母)Input第一行一个整数n。接下来每行一个字符串s[i...
2018-08-18 09:48:00
318
原创 HDU 3177 Crixalis's Equipment (贪心)
Crixalis's EquipmentTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5122 Accepted Submission(s): 2089Problem DescriptionCrixalis - San...
2018-08-17 10:23:32
310
原创 51nod 1279 扔盘子
1279 扔盘子 题目来源: Codility基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。盘子的高度也是单位高度。给定井的宽度和...
2018-08-16 17:08:19
209
原创 51nod 1413 权势二进制(模拟)
1413 权势二进制 题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。Input单组测试数据。第一行给...
2018-08-15 18:13:20
283
原创 51nod 1417 天堂里的游戏
1417 天堂里的游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题多年后,每当Noder看到吉普赛人,就会想起那个遥远的下午。Noder躺在草地上漫无目的的张望,二楼的咖啡馆在日光下闪着亮,像是要进化成一颗巨大的咖啡豆。天气稍有些冷,但草还算暖和。不远的地方坐着一个吉普赛姑娘,手里拿着塔罗牌,带着耳机,边上是她的狗。狗看起来有点凶,姑娘却漂亮。N...
2018-08-15 16:55:05
295
原创 51nod 1433 0和5
1433 0和5 题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。注意:1.这个数没有前导0, ...
2018-08-15 15:58:30
247
原创 51nod 1596 搬货物 (二进制)
1596 搬货物 题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题现在有n个货物,第i个货物的重量是 2wi 。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。样例解释:1,1,2作为一组。3,3作为一组。Input单组测试数据。第一行有一个整数n (1≤n≤10^6),表示有...
2018-08-14 12:55:23
240
转载 三分法解决凸(凹)函数极值问题
转自:三分法解决凸(凹)函数极值问题二分法只适用与线性函数,当函数脱离线性而呈现凸性或者凹性的时候,三分是很有必要的。三分过程如下图:凸函数:凹函数:实现方法://这个只是凸函数的一个模板double Calc(double p) {//用来计算选择的点的函数值 /*...*/}double Solve(double MIN, double MAX...
2018-08-13 14:50:14
969
转载 最长回文子串Manacher算法讲解
写在前面:这是一篇写的很好的博客,排版很好,转载用来学习,有些地方做了一点补充原博客链接:最长回文子串(Manacher算法)Manacher算法求最长回文子串给定一个字符串,求它的最长回文子串,例如"1232231"的最长回文子串为"3223"。用Manacher算法可以在O(N)时间内得到结果。— 目录 — Manacher算法求最长回文子串 1 题目描述 2...
2018-08-13 14:18:16
1276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人