- 博客(97)
- 收藏
- 关注
原创 A - Continuous 1
解题方法:用前缀和数组分别记录0, 和 1的个数,之后找一段长度为k的子序列判断该序列中0的个数是否为0,1的个数是否等于所有1的总数。
2022-10-15 11:51:01
478
原创 D - Snuke Panic (1D)
f[i][j] = max(f[i][j], a[i][j] + f[i - 1][j - 1]), 向前走;f[i][j] = max(f[i][j], a[i][j] + f[i - 1][j + 1]),向后退;则有状态转移方程f[i][j] = a[i][j] + f[i - 1][j], 在原地不动;设f[i][j]表示最大值的一个集合, i表示第i秒, j表示第 j 个坑。......
2022-09-01 13:48:44
574
原创 洛谷—P1330 封锁阳光大学
阳光大学的校园是一张由 nn 个点构成的无向图,nn 个点之间由 mm 条道路连接。每只河蟹可以对一个点进行封锁,当某个点被封锁后,与这个点相连的道路就被封锁了,曹就无法在这些道路上刷街了。非常悲剧的一点是,河蟹是一种不和谐的生物,当两只河蟹封锁了相邻的两个点时,他们会发生冲突。对于 100\%100% 的数据,1\le n \le 10^41≤n≤104,1\le m \le 10^51≤m≤105,保证没有重边。曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。...
2022-08-13 20:43:11
401
2
原创 AtCoder—C - ABC conjecture
Time Limit: 2 sec / Memory Limit: 1024 MBScore : 300300 pointsYou are given a positive integer NN.Find the number of triples of positive integers (A, B, C)(A,B,C) such that A\leq B\leq CA≤B≤C and ABC\leq NABC≤N.The Constraints guarantee that the answer is
2022-08-02 19:33:46
478
原创 均是素数——天梯训练赛
L1-8 均是素数 (20 分)在给定的区间 [m,n] 内,是否存在素数 p、q、r(p<q<r),使得 pq+r、qr+p、rp+q 均是素数?输入格式:输入给出区间的两个端点 0<m<n≤1000,其间以空格分隔。输出格式:在一行中输出满足条件的素数三元组的个数。输入样例:1 35输出样例:10样例解读满足条件的 10 组解为:2, 3, 52, 3, 72, 3, 132, 3, 172, 5, 72, ..
2022-04-19 13:30:20
1946
1
原创 2021蓝桥杯——跳跃
题目描述小蓝在一个n行m列的方格图中玩一个游戏。开始时,小蓝站在方格图的左上角,即第1行第1列。小蓝可以在方格图上走动,走动时,如果当前在第r行第c列,他不能走到行号比r小的行,也不能走到列号比c小的列。同时,他一步走的直线距离不超过3。例如,如果当前小蓝在第3行第5列,他下一步可以走到第3行第6列、第3行第7列、第3行第8列、第4行第5列、第4行第 6列、第4行第7列、第5行第5列、第5行第6...
2022-04-05 00:35:28
545
原创 天梯训练赛——部落
7-2 部落 (25 分)在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:KP[1]P[2]⋯P[K]其中K是小圈子里的人数,P[i](i=1,⋯,K)是小圈子里每个人的编号。这里所有人的编号从1开始连续...
2022-03-30 22:29:56
139
原创 2020蓝桥杯省赛——数字三角形
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。输入描述输入的第一行包含一个整数 N\ (1 \leq N \leq 100)N (1≤N≤100),表示三角形的行数。下面的 NN 行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。输出描述..
2022-03-26 15:10:39
244
原创 UPC——训练赛 :卡片
问题 F: 卡片时间限制: 1.000 Sec内存限制: 128 MB提交 状态题目描述牛牛有n张卡片,每i张卡片上有一个数字ai。牛牛在里面选出了k张,按照某种顺序依次排列成一个数。比如牛牛选出了3,13,1这三张卡片,牛牛就可以排列成3131,3113,1331,1313,1133这五个数。你需要帮牛牛求出对于所有选出k张卡片的方案,牛牛总共能拼成多少种不同的数字。输入第一行两个整数n,k,表示卡片的个数和选出卡片的张数。接下来一行n个空格分隔的整数a1,…,an,表示..
2022-03-25 23:33:44
1468
1
原创 数据结构——链式栈
Code:#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;const int N = 100010;typedef int Status;typedef struct StackNode{ int data; struct StackNode *next;}StackNode, *LinkStack;void Init_LinkS
2022-03-20 20:43:57
1260
原创 C++ 奶牛体操
为了提高健康水平,奶牛们开始进行体操训练了!农夫约翰选定了他最喜爱的奶牛 Bessie 来执教其他 N头奶牛,同时评估她们学习不同的体操技术的进度。K 次训练课的每一次,Bessie 都会根据 N 头奶牛的表现给她们进行排名。之后,她对这些排名的一致性产生了好奇。称一对不同的奶牛是一致的,当且仅当其中一头奶牛在每次训练课中都表现得都比另一头要好。请帮助 Bessie 计算一致的奶牛的对数。输入格式输入的第一行包含两个正整数 K 和 N。以下 K 行每行包含整数 1…N 的某种
2022-03-20 17:31:56
655
原创 单词处理器
奶牛 Bessie 正在完成她的写作课的一篇作文。由于她写字很难看,她决定用一个单词处理器来输入这篇作文。这篇作文共有N个单词,用空格分隔。每个单词的长度在1到15之间,仅由大写和小写字母组成。根据作业的要求,这篇作文需要用一种特别的方式排版:每一行包含的字符不超过K个,空格不计。幸好 Bessie 的单词处理器能够处理这样的要求,它会按照如下的方式:如果 Bessie 输入了一个单词,这个单词能够放进当前行,就放在当前行。 否则,将这个单词放到下一行,然后继续...
2022-03-20 16:41:47
109
原创 单链表实现一元多项相加
Code:#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;const int N = 100010;typedef int Status;typedef struct LNode{ int expn; int coef; struct LNode *next;}LNode, *LinkList;void Init_LinkLis
2022-03-20 15:28:26
1306
原创 中石油训练—— Secret Message
问题 G: Secret Message时间限制: 1.000 Sec内存限制: 128 MB提交 状态题目描述Jack and Jill developed a special encryption method, so they can enjoy conversations without worrrying about eavesdroppers. Here is how: let L be the length of the original message, and M be..
2022-03-19 14:52:32
194
原创 顺序栈的实现以及基本操作
Code:#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;typedef int Status;const int N = 110;typedef struct { int *top; int *base; int stacksize;}SqStack;Status Init_Stack(SqStack & S){ S
2022-03-19 00:28:18
271
原创 线性DP——最长上升子序列
给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数 N。第二行包含 N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4解题方法:分两步走, 第一步找状态表示,为以第i个数结尾的上升子序列,属性为求其最大值。第二步状态计算。可得状态转移方程为f[i] = max(f[i], f[j] + 1)
2022-03-15 15:40:36
222
原创 线性DP——数字三角形
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 44 5 2 6 5输入格式第一行包含整数n,表示数字三角形的层数。接下来n行,每行包含若干整数,其中第i行表示数字三角形第i层包含的整数。输出格式输出一个整数,表示最大的路径数字和。数...
2022-03-15 15:15:50
439
原创 分组背包问题
有 NN 组物品和一个容量是 V 的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vij,价值是wij,其中i是组号,j是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V用空格隔开,分别表示物品组数和背包容量。接下来有 N组数据:每组数据第一行有一个整数Si,表示第ii个物品组的物品数量; 每组数据接下来有Si行,每行有两个整数vij,wij用空格隔开,分...
2022-03-14 22:20:09
254
原创 多重背包问题(I + II)
多重背包 (I)有 N 种物品和一个容量是 V 的背包。第 ii 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 ii 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000<vi,
2022-03-14 21:53:00
490
原创 天梯训练赛——7-13 那就别担心了 (30 分)
下图转自“英式没品笑话百科”的新浪微博 —— 所以无论有没有遇到难题,其实都不用担心。博主将这种逻辑推演称为“逻辑自洽”,即从某个命题出发的所有推理路径都会将结论引导到同一个最终命题(开玩笑的,千万别以为这是真正的逻辑自洽的定义……)。现给定一个更为复杂的逻辑推理图,本题就请你检查从一个给定命题到另一个命题的推理是否是“逻辑自洽”的,以及存在多少种不同的推理路径。例如上图,从“你遇到难题了吗?”到“那就别担心了”就是一种“逻辑自洽”的推理,一共有 3 条不同的推理路径。输入格式:输入首先在一
2022-03-13 21:17:28
146
原创 单链表节点交换
输入一个单链表,将奇数位置上的节点与偶数位置上的节点进行交换,然后输出交换之后的链表。输入格式第一行包含整数n,表示节点数量。第二行包含n个整数,表示每个节点的值。输出格式共一行,输出交换后的链表。数据范围1≤n≤100,节点取值范围[1,100]。输入样例:51 2 3 4 5输出样例:2 1 4 3 5Code:#include <iostream>#include <stdio.h>using na...
2022-03-13 18:01:07
2903
1
原创 线性表的基本操作
Code:#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;typedef int Status;const int N = 100010;int n, m;typedef struct{ int *elem; int length;}SqList;Status Init_SqList(SqList & L) //初始化.
2022-03-12 16:20:47
227
原创 单链表的基本操作
#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;const int N = 100010;typedef int Status;typedef struct LNode{ int data; // 数据域 struct LNode *next; //这个指针所指向的类型与自己相同}LNode, *LinkList; //注意这是指针类型.
2022-03-11 23:04:06
1385
2
原创 天梯训练赛——彩虹瓶
7-8 彩虹瓶 (25 分)彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,
2022-03-09 22:41:03
307
原创 洛谷——P5318 【深基18.例3】查找文献
题目描述小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。假设洛谷博客里面一共有(n≤105)篇文章(编号为 1 到n)以及 (m≤106)条参考文献引用关系。目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到的文章。这边是已经整理好的参考文献...
2022-03-05 21:46:04
918
1
原创 天梯训练赛——7-12 清点代码库 (25 分)
上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在int范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。...
2022-03-04 19:41:42
92
原创 天梯训练赛——7-13 还原文件 (35 分)
一份重要文件被撕成两半,其中一半还被送进了碎纸机。我们将碎纸机里找到的纸条进行编号,如图 1 所示。然后根据断口的折线形状跟没有切碎的半张纸进行匹配,最后还原成图 2 的样子。要求你输出还原后纸条的正确拼接顺序。图1 纸条编号图2 还原结果输入格式:输入首先在第一行中给出一个正整数N(1<N≤105),为没有切碎的半张纸上断口折线角点的个数;随后一行给出从左到右N个折线角点的高度值(均为不超过 100 的非负整数)。随后一行给出一个正整数M(≤100),为碎纸机里的...
2022-03-03 20:11:58
462
原创 天梯训练赛——7-10 包装机 (25 分)
一种自动包装机的结构如图 1 所示。首先机器中有N条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。图1 自动包装机的结构图 2 顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 ..
2022-03-03 16:57:39
375
原创 天梯训练赛——病毒溯源
病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。输入格式:输入在第一行中给出一个正整数N(≤104),即病毒种类的总数。于是我们将所有病毒从 0 到N−1进行编号。随后N行,每行按以下格式描述一种病毒...
2022-03-03 15:50:31
228
原创 天梯模拟训练赛——L1-6 吉老师的回归
曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦!为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print "Hello world!"。众所周知,吉老师的竞赛水平非常高超,你可以认为他每道题目都会做(事实上也是……)。因此,吉老师会按照顺序看题并做题。但吉老师水平太高了,所以签到题他就懒得做了(浪费时间),具体来说,假如题目的字符串里有qiandao或者easy(区分大小写)的话,吉老师看完题目就会跳过这道...
2022-03-03 14:24:46
176
原创 洛谷——P1996 约瑟夫问题
题目描述n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰 n-1 名小朋友,而该题是全部出圈。输入格式输入两个整数n,m。输出格式输出一行n个整数,按顺序输出每个出圈人的编号。输入输出样例输入 #1复制10 3输出 #1复制3 6 9 2 7 1 8 5 10 4...
2022-03-02 17:08:50
586
原创 洛谷——P1449 后缀表达式
题目描述所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。输入格式输入:后缀表达式输出格式输出:表达式的值输入输出样例输入 #1复制3.5.2.-*7.+@输出 #1复制16说明/提示字符串长度,1000内。解题方法:模
2022-03-02 16:44:39
244
原创 洛谷——P1638 逛画展(尺取法,伸缩区间)
题目描述博览馆正在展出由世上最佳的 m 位画家所画的图画。游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一张图画一元。Sept 希望入场后可以看到所有名师的图画。当然,他想最小化购买门票的价格。请求出他购买门票时应选择的 a,b,数据保证一定有解。若存在多组解,输出 a 最小的那组。输入格式第一行两个整数 n,m,分别表示博览馆内的图画总数及这些图画是由多少位名师的画所绘画的。第二行包含
2022-02-28 20:45:09
238
原创 洛谷——P1036 [NOIP2002 普及组] 选数
题目描述已知 n 个整数 x1,x2,⋯,xn,以及 1 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:3+7+12=223+7+19=297+12+19=383+12+19=34现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:3+7+19=29。输入格式第一行两个空格隔开的整数 n,k(1≤n≤20 k<
2022-02-27 22:11:54
158
原创 洛谷——P1443 马的遍历
题目描述有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。输入格式输入只有一行四个整数,分别为 n, m, x, y。输出格式一个 n×m 的矩阵,代表马到达某个点最少要走几步(左对齐,宽 5 格,不能到达则输出 −1)。输入输出样例输入 #1复制3 3 1 1输出 #1复制0 3 2 3 -1 1 2 1 4 说明/提示数据规模与约定对于
2022-02-27 20:41:32
459
原创 洛谷——P1106 删数问题
题目描述键盘输入一个高精度的正整数N(不超过250位),去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。输入格式n(高精度的正整数 )。k(需要删除的数字个数 )。输出格式最后剩下的最小数。输入输出样例输入 #1复制175438 4输出 #1复制13解题方法:贪心。坑点:去除前导零。Code:#include <iostream>...
2022-02-27 18:53:09
184
原创 洛谷——P1918 保龄球
DL 算缘分算得很烦闷,所以常常到体育馆去打保龄球解闷。因为他保龄球已经打了几十年了,所以技术上不成问题,于是他就想玩点新花招。DL 的视力真的很不错,竟然能够数清楚在他前方十米左右每个位置的瓶子的数量。他突然发现这是一个炫耀自己好视力的借口——他看清远方瓶子的个数后从某个位置发球,这样就能打倒一定数量的瓶子。1 OOO2 OOOO3 O4 OO如上图,每个“O”代表一个瓶子。如果 DL 想要打倒 3 个瓶子就在 1 位置发球,想要打倒 4 个瓶子就在 2 位置发球。现在他想要打
2022-02-27 11:30:59
447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人