自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 卡特兰数(浅谈)

一、关于卡特兰数 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 48619464...

2022-03-26 20:05:14 635

原创 51nod 1133 不重复的线段

题目描述:X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重叠。输入格式第1行:1个数N,线段的数量(2 <= N <= 10000)第2 - N + 1行:每行2个数,线段的起点和终点(-10^9 <= S,E <= 10^9)输出格式输出最多可以选择的线段数量。输入样例31 52 33 6

2021-10-30 19:50:20 245

原创 51nod 1281 山峰和旗子

题目描述:用一个长度为N的整数数组A,描述山峰和山谷的高度。山峰需要满足如下条件,0 < P < N - 1 且 A[P - 1] < A[P] > A[P + 1]。现在要在山峰上插上K个旗子,并且每个旗子之间的距离 >= K,问最多能插上多少个旗子(即求K的最大值)。两个山峰之间的距离为|P - Q|。以上图为例,高度为:1 5 3 4 3 4 1 2 3 4 6 2。其中可以作为山峰的点为:1 3 5 10。放2面旗子, 可以放在1 和..

2021-10-16 18:37:08 204

原创 一道算术题

最近我看到网友都在问1+1=?要详细解,我就来蹭一波热度:答案:2引用:皮亚诺公理:①0是自然数;②每一个确定的自然数 a,都有一个确定的后继数x' ,x' 也是自然数(一个数的后继数就是紧接在这个数后面的数,例如,1的后继数是2,2的后继数是3等等);③如果b、c都是自然数a的后继数,那么b = c;④0不是任何自然数的后继数;⑤设S是自然数集的一个子集,且(1)0属于S;(2)如果n属于S,那么n'也属于S。(这条公理也叫归纳公理,保证了数学归纳法的正确性)证明

2021-10-08 18:33:37 601

原创 51nod 2493 二进制距离之和

题目描述:小b有一个数组a,她想知道a中任意两个数之间二进制距离的总和。两个整数的二进制距离指的是这两个数字的二进制数对应位不同的数量。输入第一行输入一个正整数n,表示数组a的长度;第二行输入a中元素,以空格隔开;其中0<n≤10^4,a中任意元素a[i]满足0≤a[i]≤10^9输出输出一个数,表示二进制距离之和输入样例34 14 2输出样例6样例解释在二进制表示中,4表示为0100,14表示为1110,2表示为0010。 4和14的距离.

2021-09-04 19:16:40 315

原创 51nod 3072 线段树练习3

题目描述:你需要维护一个长为nn的序列,支持mm个操作:1. 区间中每个数乘xx2. 区间中每个数加xx3. 查询区间和答案对一个常数pp取模输入第一行包含三个整数 n,m,p,分别表示该数列数字的个数、操作的总个数和模数。第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。接下来 m 行每行包含若干个整数,表示一个操作,具体如下:操作 1: 格式:`1 x y k` 含义:将区间 [x,y] 内每个数乘上 k操作 2: 格式:`2.

2021-09-01 19:49:59 151

原创 51nod 1174 区间中最大的数

题目描述:给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题)收起输入第1行:1个数N,表示序列的长度。(2 <= N <= 10000)第2 - N + 1行:每行1个数,对应序列中的元素。(0 <= S[i] <= 10^9)第N + 2行:1个数Q,表示查询的数量。(2 <= .

2021-08-28 19:02:49 121

转载 洛谷 P1223 排队接水

题目描述:有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti​,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。输入格式第一行为一个整数 n。第二行 n 个整数,第 i 个整数 Ti​ 表示第 i 个人的等待时间 Ti​。输出格式输出文件有两行,第一行为一种平均时间最短的排队顺序;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。输入输出样例输入 #11056 12 1 99 1000 234 33 55 99 812.

2021-08-28 13:14:28 125

原创 P1046 [NOIP2005 普及组] 陶陶摘苹果

题目描述:陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入格式输入包括两行数据。第一行包含 10 个 100 到 200 之间(包括 100 和 200 )的整数(以厘米为单位)分别表示 10 个苹果到地面的高

2021-08-28 13:12:40 221

原创 51nod 1843 排列合并机

题目描述:小C有一个合并排列机,它可以合并两个长度为n的排列A,B。合并一共有2*n步,一开始答案的数列为空,每一步有两个选项:(1).若A不为空,则你可以删掉A开头的元素,放到答案数列的末尾。(2).若B不为空,则你可以删掉B开头的元素,放到答案数列的末尾。以上两个选项每一步只能选一个小C不喜欢重复的东西,定义两个排列的价值f(A,B)为他们合并可以生成的答案数列的种数两个答案数列不同当且仅当某一位不同现在小C想知道,随机选择两个长度为n的排列A,B。求f(A,B)的期望

2021-08-28 13:08:34 121

原创 P1093 [NOIP2007 普及组] 奖学金

题目描述:某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某.

2021-08-25 20:30:55 105

原创 51nod 1847 奇怪的数学题

题目描述:给出N,KN,K,请计算下面这个式子:∑Ni=1∑Nj=1sgcd(i,j)k∑i=1N∑j=1Nsgcd(i,j)k其中,sgcd(i, j)表示(i, j)的所有公约数中第二大的,特殊地,如果gcd(i, j) = 1, 那么sgcd(i, j) = 0。考虑到答案太大,请输出答案对2^32取模的结果.1≤N≤109,1≤K≤501≤N≤109,1≤K≤50样例解释:因为gcd(i, j)=1时sgcd(i,j)=0对答案没有贡献,所以我们只考虑gcd...

2021-08-25 20:27:47 163

原创 51nod 1869 那些年,我们一起讲的故事

题目描述:想象男女主人公各自的平行世界,两个世界都有各自最初的起点,然后两人会有多种不同的选择按时间顺序去经历各自的世界。我们假定一个当前的世界状态,那么我们现在知道每个状态下一时间段会发生的若干可能的故事。我们称片段为从任意一个状态按时间顺序往后到另一个状态所发生的一系列故事。当然,平行世界有尽头,也就是接下来没有任何可能的故事发生所对应的状态。有一段时间男女主人公开始想象平行世界所发生的事。尽管真实世界里的故事是男女主人公最终没有走到一起。每晚,男主都要和女主煲电话粥轮流讲故事,他们会先选择一.

2021-08-25 20:23:06 109

原创 51nod 2512 重排列得到2的幂

题目描述:小b有一个数n,现在她想把n的每一位重排列,使得得到的结果为2的幂次。请问小b能得到2的幂次吗?注意重排列后不允许有前导0。样例解释:46重排列成64,为2^6。收起输入输入一个数N,其中1≤N≤10^9输出满足条件,输出“true”;不满足,则输出“false”。输入样例46输出样例true题解:如果先处理得到n的每一位,之后用全排列的方式枚举所有排列,再判断是否为2的幂,那么复杂度为指数的。反过来,如果我们先求出所有...

2021-08-25 20:17:09 194

原创 51nod 1095 Anigram单词

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

2021-08-25 20:13:00 366

原创 51nod 1049 最大子段和

题目描述: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。收起输入第1行:整数序列的长度N(2 <= N <= 50000)第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9)输出输出最大子段和。输入样例6-211.

2021-08-25 18:34:35 84

原创 51nod 2518 和为S

题目描述:b有一个01序列A,她想知道A有多少个非空连续子序列和为S。你能帮帮她吗?收起输入第一行输入一个数n,表示A的长度;第二行输入n个数‘0’或‘1’,表示A中的元素,以空格隔开;第三行输入一个非负整数S;其中0≤S≤n≤30000。输出输出一个数,表示子数组的个数输入样例51 0 1 0 12输出样例4分析:sum[r]-sum[l-1]==k,则对于每一个sum[i]统计其前面k-sum[i]的个数即可,注意最后加.

2021-08-21 19:54:03 148

原创 51nod 2517 最少01翻转次数

题目描述:小b有一个01序列,她每次可以翻转一个元素,即将该元素从0变1或者从1变0。现在她希望序列不降,求最少翻转次数。收起输入第一行输入一个数n,其中1≤n≤20000;第二行输入一个由‘0’和‘1’组成的字符串输出输出一个非负整数,表示翻转次数输入样例6010110输出样例2题解:序列不降的情况:1.000002.1111113.000111也就是选定一个位置把此位置之前的1翻转为0,之后的1翻转为0以保证序列不降。故可利用.

2021-08-21 18:54:11 300

原创 51nod 1961 Power Sum

题目描述:令P=786433P=786433。有nn个互不相同的整数0≤a1<a2<⋯<an<P0≤a1<a2<⋯<an<P。令pi=(∑nk=1aik)modPpi=(∑k=1naki)modP,给出p1,p2,…,pnp1,p2,…,pn,求a1,a2,…,ana1,a2,…,an。保证有唯一解。收起输入输入的第一行为整数n(1<=n<=100000)。第二行为n个整数p_1,p_2,...,p_n...

2021-08-21 13:17:55 124

原创 51nod 1964 陵陵曾玩的数论题

题目描述:腾腾是一名数论大师,经常在51nod上切高分数论题。凭借着高超的实力,拿到了51nod的#2。 陵陵是腾腾的好朋友。2017年1月,他还在苦恼一直都不会刷>=320分数论题。一天,他拿到了栋栋寄来的一道数论题。不幸的是,陵陵看错了这道数论题的题意,他感觉这太难了,于是只能拿去问腾腾:给定一个长度为n的序列a,对于一个区间[l,r],如果al,al+1……ar的最小公倍数记作lcm,最大值记作max,这个区间[l,r]的价值定义为lcmmaxlcmmax(即lcm的max次幂)。...

2021-08-21 13:11:40 182

原创 51nod 2004 终结之时

题目描述:“将世界终结前最后的画面,深深刻印进死水般的心海.”祈愿没有得到回应,雷声冲破云霄,正在祈愿的洛天依受到了极大的打击。洛天依叹了口气,说:”看来这个世界正如我之前所说的一样,早已失去一切生机”你沉默了下来,没有说什么话,只是静静地坐在洛天依的身旁,一同观赏这末日之景.天空被云朵覆盖,一朵具有强大能量的云映入你们的眼帘,这是始云!是抽取世界能量的最重要的一朵云!但是洛天依明显没有破坏这朵云的斗志了,你也只好静静地观赏.这个世界被吸取的能量从始云开始传递,通过愿望银线输送到各个

2021-08-21 08:47:06 95

原创 51nod 2583 数论只会Gcd

题目描述:有这样一段两两求最大公约数的程序CoGcd,int Gcd(int x, int y){ if(y == 0) return x; return Gcd(y, x % y);}void CoGcd(int m){ for(int i = 1; i <= m; i++) { for(int j = 1; j <= m; j++) { Gcd(i, j);

2021-08-20 17:24:23 302 1

原创 51nod 2589 快速讨伐

题目描述:K迷上了一款游戏,在每一回合中,小K可以在下列三种行动中选择一个进行:·提升一级角色等级,角色等级初始为零·提升一级装备等级,装备等级初始为零,且任意时刻装备等级不能超过角色等级·选择一个敌人进行攻击,每个敌人只能被攻击一次,且攻击的敌人等级不能超过装备等级敌人的等级为不超过N的正整数,且等级为i的敌人有A_i个。小K想在最少的回合内讨伐完所有敌人,他想知道一共有多少种方案,对998244353取模。对于40%的数据:N<=50对于100%的数据:N<=20

2021-08-20 15:53:38 121

原创 51nod 2590 持续讨伐

题目描述:小K迷上了一款游戏,对某个敌人进行了连续N天的持续讨伐。大部分时候,小K可以选择在白天的攻坚之后回到营地或是留在前线,但其中M天由于战况或是气候等特殊原因,小K只能选择留在前线。不同的休整方案对小K产生的疲劳程度当然是不一样的,具体定义为每一段留在前线持续攻坚的天数的K次方的乘积。小K想知道所有休整方案的疲劳程度之和,对998244353取模,两种休整方案被认为是不同的,当存在一天两种方案选择的休整地点不同。对于40%的数据:N<=50,M<=10,0<=K&lt

2021-08-20 15:49:40 143

原创 51nod 2591 最终讨伐

题目描述:小K迷上了一款游戏,他组织了一个大型攻坚队,对敌人进行了最终的讨伐。讨伐过程中,敌人使用技能使得攻坚队中的若干成员进入了诅咒状态,小K立即拿出了相应数量的祝福石来应对,但由于情况紧急,小K只能够将祝福石分发到最近的成员手上,具体地说,一共有N名成员没有进入诅咒状态但拿到了祝福石,N名成员进入了诅咒状态但没有拿到祝福石,还有M名成员进入了诅咒状态也拿到了祝福石。作为消耗品,每个祝福石只能被使用一次,发动时需要选择一名进入诅咒状态的角色(可以是自己也可以是队友),使其进入祝福状态,但如

2021-08-20 11:54:23 126

原创 51nod 2622 围绕着我们的圆环

有一个p×sp×s的0101矩阵CC。求有多少对矩阵A,BA,B,满足AA是一个p×qp×q的0101矩阵,BB是一个q×sq×s的0101矩阵,且对于任意i,ji,j,有C[i][j]=(∑k=1qA[i][k]×B[k][j])mod2C[i][j]=(∑k=1qA[i][k]×B[k][j])mod2。你只需输出对10^9+7 取模的结果。同时,存在mm次修改,会修改CC的某一行。每次修改之后,你都要输出答案。令n=max(...

2021-08-20 09:57:21 77

原创 51nod 1048 整数分解为2的幂

题目描述:任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!比如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+4收起输入输入N(1 <= N <= 10^30)输出划分方法的数量输入样例7输出样例6题解:做法一(暴力)令fnfn为nn分解方案数nise...

2021-08-20 09:52:22 196

原创 51nod 1056 最长等差子序列V2

题目描述:N个不同的正整数,从中选出一些数组成等差数列。例如:1 3 5 6 8 9 10 12 13 14等差子数列包括(仅包括两项的不列举)1 3 51 5 9 133 6 9 123 8 135 9 136 8 10 12 14其中6 8 10 12 14最长,长度为5。现在给出N个数,你来从中找出一个长度 >= 200 的等差数列,如果没有,输出No Solution,如果存在多个,输出最长的那个的长度。收起输入第1..

2021-08-20 09:49:37 178

原创 51nod 1078 3条不相交的路径

给出一个无向图G的顶点V和边E。进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在3条不相交的路径。(3条路径不经过相同的边)(注,无向图中不存在重边,也就是说确定起点和终点,他们之间最多只有1条路)收起输入第1行:2个数M N,中间用空格分开,M是顶点的数量,N是边的数量。(2 <= M <= 50000,1 <= N <= 50000)第2 - N + 1行,每行2个数,中间用空格分隔,分别是N条边的起点和终点的编号。例如2 4表示起点..

2021-08-19 16:33:10 152

原创 51nod 1139 奇妙等式的解

五个不同自然数a < b < c < d < e 满足a^2 + b^2 + c^2 + d^2 + e^2 = abcde。给出1个数N,求e <= N的全部的解。输入输入1个数N(0 <= N <= 10^18)。输出第1行:1个数N,N为解的数量。第2 - N + 1行:每行5个数,中间用空格分隔,对应a,b,c,d,e。解按照a,b,c,d,e依次排序。如果无解,输出No Solution。输入样例200输出样

2021-08-19 16:27:59 402

原创 51nod 1167 计算递推

有这样一个递推式:F(N) = 1 (0 <= N <= K - 1)F(N) = F(N - K) + F(N / K) (N % K == 0)F(N) = F(N - 1) (N % K != 0)给出2个数K和N,计算F(N)。收起输入第1行:一个数K(2 <= K <= 10)。第2行:大数N(1 <= N <= K^50)。输出输出F(N)输入样例512输出样例3题目大意有这样一个递推式:.

2021-08-19 16:16:53 119

原创 51nod 1324 相似序列对

题目大意给定N,M,问有多少不同的序列对(A,B)满足:1. 长度均为N2. 从A中删去0到2个元素,在B中删去相同数量的数,然后两个序列相同3. 序列都是[1,M]内的整数答案对109+9109+9取模,N≤100,1≤M≤1000000000分析第2个条件相当于两个序列的最长公共子序列长度不小于n-2首先考虑对于两个序列,如何求它们的最长公共子序列。有一个很清晰的n2n2的方法:设f[i][j]表示A的前i个,B的前j个,求出最长公共子序列的长度。容易得到:f[i][...

2021-08-19 16:05:38 120

原创 51nod 1340 地铁环线

题目有一个地铁环线,环线中有N个站台,标号为0,1,2,...,N-1。这个环线是单行线,一共由N条有向边构成,即从0到1,1到2,..k到k+1,...,N-2到N-1,N-1到0各有一条边。定义两站之间的距离,站a与站b间的距离dis(a,b)指从a站出发沿着单行线的边走到达b时所经过的全部长度,即dis(a,b)=dis(a,a+1)+dis(a+1,a+2)+..+dis(k,k+1 mod N)..+dis(b-1,b)。提示一下,a>b时路径为a->a+1->...N-1-

2021-08-19 16:02:59 142

原创 51nod 1387 移数字

题目描述:真姬和妮可正在玩游戏增进感情,这个游戏时这样的:开始有一个长度为n的排列,每次可以把第三个数移到排列的最前面(例如把"1 2 3 4 5"变成"3 1 2 4 5"),或者把最后一个数移到排列的最前面(例如把"1 2 3 4 5"变成"5 1 2 3 4")。目标是把排列从小到大排序。她们玩了很久之后发现一些数列可以达成目标,而其他的一些不行。于是她们就想知道长度为n的排列有多少个是可以满足条件的。输出结果Mod P。收起输入第一行两个整数n,p。(3 ≤ n ≤ ...

2021-08-19 16:00:46 143

原创 1569 二项式系数的个数

给定一个质数p和整数α,A。请计算有多少对(n,k)满足0≤k≤n≤A且(nk)(nk)是pαpα的倍数。答案比较大,对109+7109+7取余再输出。(nk)(nk)的意思是从n个东西中选k个的方法数。样例解释:在这个样例中,能被4整除的是(41)=4(41)=4,(43)=4(43)=4和(63)=20(63)=20。输入单组测试数据。第一行有两个整数 p 和α (1≤p,α≤10^9, p 是质数)。第二行有一个整数A (0≤...

2021-08-19 15:57:39 152

原创 1822 序列求和V5

若R≡0R≡0,那么显然答案就为0.  接下来,我们用符号fk(n)fk(n)代表我们所要求的值。首先我们要预处理fk(1),⋯,fk(k+1)fk(1),⋯,fk(k+1)的值,由于xkxk是一个完全积性函数,利用线性筛,这一预处理可以很容易在O(k)O(k)的时间内完成。  若R≡1R≡1,则原问题转化为求∑ni=1ik∑i=1nik的值,我们知道,这时fk(n)fk(n)是关于nn的k+1k+1次多项式。同时,我们也知道,n≥k+1n≥k+1时,每一个CinCni都是关于nn的ii次多项式,并且它

2021-08-19 11:42:24 424

原创 1986 Jason曾不想做的数论题

曾经有一次,栋栋问了陵陵这样一个问题:给定n和m求(ΠX∈Slcm(X1,X2,...,Xn)gcd(X1,X2,...,Xn))(ΠX∈Slcm(X1,X2,...,Xn)gcd(X1,X2,...,Xn))mod 1e9+7其中X是一个序列,S是所有满足长度为n,且∀1<=i<=n∀1<=i<=n Xi∈[1,m]Xi∈[1,m]的序列的集合。显然,有m^n种序列。可是,陵陵看错了题意,一下子就过去了4个月。于是栋栋又问他的学长jason。j...

2021-08-18 20:44:41 192

原创 1221 矩阵中不重复的元素V3

一个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 + m - 1),(a+1)^(b + m - 1),.....(a + n - 1)^(b + m - 1)(a^b表示a的b次方)下面是一个4*4的矩阵:2^2=4, 2^3=8, 2^4=16, 2^5=323^2=9, 3^3=27, 3^4

2021-08-18 20:33:48 371

原创 字符串的数量V3

这题没什么好说的,直接贴代码吧。#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <cstdlib>#include <iostream>#include <cctype>#include <cerrno>#include <

2021-08-18 20:25:21 104

空空如也

空空如也

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

TA关注的人

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