自定义博客皮肤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)
  • 收藏
  • 关注

原创 CSP-X复赛模拟三——补题报告

啊!!!!!!!!!!!!!!!!!!!!!!!freopen的注释!!!!!!!!!!!!!!!!!!!!!!!检查!检查!检查!一定要检查!还好不是正式考试,不然我就死了!!!!

2024-10-18 20:29:37 758

原创 强化训练三

小可有一个只由01构成的字符串s,如果s​i​​是1并且s​i+1​​是0,那么我们可以删除s​i​​、s​i+1​​这两个字符的任意一个。请问经过有限次操作(可能是零次)之后,这个字符串的字典序最小的结果是什么?第一行一个正整数T(1≤T≤10​4​​),表示有T组输入。对于每组输入,第一行一个正整数n(1≤n≤10​5​​),表示字符串s的长度。第二行字符串s,只由0101两种字符构成。保证T组的n的和不超过10​5​​。对于每组输入,输出一行字符串,如题所示。

2024-10-05 19:30:28 246

原创 递推&递归专题

小可躺在草地上,看到头上飘过一团乌云。过了一会,这朵乌云向两侧分裂出了相同大小的云团,而分裂出的云团也逐渐地在重复这个过程。看到这个分裂过程,小可突然想到了一个序列的构造方法,并将这种序列命名为“乌云序列”。小可将正中间的数字称为“核”。对于每个乌云序列,假设核为n,那么这个序列为:核为n−1的乌云序列, n ,核为n−1的乌云序列比如,核为1时,乌云序列为1核为2时,乌云序列为1 2 1核为3时,乌云序列为核为4时,乌云序列为给定核n,小可想知道这个乌云序列中第k个数是多少。

2024-10-05 18:09:58 883

原创 字符串&数学专题

小可非常粗心,打字的时候将手放到了比正确位置偏右的一个位置,因此,Q打成了W,E打成了R,H打成了J等等。键盘如下所示现在给你若干行小可打字的结果,请你还原成正确的文本。若干行字符,每行字符串中可能包含大写字母、字符、数字、空格、或者上面键盘中的标点符号。带单词标签(比如�������Control、�����Enter、���Tab等)的按键不会出现。同时,最左侧的`QAZ这四种字符也不会出现。保证不会出现空行,并且字符的总量不超过10510​5​​。如题,将输入的所有文本还原成正确的文本。

2024-10-05 15:07:35 950

原创 CSP-X复赛模拟二——补题报告

这一次的经验是检查,对于每个题不要花费太多时间进行修改。第四个题完全可以AC的,但因为第二题时间太长,后面没时间了。

2024-10-04 19:06:00 1191

原创 CSP-X复赛基础框架&真题训练

【代码】CSP-X复赛基础框架。

2024-10-04 09:02:34 173

原创 c++小游戏

c++的小游戏(狼人杀、走迷宫、炸弹人、贪吃蛇、飞翔的小鸟、跑酷、吃豆人、飞机大战、人生模拟器、坦克大战、修仙模拟器),亲测可玩!

2024-10-03 19:35:09 974

原创 复赛强化练习

对于一个n个元素的整数数组,如果这个数组两个连续元素的差的绝对值包括了[1,n-1]之间的所有整数,则这个数组叫做“完美的数组”,如数组1 4 2 3,因为差的绝对值分别为:3,2,1。乔治在梦中来到了一个神奇部落,这个部落的神树具有奇特的功能:对于 每一位新朋友,都会获赠金币,而且金币的数量会随时间的延续而增加: 第 1 周,每天 1枚金币;所谓鸢尾花数,是指一个正整数的十进制表示中,任意相邻两位的数字之差是一个常数,比如12345,8642,66666都是鸢尾花数,而88910与121不是鸢尾花数。

2024-10-03 19:26:06 531

原创 复杂问题分析&思维训练

小可通过计算得知:搬一块砖,需要使用 i 力气,接着去搬第二块砖,需要使用2×i 力气,以此类推,接着去搬第 k 块砖,需要使用k×i 力气。第一行包含三个正整数k,n,w(1≤k,w≤1000,0≤n≤10​9​​),分别代表搬第一块砖的力气、小可现在有的力气数和要搬走的砖数。闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。第一行包含三个整数startYear,startMonth,startDay,分别是起始年、月、日。输出一个整数,即是两个日期相差的天数。

2024-10-03 17:33:27 402

原创 基础数据结构专题(1)

嘿嘿,不要想的太好,这礼物可没那么简单,小可为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。已知自然数 1,2,⋯,N(1≤N≤100)依次入栈,请问序列 C​1​​,C​2​​,⋯,C​N​​ 是否为合法的出栈序列。用()表示一个盒子,B表示礼物,小可想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。每组测试数据的第一行为整数N(1≤N≤100),当 N 为 0 时,输入结束。3.再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢。如给出的序列是合法的出栈序列,则输出。

2024-10-03 11:52:06 427

原创 D4--区间贪心

区间贪心题目coduck

2024-09-22 17:36:07 649

转载 D3题目代码

【代码】D3题目代码。

2024-09-08 12:02:11 48

原创 D4--贪心定义和排序不等式

贪心算法

2024-09-08 11:40:28 971

原创 D1题目代码

【代码】D1题目代码。

2024-08-13 13:43:32 226

原创 k2题目代码

【代码】k2题目代码。

2024-07-27 17:04:04 175

原创 k3题目代码

i

2024-07-27 15:56:40 221

原创 k4题目代码

【代码】k4题目代码。

2024-07-27 15:56:05 94

原创 k1题目代码

【代码】k1题目代码。

2024-07-27 15:55:10 172

原创 D3考试题

若某个节点x的权值深度为d[x],x与它的某个子节点y之间的边的权值为z(1<=z<=10000)则它的子节点y的权值深度d[y]=d[x]+z,现在给你一棵树,让你输出每个节点的权值深度。如果(i,j)是陆地,则第i条这样的线(1≤i,j≤n)的第j个字符为0,如果(i,j)为水,则第i个字符为1。现在,您的任务是找到最多创建一个隧道的最小可能成本,以便Alice可以从(r1,c1)移至(r2,c2)。第一行,两个整数n(1<=n<=200000),s,n表示树的节点的个数,s表示树的根节点的编号。

2024-07-26 12:04:42 589

原创 习题课-广搜

这头神奇的牛像其它牛一样喜欢吃草,给你一张地图,上面标注了 The Knight 的开始位置,树、灌木、石头以及其它障碍的位置,除此之外还有一捆草。这题是一个三维的迷宫题目,其中用‘.’表示空地,‘W’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。这题用BFS解,每次去队首元素,如果是终点则输出结果移动的次数,否则,从该点开始分别向东南西北上下移动(如果可以走的话)并继续搜,如果到队列为空还没搜到解法,则说明无解。

2024-07-25 12:03:05 602

原创 习题课-深搜2

第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9)第1行有3个正整数n,k 和m,表示给定的图G有n个顶点和k条边,m种颜色。第一行输入两个整数n m(1 <= n,m <= 500 ),代表grid的高和长,编程任务: 对于给定的无向连通图G和m种不同的颜色,编程计算图的所有不同的着色法。接下来的k行中,每行有2个正整数u,v,表示图G 的一条边(u,v)。多组输入,每组输入一个1-24的正整数,表示要求的高逐位数的位数。

2024-07-24 11:37:23 373

原创 破译电报(编程马拉松)

一名在执行潜伏任务的特务,在破译电报时需要用到特制的密码手册。接下来每两行表示一个单词,其中: 第一行是一个长度<=100的字符串,表示这个单词,全部小写字母,单词不会重复。接下来一行是一个整数M,表示电报的单词数,即要查的单词数(M<=10000)。第一行一个整数N,表示密码手册一共有多少单词(N<=10000)。接下来M行,每行一个字符串,表示要查的单词,保证在密码手册中存在。M行,每行一个整数,表示第i个单词在密码手册中的页数。第二行是一个整数,表示这个单词在密码手册中的页码。

2024-07-24 11:30:36 324

原创 数字加密(编程马拉松)

例如,数1314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 1000(添加了11个前导0补足为32位),其中前16位为高位,即0000 0000 0001 0100;将它的高低位进行交换,我们得到了一个新的二进制数0000 1110 1101 1000 0000 0000 0001 0100。给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。将它的高低位交换,那么就可以得到一个新的数。

2024-07-24 11:29:05 218

原创 数列游戏(编程马拉松)

给定一个数列A,数列共有n个数,其中n大于等于1且小于等于1000000,数列中的每个数都大于等于1且小于等于1000000。现在他要进行Q次操作,每次操作给定一个区间[L, R]和一个整数X,其中L和R是数列中的两个位置(满足1

2024-07-23 17:27:11 221

原创 习题课-深搜

有一个n*m格的迷宫(表示有n行、m列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这n*m个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。若两个格子有公共顶点,那么它们就是相邻的格子,如与 (i,j) 相邻的格子有(i−1,j−1),(i−1,j),(i−1,j+1),(i,j−1),(i,j+1),(i+1,j−1),(i+1,j),(i+1,j+1)。路线1:(1,1) - (1,2) - (1,3) - (2,3)

2024-07-23 17:21:40 1025

原创 积木问题(编程马拉松)

给定一个数列A,数列共有n个数,其中n大于等于1且小于等于1000000,数列中的每个数都大于等于1且小于等于1000000。现在他要进行Q次操作,每次操作给定一个区间[L, R]和一个整数X,其中L和R是数列中的两个位置(满足1

2024-07-23 17:19:30 254

原创 习题课-树

对于多叉树(多叉树包含二叉树)而言,如我们删除一个节点x后,原来的树可能会分成若干个不相连的部分,其中每个部分都是一棵子树。一般来讲,我们在对树进行深度优先遍历时,对于每个节点,在刚进入递归后以及即将回溯前各记录一次该节点的编号,最后产生一个长度为2n的节点的序列就称为树的DFS序。第一行,两个整数n(1<=n<=1000),s,其中n表示树的节点的个数,s表示树的根节点的编号。第一行,两个整数n,s,其中n(1<=n<=100000)表示树节点的个数,s表示根节点的编号。现在请你找到树中的一条最长路径。

2024-07-22 12:03:01 259

原创 高精度减法

接下来,小可利用程序设计的思想,编写了一个简单而高效的算法来求解差值。在这个过程中,小可不仅仅解决了问题,还展示了他对程序设计的理解和运用能力。最终,小可成功地计算出了这两个巨大整数的差值,并将结果准确地呈现出来。他不仅仅解决了一个困扰众多学生的难题,还展示了程序和编程在数学问题中的重要作用。然后,他利用这种语言的特性,将两个巨大整数分别存储在两个变量中。一天,他遇到了一个非常特别的问题。从那以后,小可成为了学校里数学和编程两个领域的双料奇才,他的故事也将继续在这个神奇的数学学校里流传下去。

2024-07-22 09:48:18 182

原创 加法-高精度

我们可以从低位开始,将A和B对应的位相加,并考虑进位的情况。如果相加的结果产生了进位,则将进位保存到变量r中(即和的十位数),并将个位数存入数组C中的对应位,即C[0] = (A[0] + B[0]) % 10。然后,我们继续将A[1]和B[1]相加,同时考虑之前的进位r,即C[1]应为(A[1] + B[1] + r) % 10。如果又有新的进位产生,则将新的进位保存到r中,并将个位数存入C[1]中。首先,我们定义一个数组A来存储整数a的各个位上的数字,其中A[0]表示个位,A[1]表示十位,依此类推。

2024-07-22 09:25:58 252

原创 广搜(综合问题)

话不多说,开始~

2024-07-22 08:50:26 566

原创 周末游乐场

假设在一个游乐园里的过山车排队区,男生和女生分别排成两个队伍等待乘坐过山车。乘坐过山车时,每次都需要从男队和女队的队首各选择一名男生和一名女生配对。如果男队和女队的人数不相等,则人数较多的队伍中剩余的人需要等待下一轮过山车。请注意,过山车的容量是固定的,不能改变。显然,过山车配对的顺序符合“先进先出”,所以用两个队列分别存放男士队伍和女士队伍,然后模拟k次配对:每次取各队队头元素“配对”输出,并进行“出队”和重新“入队”的操作。共k行,每行两个数,表示配对舞伴的序号,男士在前,女士在后。

2024-07-20 09:56:01 238

原创 括号匹配(编程马拉松)

例如,“()” 和 “[([][])]” 都是正确的括号匹配,因为括号的嵌套顺序是正确的。而 “[(])”、“(” 和 “(()))” 都是错误的括号匹配,因为括号的嵌套顺序是不正确的。在这个问题中,表达式可以包含圆括号 () 和方括号 [] 两种类型的括号,而且它们的嵌套顺序可以随意。输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出“OK”,不匹配就输出“Wrong”匹配就输出一行文本“OK“,不匹配就输出一行文本”Wrong”一行字符,只含有圆括号和方括号,个数小于255。

2024-07-20 09:21:38 265

原创 D3 广搜(最小步数)

其过程为:假设从图中的某顶点0出发,在访问了0之后依次从小到大访问各个未曾被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,读入一个无向图的邻接矩阵(即数组表示),建立无向图并按照以上描述中的算,输出遍历顶点的顺序。有n个人,他们的编号为1~n,其中有一些人相互认识,现在x想要认识y,可以通过他所认识的人来认识更多的人(如果a认识b,b认识c,那么a可以通过b来认识c),求出x最少需要通过多少人才能认识y。

2024-07-19 12:02:06 750

原创 D3 深搜(皇后问题)

马走的路径方向,例如上图路径可表示为4 3 2 4 1 4,但注意,为了保证结果唯一,程序中马尝试各方向的顺序如上图,依次为1、2、3、4.因此上图的正确答案为3 2 4 1 4 4,如果无路可走,则输出-1。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k 个棋子的所有可行的摆放方案 C。每组数据的第一行是两个正整数n,k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。前三行为前三个解,每个解的两个数字之间用一个空格隔开。

2024-07-19 10:27:18 730

原创 对称日期(编程马拉松)

一个 8 位数字是对称的,当且仅当对于所有的 i ( 1 <=i<= 8 )从左向右数的第 i 个数字和第 9-i 个数字(即从右向左数的第 i 个数字)是相同的。达达突然发现有些日期的样子非常特别,即日期的 8 位数字是对称的。现在,达达想知道在他指定的两个日期之间(包含这两个日期本身),有多少个真实存在的日期是对称的。•对于 2016 年 11 月 19 日,用 8 位数字 20161119 表示,它不是对称的。•对于 2010 年 1 月 2 日,用 8 位数字 20100102 表示,它是对称的。

2024-07-19 10:26:17 399

原创 楼层编号(编程马拉松)

和其他餐厅不一样的是,这个餐厅每天都有一个高能的数字t,这个数字在楼层中是不会出现的,以t=3为例,则3、13、31、33等楼层是不存在的,楼层编号为1,2,4,5,……所以实际上的4楼才是3楼 已知小林预定了编号为m层的房间,并且当天高能数字是t,现在他想知道房间所在的真实楼层是多少。一行两个整数m和t,1<=m<=100000,0<=t<=9,保证m对t合法。一行一个整数,表示真实楼层。

2024-07-19 09:43:52 197

原创 激励金(编程马拉松)

每个学生在期末都有参加C++、Python和Scratch这三门课程的考试,并获得了相应的成绩。学校按照以下规则对学生进行排名:首先按照总分从高到低排序,如果两个学生的总分相同,则按照C++成绩从高到低排序;如果两个学生的总分和C++成绩都相同,则学号较小的学生排在前面。第j行的三个数字依次表示学生为j-1的学生的C++、Python、Scratch的成绩。每个学生的学号按照输入顺序编号为1~n(恰好是输入数据的行号减一)。共有5行,每行是两个用一个空格隔开的正整数,依次表示为5名学生的学号和总分。

2024-07-19 09:01:59 338

原创 勇士的排名1

在一个神秘的冒险世界中,有N名勇士聚集在一起,他们要组队前往未知的领域探险,为了提高探险效率,需要按照一定规则对勇士进行排序。将勇士按勇气值高低排序,有N个勇士的数据,将勇士数据按勇气值从小到大排序,如果勇气值相同则按姓名的字典序从小到大排序,如果名字也相同则按照勇士的年龄从小到大排序并输出N个勇士排序后的信息。测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个勇士的数据。将勇士信息按勇气值进行排序,勇气值相同的则按姓名的字母序进行排序。

2024-07-18 11:47:55 156

原创 D3 深搜(不直观搜索)

字母序如下定义: 已知S=s1s2...sk, T=t1t2...tk,则S

2024-07-17 16:03:30 387

空空如也

空空如也

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

TA关注的人

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