![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
暑假集训
为君倾此杯
这个作者很懒,什么都没留下…
展开
-
FIFO+FILO(手写栈、队列)
http://acm.hdu.edu.cn/webcontest/contest_show.php?cid=13259ACboy needs your help again!Problem DescriptionACboy was kidnapped!!he miss his mother very much and is very scare now.You can’t image ho...原创 2019-07-14 23:06:56 · 1845 阅读 · 0 评论 -
动态规划(分梨、最长公共子序列)
1、分梨:题目描述小明非常喜欢吃梨,有一天他得到了ACMCLUB送给他的一筐梨子。由于他比较仗义,就打算把梨子分给好朋友们吃。现在他要把M个梨子放到N个盘子里面(我们允许有的盘子为空),你能告诉小明有多少种分法吗?(请注意,例如有三个盘子,我们将5,1,1和1,1,5,视为同一种分法)输入输入包含多组测试样例。每组输入的第一行是一个整数t。接下来t行,每行输入两个整数M和N,代表有M个梨...原创 2019-07-27 20:05:19 · 396 阅读 · 0 评论 -
递归(棋盘问题、再战斐波那契)
题目描述:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <...原创 2019-07-27 20:14:28 · 454 阅读 · 0 评论 -
贪心(畜栏保留问题、FatMouse's Trade)
一、畜栏保留问题题目大意:N头牛每头牛要在时间区间[A,B]内挤奶,一个畜栏同时只能有一头牛挤奶,问最少几个畜栏能满足上述要求,并给出安排方案。输入输入N(1<=N<=50000)表示有N头牛,接下来N行,每行有两个数表示时间区间[A,B]。(1<=a<=b<=1000000).输出第一行一个整数表示最少要用的畜栏数;接下来N行,第 i + 1 行描述第 ...原创 2019-07-27 21:13:24 · 1025 阅读 · 0 评论 -
templae(数据类型)、vector定义变量、 priority_queue
一、templae<typename T>可以根据你所需要的类型就行匹配。例如:#include<iostream>#include<vector>#include<algorithm>using namespace std;template <typename T>T mmax(T a,T b){ return...原创 2019-07-27 21:28:42 · 374 阅读 · 0 评论 -
抓住那头牛(栈与队列)(广搜)
描述农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:1、从X移动到X-1或X+1,每次移动花费一分钟2、从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?输入两个整数,N和K输出一个整数...原创 2019-08-24 15:15:57 · 207 阅读 · 0 评论 -
位查询
总时间限制: 5000ms 内存限制: 65536kB描述给出N个范围在[0, 65535]的整数,编程支持以下的操作:(1)修改操作:C d,所有的数都增加d。如果超过65535,把结果模65536。 0 <= d <= 65535(2)查询操作:Q i,统计在N个正整数中有多少个整数其对应的二进制形式的第i位二进制位为非0。0 <= i <= 15。并且最低位i...原创 2019-08-24 15:25:31 · 610 阅读 · 1 评论 -
放苹果
总时间限制: 1000ms 内存限制: 65536kB描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。...原创 2019-08-24 15:41:01 · 116 阅读 · 0 评论 -
大整数乘法
总时间限制: 1000ms 内存限制: 65536kB描述求两个不超过200位的非负整数的积。输入有两行,每行是一个不超过200位的非负整数,没有多余的前导0。输出一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入1234567890098765432100样例输出1219326311126352690000解析:竖...原创 2019-08-24 15:54:37 · 146 阅读 · 0 评论 -
出栈序列统计
题目描述栈是常用的一种数据结构,有n个元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两种:push和pop,前者是将一个元素进 栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列 1,2,…,n,经过一系列操作可能得到的输出序列总数。【输入】 一个整数n(1<=n<=15)...原创 2019-08-24 16:36:00 · 305 阅读 · 0 评论 -
Maximal Intersection(最大交点)
Time limit :3000 msMemory limit :262144 kB题意:有 n 条线段,从 n 条线段中去掉一条使得剩余的线段公共部分最长,求该公共部分的长度。输入:n,然后有 n 行,每行两个整数,分别为线段的起始点和终止点。输出:从 n 条线段中去掉一条,求剩余的线段公共部分最长的长度。ExamplesInput41 32 60 43 3Out...原创 2019-08-29 22:16:03 · 264 阅读 · 0 评论 -
用队列对扑克牌排序
题目描述:假设这里有36张扑克牌,分别为A1A9,B1B9,C1C9,D1D9,其中A代表方片,B代表草花,C代表红桃,D代表黑桃,那么,设定如下的排序规则:1.对于两张卡牌,X1Y1与X2Y2,X1与X2表示A~D,Y1与Y2表示1~9,如果X1与X2不同,那么依照D>C>B>A的方式进行排序2.假如有X1与X2相同时,那么就比较Y1与Y2的大小。例如,对于如下的四张牌...原创 2019-07-17 22:45:59 · 603 阅读 · 0 评论 -
Bone Collector(01背包)
题目描述:Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …The bone coll...原创 2019-07-29 22:06:05 · 69 阅读 · 0 评论 -
猴子与香蕉(动态规划)
题目描述一组研究人员正在设计一个测试猴子IQ的实验。他们把香蕉吊在屋顶上,同时给猴子提供了砖块。如果猴子够聪明,它会把砖块一个个叠起来做成一个塔,然后爬上去拿到自己喜爱的食物。研究人员有n种不同的砖块,而且每种砖块都是取之不尽的。每种砖块都是长方体,第i种砖块的大小是(xi,yi,zi)。砖块能够翻转,可以将任意两边当作底面,剩下的那边作为高。他们想确定用砖块搭成的最高塔,能否帮助猴子够着屋...原创 2019-07-29 21:51:54 · 1644 阅读 · 0 评论 -
栈+进制转换
例子:十进制1348转8进制此代码只支持十进制转小于十进制的第一种使用的是静态数组:#include <iostream>using namespace std;int main(){ int n,m,d,i=0; int a[100]; cin>>n>>m; d=n; while(d!=0) {...原创 2019-07-14 19:34:02 · 139 阅读 · 0 评论 -
线性表+多项式加法
多项式加法:描述 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起。 首先,我们会有两个多项式,每个多项式是独立的一行,每个多项式由系数、幂数这样的多个整数对来表示。如多项式2x20- x17+ 5x9- 7x7+ 16x5+ 10x4 + 22x2- 15对应的表达式为:2 20 -1 17 5 9 - 7 7 16 5 10 4...翻译 2019-07-14 19:19:45 · 774 阅读 · 0 评论 -
Web Navigation(浏览器浏览网页模拟)
问题:浏览器浏览网页模拟。VISIT:访问。BACK:后退。FORWARD:前进。QUIT:退出。Sample Input:VISIT http://acm.ashland.edu/VISIT http://acm.baylor.edu/acmicpc/BACKBACKBACKFORWARDVISIT http://www.ibm.com/BACKBACKFORWA...原创 2019-07-16 23:14:24 · 1540 阅读 · 0 评论 -
Train Problem I(栈)
Problem Description:As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because the trains in the Ignatius Train Station is t...原创 2019-07-16 22:44:44 · 134 阅读 · 0 评论 -
树(前序,中序,后序)
问题描述:已知一个树的前序和中序,求后序。样例:样例输入:91 2 4 7 3 5 8 9 64 7 2 1 8 5 9 3 6样例输出:7 4 2 8 9 5 6 3 1实现:#include<iostream>#include <string>using namespace std;const int maxn=1000;struct ...转载 2019-07-16 22:42:48 · 1389 阅读 · 0 评论 -
等价表达式
判断两个表达式在数学上是否是等价的。输入:第一行:N(1<=N<=20),表示测试数据组数。接下来每组测试数据包括两行,每行包括一个数学表达式,每个表达式的长度不超过80个字符。输入数据没有空行。一个表达式可能包括:单个英文字母表示的变量(区分大小写)数字(只有一位数)配对的括号运算符加+、减-、乘*任意数量的空格或tab(可能出现在表达式中间的任何位置)注意:表达...原创 2019-07-20 11:23:36 · 2655 阅读 · 0 评论 -
Constructing Roads(最小生成树,Prim 普里姆)
There are N villages, which are numbered from 1 to N, and you should build some roads such that every two villages can connect to each other. We say two village A and B are connected, if and only if t...原创 2019-07-20 12:01:18 · 134 阅读 · 0 评论 -
二叉树创建(前序)、遍历(中序,后序,层次)
输入二叉树的前序,输出二叉树的中序,后序,层次。空的用#代替。代码实现:#include <iostream>#include <malloc.h>using namespace std;typedef struct node{ struct node *lChild,*rChild; char data;} BiTreeNode,*BiT...原创 2019-07-17 19:28:44 · 302 阅读 · 0 评论 -
二叉树建立,遍历
样例输入 :1 2 4 0 7 0 0 0 3 5 8 0 0 9 0 0 6 0 0空的用零代替,补充为完全二叉树。因为是输入数字 ,所以注意输入之间有空格。样例输出:二叉树建立成功二叉树总节点数为:9二叉树深度为:4二叉树叶子节点数为:4前序遍历结果:1 2 4 7 3 5 8 9 6中序遍历结果:4 7 2 1 8 5 9 3 6后序遍历结果:7 4 2 8 ...转载 2019-07-17 19:40:39 · 79 阅读 · 0 评论 -
最大子阵和(动态规划)
题目描述有一个包含正数和负数的二维数组。一个子矩阵是指在该二维数组里,任意相邻的下标是1*1或更大的子数组。一个子矩阵的和是指该子矩阵中所有元素的和。本题中,把具有最大和的子矩阵称为最大子矩阵。例如:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2这个数组的最大子矩阵为:9 2-4 1-1 8其和为15。输入输入包含多组测试数据。每组输入的第一行是一...原创 2019-07-29 21:30:59 · 742 阅读 · 0 评论 -
最长单调子序列(动态规划)
最长上升子序列(Longest Increasing Subsequence),简称LIS,也有些情况求的是最长非降序子序列,二者区别就是序列中是否可以有相等的数。例如:对于序列(1, 7, 3, 5, 9, 4, 8),我们就会得到一些上升的子序列,如(1, 7, 9), (3, 4, 8), (1, 3, 5, 8)等等,而这些子序列中最长的(如子序列(1, 3, 5, 8) ),它的长...原创 2019-07-29 21:42:28 · 467 阅读 · 0 评论 -
Concatenated Multiples(串联倍数)
Step1 Problem:n 个数 和 k,n 个数 分别 a[1] … a[n].连接两个数如:connection(x, y) = xy.connection(45, 112) = 45112.让你求 connection(a[i], a[j])%k == 0 的个数 (i != j)数据范围:1 <= n <= 2e5,2 <= k <= 1e9,...原创 2019-08-29 22:32:33 · 325 阅读 · 0 评论