
51Nod题解
文章平均质量分 80
51Nod网站的题解
海岛Blog
专注于程序设计及其竞赛,专注于集成电路EDA设计
展开
-
51Nod-2149 字符串出现位置【水题】
2149 字符串出现位置 给你两个字符串,一个母串,一个子串,请你找出子串第一次在母串中出现的位置。如果子串没有在母串中出现过,则输出-1。例如子串ab在母串dceab中第一次出现的位置是3,而子串abc则在dceab中没有出现过。Input第一行一个字符串(母串),保证每个字符都是小写字母。第二行一个字符串(子串),保证每个字符都是小写字母。保证两个字符串的长度都不超过10...原创 2018-09-17 18:17:04 · 1298 阅读 · 0 评论 -
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原创 2017-07-21 11:49:53 · 840 阅读 · 0 评论 -
51Nod-1014 X^2 Mod P【暴力】
1014 X^2 Mod P基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题X*X mod P = A,其中P为质数。给出P和A,求Input两个数P A,中间用空格隔开。(1 Output输出符合条件的X,且0 <= X <= P,如果有多个,按照升序排列,中间用空格隔开。如果没有符合条件的X原创 2017-07-21 11:36:14 · 810 阅读 · 0 评论 -
51Nod-1010 只包含因子2 3 5的数【打表+排序+二分搜索】
1010 只包含因子2 3 5的数基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。例如:n = 13,S中 >=原创 2017-07-21 11:28:18 · 967 阅读 · 0 评论 -
51Nod-1182 完美字符串【排序+字符统计】
1182 完美字符串题目来源: Facebook Hacker Cup选拔基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定原创 2017-07-17 02:25:48 · 811 阅读 · 0 评论 -
51Nod-1091 线段的重叠【排序】
1091 线段的重叠基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如原创 2017-07-16 18:52:08 · 934 阅读 · 0 评论 -
51Nod-1267 4个数和为0【排序+有序组合查找】
1267 4个数和为0基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出"Yes",否则输出"No"。Input第1行,1个数N,N为数组的长度(4 <= N <= 1000)第2 - N + 1行:A[i](-10^9 Outpu原创 2017-07-16 10:30:01 · 673 阅读 · 0 评论 -
51Nod-1090 3个数和为0【排序+二分查找】
1090 3个数和为0基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。In原创 2017-07-16 07:02:12 · 910 阅读 · 0 评论 -
51Nod-1087 1 10 100 1000【模拟】
1087 1 10 100 1000题目来源: Ural 1209基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题1,10,100,1000...组成序列1101001000...,求这个序列的第N位是0还是1。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)原创 2017-07-16 05:05:31 · 1320 阅读 · 1 评论 -
51Nod-1083 矩阵取数问题【DP】
1083 矩阵取数问题基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。例如:3 * 3的方格。1 3 32 1 32 2 1能够获得的最大价值为:11。In原创 2017-07-16 04:06:50 · 1079 阅读 · 0 评论 -
51Nod-1101 换零钱【0/1背包+DP】
1101 换零钱 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。例如:5分钱换为零钱,有以下4种换法:1、5个1分2、1个2分3个1分3、2个2分1个1分4、1个5分(由于结果可能会很大,输出Mod 10^9 + 7的结果)Input输入1个数N,N ...原创 2018-02-09 10:25:23 · 622 阅读 · 0 评论 -
51NOD-1027 大数乘法【大数】
1027 大数乘法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题给出2个大整数A,B,计算A*B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 1000,A,B >= 0)Output输出A * BInput示例123456234567Output示例28958703552...原创 2018-07-18 11:27:28 · 462 阅读 · 0 评论 -
51Nod-2148 字符出现位置【水题】
2148 字符出现位置 请你帮小瓜找一找某个字符在字符串中第一次出现的位置是多少。Input第一行一个整数n(1 <=n <= 10000),表示字符串的长度。第二行一个长度为n的字符串,保证每个字符都是小写字母。第三行一个字符,表示需要寻找的字符。Output一行一个整数,表示字符在字符串中第一次出现的位置(从第0位开始记)。如果字符没有出现过,则输出-1...原创 2018-09-17 17:58:59 · 1182 阅读 · 0 评论 -
51Nod-1383 整数分解为2的幂【数列】
1383 整数分解为2的幂 任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4Input输入一个数N(1 <= N ...原创 2018-08-27 22:30:30 · 572 阅读 · 0 评论 -
51Nod-1019 逆序数【逆序偶+归并排序】
1019 逆序数 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。Input第1行:N,N为序列的长度(n <= 50000)第2 - N + 1行:序列中的元素(0 <...原创 2018-08-27 21:49:21 · 446 阅读 · 0 评论 -
51Nod-1384 全排列【全排列】
1384 全排列 给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = "1312",输出为: 112311321213123113121321211321312311311231213211Input输入一个字符串S(S的长度 <= 9,且只包括0 - 9的阿拉伯数字)...原创 2018-08-27 21:36:07 · 517 阅读 · 0 评论 -
51Nod-1284 2 3 5 7的倍数【数位DP+记忆化搜索】
1284 2 3 5 7的倍数 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。Input输入1个数N(1 <= N <= 10^18)。Output输出不是2 3 5 7的倍数的数共有多少。Input示例10Output示例1 问题链接:51Nod-1284 2 3 ...原创 2018-08-27 00:49:59 · 471 阅读 · 0 评论 -
51Nod-1009 数字1的数量【数位DP+记忆化搜索】
1009 数字1的数量 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。Input输入N(1 <= N <= 10^9)Output输出包含1的个数Input示例12Output示例5 问题链接:51Nod-...原创 2018-08-27 00:00:52 · 390 阅读 · 0 评论 -
51NOD-1028 大数乘法V2【大数】
1028 大数乘法 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题给出2个大整数A,B,计算A*B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 100000,A,B >= 0)Output输出A * BInput示例123456234567Output示例2895870...原创 2018-07-20 01:15:28 · 513 阅读 · 0 评论 -
51NOD-1029 大数除法【大数】
1029 大数除法 基准时间限制:4 秒 空间限制:131072 KB 分值: 160 难度:6级算法题给出2个大整数A,B,计算A / B和A Mod B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 100000,A,B >= 0)Output第1行:A / B第2行:A Mod B (A % B)Input示例987...原创 2018-07-20 00:45:19 · 531 阅读 · 1 评论 -
51NOD-1005 大数加法【大数】
1005 大数加法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题给出2个大整数A,B,计算A+B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 10000 需注意:A B有可能为负数)Output输出A + BInput示例68932147586468711654886Output示例...原创 2018-07-18 11:47:31 · 592 阅读 · 0 评论 -
51Nod-1001 数组中和等于K的数对【排序+二分查找】
1001 数组中和等于K的数对基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。原创 2017-07-15 18:21:34 · 1045 阅读 · 0 评论 -
51Nod-1018 排序【排序】
1018 排序基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题给出N个整数,对着N个整数进行排序Input第1行:整数的数量N(1 <= N <= 50000)第2 - N + 1行:待排序的整数(-10^9 Output共n行,按照递增序输出排序好的数据。Input示例554321Output示例原创 2017-05-31 06:22:33 · 1052 阅读 · 0 评论 -
51Nod-1081 子段求和【前缀和】
1081 子段求和基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。Input第1行:一个数N原创 2017-05-26 19:27:21 · 1437 阅读 · 0 评论 -
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。数字之间用空格分割。(-1原创 2017-05-30 18:08:27 · 692 阅读 · 0 评论 -
51Nod-1031 骨牌覆盖【递推】
1031 骨牌覆盖基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。问有多少种不同的排列方法。例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)Input输入N(N Output输出数量原创 2017-05-30 17:14:27 · 1141 阅读 · 0 评论 -
51Nod1682 中位数计数【中位数】
1682 中位数计数基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数。现在有n个数,每个数都是独一无二的,求出每个数在多少个包含其的区间中是中位数。Input第一行一个数n(n<=8000)第二行n个数,0原创 2017-05-30 16:35:59 · 1080 阅读 · 0 评论 -
51Nod-1012 最小公倍数LCM【欧几里得算法】
1012 最小公倍数LCM基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题输入2个正整数A,B,求A与B的最小公倍数。Input2个数A,B,中间用空格隔开。(1Output输出A与B的最小公倍数。Input示例30 105Output示例210问题链接:1012 最小公原创 2017-05-30 06:28:30 · 2466 阅读 · 0 评论 -
51Nod-1011 最大公约数GCD【欧几里得算法】
1011 最大公约数GCD基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题输入2个正整数A,B,求A与B的最大公约数。Input2个数A,B,中间用空格隔开。(1Output输出A与B的最大公约数。Input示例30 105Output示例15问题链接:1011 最大公约数GCD原创 2017-05-30 06:06:46 · 1361 阅读 · 0 评论 -
51Nod-1136 欧拉函数【数论】
1136 欧拉函数基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。Input输入一个数N。原创 2017-05-29 08:45:00 · 926 阅读 · 0 评论 -
51Nod-1008 N的阶乘 mod P【模除】
1008 N的阶乘 mod P基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)例如:n = 10, P = 11,10! = 36288003628800 % 11 = 10Input两个数N,P,中间用空格隔开。(N Outp原创 2017-05-29 08:26:41 · 1545 阅读 · 0 评论 -
51Nod-1046 A^B Mod C【快速模幂】
1046 A^B Mod C基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 Output输出计算结果Input示例3 5 8Output原创 2017-05-26 00:26:27 · 742 阅读 · 0 评论 -
51Nod-1179 最大的最大公约数【暴力】
1179 最大的最大公约数基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。Input第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000)第2 -原创 2017-05-31 06:34:03 · 779 阅读 · 0 评论 -
51Nod-1002 数塔取数问题【DP】
1002 数塔取数问题基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。 5 8 4 3 6 97 2 9 5例子中的最优方案是:5 + 8 +原创 2017-05-31 23:26:45 · 771 阅读 · 0 评论 -
51Nod-1003 阶乘后面0的数量【分析思维】
1003 阶乘后面0的数量基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题n的阶乘后面有多少个0?6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。Input一个数N(1 Output输出0的数量Input示例5Output示例1问题链接:51原创 2017-06-01 00:10:12 · 821 阅读 · 0 评论 -
51Nod-1134 最长递增子序列【LIS】
1134 最长递增子序列基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。Input第1行:1个数N,N为序列的长度(2 <= N <= 50000)第原创 2017-06-02 23:54:34 · 713 阅读 · 0 评论 -
51Nod-1050 循环数组最大段和【最大子段和+最小子段和+DP】
1050 循环数组最大子段和基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的整数均为负数时和为0。原创 2017-06-17 11:08:49 · 501 阅读 · 0 评论 -
51Nod-1051 最大子矩阵和【最大子段和+DP】
1051 最大子矩阵和基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3 -1-1 31 2原创 2017-06-17 08:28:25 · 846 阅读 · 0 评论 -
51Nod-1049 最大子段和【DP】
1049 最大子段和基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。原创 2017-05-26 17:56:37 · 933 阅读 · 0 评论 -
51Nod-1013 3的幂的和【快速模幂+逆元】
1013 3的幂的和基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题求:3^0 + 3^1 +...+ 3^(N) mod 1000000007Input输入一个数N(0 Output输出:计算结果Input示例3Output示例40问题链接:1013 3的幂的和问题分析:原创 2017-06-01 16:37:50 · 724 阅读 · 0 评论