自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 (哈希 树)51NOD 1095 Anigram单词

一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的Anigram,例如单词army和mary互为Anigram。另:相同的2个单词不算Anigram。现在给定一个字典,输入Q个单词,从给出的字典中找出这些单词的Anigram。输入第1行:1个数N,表示字典中单词的数量。(1 <= N <= 10000)...

2019-09-03 20:34:00 124

转载 (DP)51NOD 1006 最长公共子序列&1092 回文字符串

1006给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。比如两个串为:abcicbaabdkscabab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。输入第1行:字符串A第2行:字符串B(A,B的长度 <= 1000)输...

2019-06-13 22:40:00 140

转载 Matlab图像处理相关

相关函数:  读取:imread()  %参数为文件名(路径)或url,格式等  写入:imwrite()  %参数为写入数据矩阵,写入文件名(路径),格式等  显示:imshow()  %显示由输入决定,属性自动设置,坐标轴,边框隐藏     image()   %彩色显示(相关函数:colormap()%改变颜色映射表)     truesize()  %设定图...

2019-06-07 17:53:00 282

转载 51NOD 1134 最长上升子序列

给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。输入第1行:1个数N,N为序列的长度(2 <= N <= 50000)第2 - N + 1行:每行1个数,对应序列的元素(-10^9 <= S[i] &l...

2019-06-01 16:50:00 123

转载 (数位DP)51NOD 1042 数字0-9的数量

给出一段区间a-b,统计这个区间内0-9出现的次数。比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次。输入两个数a,b(1 <= a <= b <= 10^18)输出输出共10行,分别是0-9出现的次数输入样例...

2019-04-21 17:02:00 211

转载 (DP)51NOD 1007正整数分组

将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。输入第1行:一个数N,N为正整数的数量。第2 - N+1行,N个正整数。(N <= 100, 所有正整数的和 <= 10000)输出输出这个最小差...

2019-02-22 21:27:00 76

转载 (构造)51NOD 1080 两个数的平方和

给出一个整数N,将N表示为2个整数i与j的平方之和(i <= j),如果有多种表示,按照i的递增序输出。例如:N = 130,130 = 3^2 + 11^2 = 7^2 + 9^2(注:3^2 + 11^2同11^2+3^2算1种)输入一个数N(1 <= N <= 10^9)输出共K行:每行2个数,i ...

2019-01-12 21:48:00 133

转载 51NOD 1004 n^n的末位数字

给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。输入一个数N(1 <= N <= 10^9)输出输出N^N的末位数字输入样例13输出样例3解:快速幂即可算出。 1 #include <stdio.h> 2 3 int main() 4 {...

2019-01-09 16:45:00 87

转载 (DP)51NOD 1002 数塔取数

一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。 5 8 43 6 97 2 9 5例子中的最优方案是:5 + 8 + 6 + 9 = 28输入第1行:N,N为数塔的高度。(2 <= N ...

2019-01-07 19:24:00 65

转载 51NOD 1001 数组中和等于K的数对

给出一个整数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)。输入第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^...

2019-01-07 10:47:00 80

转载 (二分图最大匹配)51NOD 2006 飞行员配对

第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2名飞行员,其中1名是英国飞行员,另1名是外籍飞行员。在众多的飞行员中,每一名外籍飞行员都可以与其他若干名英国飞行员很好地配合。如何选择配对飞行的飞行员才能使一次派出最多的飞机。对于给定的外籍飞行员与英国飞行员的配合情况,试设计一个算法找出最佳飞...

2019-01-04 18:50:00 71

转载 51NOD 1384 全排列

给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = "1312",输出为:112311321213123113121321211321312311311231213211输入输入一个字符串S(S的长度 <= 9,且只包括0 - ...

2018-12-23 22:08:00 73

转载 (图论)51NOD 1298 圆与三角形

给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交。相交输出"Yes",否则输出"No"。(三角形的面积大于0)。输入第1行:一个数T,表示输入的测试数量(1 <= T <= 10000),之后每4行用来描述一组测试数据。4-1:三个数,前两个数为圆心的坐标xc, yc,第3个数为圆的半径R。(-3000...

2018-12-19 23:45:00 114

转载 (图论)51NOD 1264 线段相交

给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为相交)。 如果相交,输出"Yes",否则输出"No"。输入第1行:一个数T,表示输入的测试数量(1 <= T <= 1000)第2 - T + 1行:每行8个数,x1,y1,x2,y2,x3,y3,x4,y4。(-10^8 <= xi, y...

2018-12-01 14:31:00 93

转载 (拓展欧几里得)51NOD 1256 乘法逆元

给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。输入输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)输出输出一个数K,满足0 < K < N且K * M % N...

2018-11-27 20:41:00 74

转载 (矩阵快速幂)51NOD 1242斐波那契数列的第N项

斐波那契数列的定义如下:F(0) = 0F(1) = 1F(n) = F(n - 1) + F(n - 2) (n >= 2)(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...)给出n,求F(n),由于结果很大,输出F(n) % 1000000009的结果即可。...

2018-11-25 22:07:00 91

转载 (图论)51NOD 1212 无向图最小生成树

N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树。输入第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量。(2 <= N <= 1000, 1 <= M <= 50000)第2 - M + 1行:每行3个数S E W,分别表示M条边的2个顶点及权值。(1 <= S, E <= N,1 &lt...

2018-11-20 21:57:00 298

转载 (博弈论 高精度小数)51NOD 1185 威佐夫游戏 V2

有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有对应的方法拿到最后1颗。Input第1行:一个数T,表示后面用作输入测试的数的数...

2018-10-28 17:56:00 97

转载 (DP)51NOD 1183 编辑距离

编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (k->s)sittin (e->i)sitting (->g)所以kitten和...

2018-10-28 12:19:00 58

转载 (数论 欧拉筛法)51NOD 1181 质数中的质数(质数筛法)

如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。Input输入一个数N(N<=10^6)Output输出>=N的最小的质数中的质数。Input示例20Outpu...

2018-10-19 09:18:00 107

转载 (DP ST表 线段树)51NOD 1174 区间中最大的数

给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题)Input第1行:1个数N,表示序列的长度。(2<=N<=10000)第2-N+1行:每行1个数,对应序列...

2018-10-14 17:48:00 72

转载 51NOD 1137 矩阵乘法

给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。Input第1行:1个数N,表示矩阵的大小(2<=N<=100)第2-N+1行,每行N个数,对应M1的1行(0<=M1[i]<=1000)第N+2-2N+1行,每行N个数,对应M2的1行(0<=M2[i]<=100...

2018-10-07 22:26:00 92

转载 (数论)51NOD 1136 欧拉函数

对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。Input输入一个数N。(2<=N<=10^9)Output输出Phi(n)。Inpu...

2018-10-06 22:46:00 102

转载 (数论)51NOD 1135 原根

设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根。(其中φ(m)表示m的欧拉函数)给出1个质数P,找出P最小的原根。Input输入1个质数P(3<=P<=10^9)Output输出P最小的原根。Input示例3Output示例2解:使用快速幂的时候小心int爆了。 1 #includ...

2018-10-01 14:34:00 118

转载 (DP)51NOD 1118 机器人走方格

M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。Input第1行,2个数M,N,中间用空格隔开。(2<=m,n<=1000)Output输出走法的数量。Input示例23Output示例3解:简单dp,注意空间复杂度的优化...

2018-09-29 22:13:00 79

转载 (数论 欧拉筛法)51NOD 1106 质数检测

给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。Input第1行:一个数N,表示正整数的数量。(1<=N<=1000)第2-N+1行:每行1个数(2<=S[i]<=10^9)Output输出共N行,每行为Yes或No。Input示例52345...

2018-09-27 22:36:00 156

转载 51NOD 1088&1089 最长回文子串

回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str,输出Str里最长回文子串的长度。Input输入Str(Str的长度<=1000(第二题要求为100000))Output输出最长回文子串的长度L。Input示例daabaacOutput示例5解: 1 #include &l...

2018-09-22 18:28:00 75

转载 (DP)51NOD 1085 背包问题

在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。Input第1行,2个整数,N和W中间用空格隔开。N为物品的数量,W为背包的容量。(1<=N<=100,1<=W<=10000)第2-N+1行,...

2018-09-21 23:40:00 52

转载 (前缀和 内存分配)51NOD 1081 子段求和

给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。Input第1行:一个数N,N为数组的长度(2<=N<=50000)。第2至N+1行:数组的N个元素。(...

2018-09-20 23:05:00 115

转载 (数论)简单总结求逆元的几种方法

逆元(Inverse element),如a∗b≡1(modp),那么a,b互为模p意义下的逆元,则p|(a/c-b*c)(即a/c与b*c模p同余)。常用的求逆元方法有1.费马小定理  若p为素数,且gcd(a,p)=1,则a^(p-1)≡1(mod p),即a*a^(p-2)≡1(mod p),故a的逆元为a^p-2。2.拓展欧几里德算法(递推再回溯)  当gcd(...

2018-09-19 00:08:00 961

转载 (数论)51NOD 1079 中国剩余定理

一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合条件的最小的K = 23。Input第1行:1个数N表示后面输入的质数及模的数量。(2<=N<=10)第2-N+1行,每行2个数P和M,中间用空格分隔,P是质数,M是K%P的结果。(2...

2018-09-18 22:45:00 131

转载 (数论)51NOD 1073 约瑟夫环

N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2 <= N, K <= 10^6)Output最后剩下的人的编号Input示例3 2Output示例3解: 1 #incl...

2018-09-18 13:35:00 130

转载 (博弈论)51NOD 1072 威佐夫游戏

有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有对应的方法拿到最后1颗。Input第1行:一个数T,表示后面用作输入测试的数的数...

2018-09-16 00:08:00 121

转载 (博弈论)51NOD 1069 Nim游戏

有N堆石子。A B两个人轮流拿,A先拿。每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N及每堆石子的数量,问最后谁能赢得比赛。例如:3堆石子,每堆1颗。A拿1颗,B拿1颗,此时还剩1堆,所以A可以拿到最后1颗石子。Input第1行:一个数N,表示有N堆石子。(1&l...

2018-09-15 17:12:00 115

转载 (博弈论)51NOD 1066 Bash游戏

有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。例如N = 3,K = 2。无论A如何拿,B都可以拿到最后1颗石子。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1<=T<=10000)...

2018-09-14 16:15:00 69

转载 (斯特林公式)51NOD 1058 N的阶乘的长度

输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。Input输入N(1<=N<=10^6)Output输出N的阶乘的长度Input示例6Output示例3解:解法一:  上一篇刚讲了斯特林公式(x!=sqrt(2*Pi*n)*(n/e)^n),这里就用到了。  x的位数计算公式:len=log10(...

2018-09-14 16:01:00 89

转载 (进制)51NOD 1057 N的阶乘

输入N求N的阶乘的准确值。Input输入N(1<=N<=10000)Output输出N的阶乘Input示例5Output示例120解:这其实是MOD进制,将一个int或者long long数据类型作为一个数位,满MOD进一(本题中MOD=1000000000)。 (注意选择合适的数据类型,避免计算过程中数据溢出...

2018-09-12 09:05:00 103

转载 (DP)51NOD 1049&1050 (循环)最大子段和

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。Input第1行:整数序列的长度N(2<=N<=50000)第2-N+1行...

2018-09-11 17:10:00 52

转载 (快速幂)51NOD 1046 A^B Mod C

给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数ABC,中间用空格分隔。(1<=A,B,C<=10^9)Output输出计算结果Input示例358Output示例3解:思路一:暴力求解。思路二:通过公式(a * b) mod c = ((a...

2018-09-11 16:44:00 49

转载 51NOD 1027 大数乘法

给出2个大整数A,B,计算A*B的结果。Input第1行:大数A第2行:大数B(A,B的长度<=1000,A,B>=0)Output输出A*BInput示例123456234567Output示例28958703552解:以为很麻烦,其实很简单。。。 1 #include <stdio.h...

2018-09-11 14:05:00 45

空空如也

空空如也

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

TA关注的人

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