自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 玩转二叉树

7-10 玩转二叉树 (25 分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:71 2 3 4 5 6 74 1 3 2

2021-04-20 20:43:45 474

原创 2017蓝桥杯B组真题 B(等差素数列)C(承压计算)E(取数位)F(最大公共子串)

B 等差素数列题解:由题意知所求等差素数列长度为10,所以现在只需要考虑该数列的起始位置和公差,直接for循环暴力搜索,因为所求数列的每个元素都是素数,为了方便提前做一个素数打表。代码如下#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[100010];void su() //素数打表 { int i,j; a[0]=a[1]=1; f

2021-04-03 08:24:46 247 1

原创 等差素数列(素数打表+暴力)

题解:由题意知所求等差素数列长度为10,所以现在只需要考虑该数列的起始位置和公差,直接for循环暴力搜索,因为所求数列的每个元素都是素数,为了方便提前做一个素数打表。代码如下#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[100010];void su() //素数打表 { int i,j; a[0]=a[1]=1; for(i=2;i.

2021-04-02 20:00:54 182

原创 方格填数(全排列+判断)

题解;对10个方格标号,全排列 1-10代入判断代码如下#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>using namespace std;int a[20]={1,2,3,4,5,6,7,8,9,10};int find(){ if(abs(a[0]-a[3])==1||abs(a[0]-a[4])==1||abs(a[0]-a[5])==.

2021-04-01 20:52:18 94

原创 Sona(莫队+离散化)

Sona, Maven of the Strings. Of cause, she can play the zither.Sona can’t speak but she can make fancy music. Her music can attack, heal, encourage and enchant.There’re an ancient score(乐谱). But because it’s too long, Sona can’t play it in a short moment.

2021-03-16 21:41:40 230

原创 八皇后

会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。Input第1行是测试数据的组数n,后面跟着n

2021-03-13 16:21:52 98 2

原创 计算字符串距离(dp)

对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为:修改一个字符(如把“a”替换为“b”)删除一个字符(如把“traveling”变为“travelng”)比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g”的方式来达到目的。无论增加还是减少“g”,我们都仅仅需要一次操作。我们把这个操作所需要的次数定义为两个字符串的距离。给定任意两个字符串,写出一个算法来计算出他们的距离。Input第一行有一个整数n。表示测试数据的组数,接下来共n

2021-03-13 15:21:41 112

原创 迷宫问题(最短路+记录路径)

定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示。Sample Input0 1 0

2021-03-13 14:52:31 333

原创 Roadblocks(次短路)

Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. She does not want to get to her old home too quickly, because she likes the scenery along the way. She has decided to take the second-shortest rather than the

2021-02-21 19:57:07 124

原创 食物链

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。1) 当前的话与前面的某些真

2021-02-06 19:37:30 82

原创 Fence Repair(优先队列)

Farmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needs N (1 ≤ N ≤ 20,000) planks of wood, each having some integer length Li (1 ≤ Li ≤ 50,000) units. He then purchases a single long board j

2021-02-06 19:15:18 286

原创 Cleaning Shifts(最小区间覆盖类问题)

Cleaning ShiftsFarmer John is assigning some of his N (1 <= N <= 25,000) cows to do some cleaning chores around the barn. He always wants to have one cow working on cleaning things up and has divided the day into T shifts (1 <= T <= 1,000,000)

2021-01-31 19:29:18 413

原创 图书借阅管理系统

程序设计图书借阅管理系统图书借阅管理是学校工作中的一项重要内容,学校图书馆,书目繁多,用户的信息冗杂,且信息数据在每天变化,如果采用人工方式进行管理控制,不仅工作量庞大,而且容易出错。浪费了许多的人力和物力,已不能适应时代的发展。在当今信息时代,这种传统的管理方法必然被以计算机为基础的信息管理系统所代替,图书管理系统可以有效的管理图书资源,控制图书增加,删除,修改,学生借阅和返还的流程,缩小开支,提高工作效率与准确率,能够节省时间,既方便了管理人员,又方便了学生,对图书馆的管理有很大的帮助,极大地提高了效

2021-01-28 14:30:08 16288 1

原创 五子棋

程序设计五子棋五子棋是一种两人对弈的纯策略型棋类游戏,应用C语言编写程序可以在计算机上实现两人对弈五子棋功能。两人对弈五子棋程序由欢迎界面显示、游戏界面生成、落子、判断胜负、悔棋功能等子程序构成;程序中运用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。程序通过棋盘和棋子图像生成、两人移子与落子和判断胜负等功能的实现,在计算机上实现了两人五子棋对弈。游戏界面代码如下# include<stdio.h> # include<string.h> # inclu

2021-01-28 14:18:26 1709 4

原创 取石子游戏(威佐夫博弈)

有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。Input输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。Output输出对应也有若干行,每行包含一个数字1或0,如果

2021-01-28 14:05:35 226

原创 取石子游戏(尼姆博弈)

m堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆 5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个,也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的中那一堆取走7个剩下3个.Input输入有多组.每组第1行是m,m<=200000. 后面m个非零正整数.m=0退出.Output先取者负输出No.先取者胜输出Yes,然后输出先取者第1次取子的所有方法.如果从有a个石子的堆中取若干个后剩下

2021-01-28 14:03:42 552

原创 A Simple Problem with Integers(线段树区间修改和区间求和)

A Simple Problem with IntegersYou have N integers, A1, A2, … , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for the sum of numbers in a given i

2021-01-24 14:10:20 364

原创 I Hate It(线段树区间求最大值)

I Hate It很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目。学生ID编号分别从1编到N。第二行包含N个整数,代表这

2021-01-24 13:15:49 96

原创 剪花布条(KMP模板题)

题目描述一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输入格式输入数据为多组数据,读取到 # 字符时结束。每组数据仅有一行,为由空格分开的花布条和小饰条。花布条和小饰条都是用可见 ASCII 字符表示的,不会超过 1000 个字符。注意:这个 # 应为单个字符。若某字符串开头有 #,不意味着读入结束!输出格式对于每组数据,输出一行一个整数,表示能从花纹布中剪出的最多小饰条个数。样例输入abcde

2020-11-10 21:35:28 452

原创 字串查找(字符串哈希)

这是一道模板题。给定一个字符串 A 和一个字符串 B ,求 B在 A 中的出现次数。 A和 B中的字符均为英语大写字母或小写字母。A中不同位置出现的 B可重叠。输入格式输入共两行,分别是字符串 A和字符串 B。输出格式输出一个整数,表示 B在 A中的出现次数。样例输入zyzyzyzzyz样例输出3数据范围与提示1<= A,B的长度<=10^6 ,A、 B仅包含大小写字母。字符串哈希模板提#include<stdio.h>#inclu

2020-11-10 19:33:43 1044

原创 小木棍(深搜剪枝)

题目描述内存限制:512 MiB时间限制:1000 ms乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 50 。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。输入格式第一行为一个单独的整数 N 表示砍过以后的小木棍的总数。第二行为 N个用空格隔开的正整数,表示 N根小木棍的长度。输出格式输出仅一行,表示要求的原始木棍的最小可能长度。样例输入95 2 1 5 2 1

2020-10-30 20:59:29 247

原创 棋盘游戏

题目描述在一个 4*4 的棋盘上有 8 个黑棋和 8 个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的。移动棋子的规则是交换相邻两个棋子。给出一个初始棋盘和一个最终棋盘,请找出一个最短的移动序列使初始棋盘变为最终棋盘。输入格式前四行,每行 4 个数字(1 或者0 ),描述了初始棋盘;接着是一个空行;第六到第九行,每行 4个数字(1或者 0),描述了最终棋盘。输出格式输出文件的第一行是一个整数 n,表示最少的移动步数。样例输入111100001110001010100

2020-10-30 19:58:28 590

原创 敌兵布阵(树状数组)

C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3个营地

2020-10-16 15:59:44 304

转载 螺旋折线(18蓝桥B组真题)(变形题,开阔视野)

螺旋折线题目描述:如图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?输入:X和Y输出:输出dis(X, Y)样例输入:0 1样例输出:3方法:切割正方形法仔细看下面这个图!!!!!相信你可以看懂的,很多东西我们需要自己开动小脑袋,自己多想,比看别人想

2020-10-16 14:22:26 141

原创 等差数列([蓝桥杯][2019年第十届真题)

等差数列时间限制: 1Sec 内存限制: 128MB题目描述老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?一行包含一个整数 N。第二行包含N个整数A1,A2,···,AN。(注意A1 ∼AN并不一定是按等差数的顺序给出)整数表示答案52 6 4 10 20例输出10题解;找公差,因为数据的输入可能是无序的,所以先来一个排序,接下来就是一个for循环后一个数减

2020-10-16 10:51:03 766 4

原创 买不到的数目(蓝桥杯][2013年第四届真题]

买不到的数目(dp)时间限制: 1Sec 内存限制: 128MB小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入两个正整数,表示每种包装中糖的颗数(都不多于1000)输出一个正

2020-10-15 15:12:33 162 1

原创 等差素数列(17年蓝桥杯B组真题)

2,3,5,7,11,13,…是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。...

2020-10-15 15:00:21 187

原创 乘积尾零(蓝桥杯)

乘积尾零 :如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880 90192049 698 4582 4346

2020-10-15 14:49:06 576 1

原创 明码(蓝桥杯)

明码 :汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。 16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。 一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。 把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节, 一共16行,布局是:第1字节,第2字节第3字节,第4字节……第31字节, 第32字节 这道题目是给你一段多个汉字组成的信息,每个汉字用32个字节表示,这里给出了字节作为有符号整数的值。 题目的要求隐藏在这些信息中。你

2020-10-15 14:33:00 215

原创 欧拉回路

欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结束。Output每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。Sample Input3 31 21 32

2020-09-26 10:13:04 1050

原创 动态规划

A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x2, …, xm> another sequence Z = <z1, z2, …, zk> is a subsequence of X if there exists a strictly increasing sequence

2020-09-26 09:51:41 71

原创 二分图

Consider a group of N students and P courses. Each student visits zero, one or more than one courses. Your task is to determine whether it is possible to form a committee of exactly P students that satisfies simultaneously the conditions:. every student i

2020-09-26 09:30:51 52

原创 并查集

Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to separate the suspects from others.In the Not-Spreading-Y

2020-09-26 09:00:50 121

原创 Michael喜欢滑雪百这并不奇怪(记忆化搜索)

Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-1

2020-09-26 08:47:12 3902 1

原创 多重背包

急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?后记:人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们生命历程中不可预知的威胁。月有阴晴圆缺,人有旦夕祸福,未来对于我们而言是一个未知数。那么,我们要做的就应该是珍惜现在,感恩生活——感谢父母,他们给予我们生命,抚养我们成人;感谢老师,他们授给我们知识,教

2020-09-26 08:34:24 195

原创 dp电子科大本部食堂的饭卡有一种很诡异的设计(01背包)

电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n<=1000。第二行包括n个正整数,表示每种菜的价格。价格不超过50。第三行包括一个正整数m,

2020-09-26 08:23:40 1064

原创 Power Strings(KMP)

Given two strings a and b we define ab to be their concatenation. For example, if a = “abc” and b = “def” then ab = “abcdef”. If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 = “” (t

2020-08-09 12:50:55 186

原创 求最长回文子串长度(马拉车)

最长回文子串给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等Input输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c…y,z组成的字符串S两组case之间由空行隔开(该空行不用处理)字符串长度len <= 110000Output每一行一个整数x,对应一组case,表示该组case的字符串中所包含的最长回文长度.Sample InputaaaaababSample

2020-08-08 15:19:33 485

原创 贪心

Saruman the White must lead his army along a straight path from Isengard to Helm’s Deep. To keep track of his forces, Saruman distributes seeing stones, known as palantirs, among the troops. Each palantir has a maximum effective range of R units, and must

2020-07-25 13:59:31 78

原创 区间转换求最大值

Iahub got bored, so he invented a game to be played on paper.He writes n integers a 1, a 2, …, a n. Each of those integers can be either 0 or 1. He’s allowed to do exactly one move: he chooses two indices i and j (1 ≤ i ≤ j ≤ n) and flips all values

2020-07-25 13:31:53 185

空空如也

空空如也

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

TA关注的人

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