![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程题
ACM 蓝桥杯、PTA、leetcode写过的一些题目总结
海棠花开555
这个作者很懒,什么都没留下…
展开
-
已知二叉树的中序和前序(或者后序)序列求解树
这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的,证明略。一、已知二叉树的前序序列和中序序列,求解树。1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点左边和右边都为空,则根节点已经为叶子节点。3、递归求解树。将左子树和右子树分别看成一棵二叉树,重复1、2、3步,直到所有的节点完成定转载 2017-11-14 10:29:02 · 606 阅读 · 0 评论 -
蓝桥杯算法训练最短路(spfa)
问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。 样例输入3 31 2 -12 3 -13 1 2原创 2018-03-04 16:46:24 · 455 阅读 · 0 评论 -
全排列算法(递归)
对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。递归算法递归算法参考lianjie这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3个元素,所有的排列情况有3!=6种,对于每一种排列,其第一个元素有3种选择a,b,c,对于第一个元素为a的排列,其第二个元素有2种选择b,c;第一个元素为b的排列,第二个元素...原创 2018-02-21 23:56:36 · 2179 阅读 · 0 评论 -
next_permutation(全排列)
这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 下面是以前的笔记 与之完全相反的函数还有prev_permutation(1) int 类型的next_permutationint main(){ int a[3];a[0]=1;a[1]=2;a[2]=3; do{couta[0]" "a[1]" "a[2];} while (next_permu原创 2018-02-21 22:53:12 · 574 阅读 · 0 评论 -
stl push_heap,make_heap,pop_heap,sort_heap的使用
stl中的堆默认是最大堆,要想用最小堆的话,必须要在push_heap,pop_heap,make_heap等每一个函数后面加第三个参数greater(),括号不能省略。1、make_heap:使序列变成堆原型:template void make_heap ( RandomAccessIterator first, RandomAccessIterator l转载 2018-01-23 15:48:45 · 303 阅读 · 0 评论 -
蓝桥杯 最大最小公倍数
算法训练 最大最小公倍数 时间限制:1.0s 内存限制:256.0MB问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定转载 2017-10-22 16:47:20 · 254 阅读 · 0 评论 -
蓝桥杯 题库 基础练习 字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样原创 2017-09-27 17:48:35 · 241 阅读 · 0 评论 -
基础的01字串 蓝桥杯基础题
问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出00000000010001000011原创 2017-09-26 20:29:08 · 278 阅读 · 0 评论 -
Fibonacci数列求余
入门训练 Fibonacci数列 问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们原创 2017-09-26 15:35:31 · 323 阅读 · 0 评论 -
玩转二叉树(天梯赛)
玩转二叉树(25 分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树原创 2018-01-29 20:03:11 · 503 阅读 · 0 评论 -
愿天下有情人都是失散多年的兄妹(dfs,PTA ,天梯赛)
愿天下有情人都是失散多年的兄妹(25 分)呵呵。大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人、父母、祖父母、曾祖父母、高祖父母)则不可通婚。本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚?输入格式:输入第一行给出一个正整数N(2≤N ≤104),随后N行,每行按以下格式给出一个人的信息:本人ID 性别 父原创 2018-01-29 16:53:32 · 1939 阅读 · 1 评论 -
红色警报(天梯赛,PTA)
7-9 红色警报(25 分)战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0N ≤ 500)和M(≤ 5000原创 2018-01-29 12:10:00 · 4282 阅读 · 2 评论 -
快速幂
快速幂是个好东西 ,有时候一些题目需要求高次幂(例如:2^100)的运算或者大量的递归运算(斐波那契数列) 就基本和下面两个死敌说拜拜了 Time limit exceeded←死敌 Memory Limit Exceeded←死敌(还有WA) 切入正题 ——-——-——-——-——-——-——-——-——-——-——-——-——-——-——-——-——首先我们先看看快转载 2018-02-22 00:03:50 · 160 阅读 · 0 评论 -
Ancient Cipher,NEETC 2004,UVa1339
Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form t原创 2017-07-11 11:16:10 · 1096 阅读 · 0 评论 -
一只小蜜蜂
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。 Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。 Sample Input21原创 2017-07-05 16:45:02 · 280 阅读 · 0 评论 -
LELE的RPG难题
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.以原创 2017-07-05 18:24:49 · 238 阅读 · 0 评论 -
阿牛的EOF牛肉串
今年的ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" "O" "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现原创 2017-07-05 20:11:48 · 170 阅读 · 0 评论 -
二叉树,由前序和中序求后序
A binary tree is a finite set of vertices that is either empty or consists of a root r and two disjoint binary trees called the left and right subtrees. There are three most important ways in which th原创 2017-07-06 17:10:25 · 285 阅读 · 0 评论 -
hud神,上帝及老天爷
HDU 2006'10 ACM contest的颁奖晚会隆重开始了! 为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的: 首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中; 然后,待所有字条加入完毕,每人从箱中取一个字条; 最后,如果取得的字条上写的就是自己的名字,那么“恭喜你,中奖了!” 大家可以想象一下当时的气氛之原创 2017-07-06 19:43:34 · 205 阅读 · 0 评论 -
HDU-1050 走廊搬桌子
The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure.The floor has 200 rooms each on the north side and south side alo原创 2017-07-08 19:28:12 · 500 阅读 · 0 评论 -
HDU 6063
RXD is a good mathematician. One day he wants to calculate: ∑i=1nkμ2(i)×⌊nki−−−√⌋∑i=1nkμ2(i)×⌊nki⌋output the answer module 109+7109+7.1≤n,k≤10181≤n,k≤1018μ(n)=1(n=1)μ(n)=1(n=1)原创 2017-11-21 19:43:51 · 224 阅读 · 0 评论 -
acm图论相关题
[cpp] view plain copy=============================以下是最小生成树+并查集====================================== 【HDU】 1213 How Many Tables 基础并查集★ 1272 小希的迷宫转载 2018-01-23 19:18:04 · 283 阅读 · 0 评论 -
朋友圈(并查集)
某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的M行每行...转载 2018-01-23 17:23:06 · 307 阅读 · 0 评论 -
Commendo War UVa-11729
“Waiting for orders we held in the wood, word from the front never came By evening the sound of the gunfire was miles away Ah softly we moved through the shadows, slip away through the trees Crossing t原创 2017-07-10 15:50:08 · 325 阅读 · 0 评论