
ACM刷题
刷题
米先森
这个作者很懒,什么都没留下…
展开
-
Chocolate
Description Bob loves everything sweet. His favorite chocolate bar consists of pieces, each piece may contain a nut. Bob wants to break the bar of chocolate into multiple pieces so that each part wou原创 2018-02-25 20:12:24 · 448 阅读 · 0 评论 -
树的遍历(前序,中序,后序遍历)
前序遍历(Preorder):根节点,左子树,右子树的顺序 中序遍历(Inorder):左子树,根节点,右子树的顺序 后序遍历(Postorder):左子树,右子树,根节点的顺序#include <iostream>#include <cstdio>#define Max 100000#define NIL -1using namespace std;int n;struct nod原创 2017-10-28 15:52:04 · 254 阅读 · 0 评论 -
hdu_1710_Binary Tree Traversals(二叉树的重构)
Description 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 way原创 2017-10-30 16:59:49 · 222 阅读 · 0 评论 -
二叉树的重建
给定前序序列和中序序列,唯一确定一棵二叉树; 给定后序序列和中序序列,按层次序列和中序序列可以也可以唯一确定一棵二叉树。 但是,如果知道二叉树的先序序列和后序序列,则无法唯一确定一棵二叉树。输入:(前序遍历与中序遍历) 5 1 2 3 4 5 3 2 4 1 5输出:(后序遍历结果) 3 4 2 5 1一、树的重建:前序遍历与中序遍历 前序:A B D E H I C F G原创 2017-10-28 16:04:30 · 250 阅读 · 0 评论 -
部分和问题(深搜)
Description给出一组整数,a1、a2、a3...、an,判断是否可以从中抽取若干数,使他们的和恰好为k;限制条件:1Input输入n,然后输入n 个数字,再输入kOutput如果可以使和为k,则输出Yes,否则输出No;Sample Inputn = 4a = {1,2,4,7}k = 13原创 2018-02-04 20:03:40 · 357 阅读 · 0 评论 -
SDUT-3399-数据结构实验之排序二:交换排序
Problem Description 冒泡排序和快速排序都是基于”交换”进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。Input 连续多组输入数据,每组数据第一行给出正整数N(N ≤ 10^5),随后给出N个整数,数字间以空格分隔。Output 输出数据占一行,代表冒泡排序和快速排序进行排序分原创 2017-10-14 19:22:10 · 237 阅读 · 0 评论 -
SDUT-1488-数据结构实验:连通分量个数
Problem Description 在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图, 否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。 例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4是连通的,则这个无向图有3个连通分量。Input 第原创 2017-10-14 19:32:16 · 424 阅读 · 0 评论 -
SDUT_3377_数据结构实验之查找五:平方之哈希表
Problem Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,…,m-1Input 输入包含多组测试数据,到 EOF 结束。 每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小原创 2017-11-09 21:12:37 · 245 阅读 · 0 评论 -
SDUT_2137_数据结构实验之求二叉树后序遍历和层次遍历
Problem Description 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历。Input 输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的先序遍历序列,第二个字符串表示二叉树的中序遍历序列。Output 每组第一行输出二叉树的后序遍历序列,第二行输出二叉树的层次遍历序列。原创 2017-11-02 19:57:26 · 246 阅读 · 0 评论 -
SDUT—1252(进制转换)
Problem Description 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R != 10)。 Output 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 Example Input 7 2原创 2017-09-26 14:20:38 · 390 阅读 · 0 评论 -
SDUT_3376_数据结构实验之查找四:二分查找
Problem Description 在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。Input 一组输入数据,输入数据第一行首先输入两个正整数n ( n < = 10^6 )和m ( m < = 10^4 ),n是数组中数据元素个数,随后连续输入n个正整数,输入的数据保证数列递增。 随后m行输入m个待查找的关键字keyOu原创 2017-10-07 19:21:59 · 256 阅读 · 0 评论 -
SUDT_3379_数据结构实验之查找七:线性之哈希表
Problem Description 根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。Input 连续输入多组数据,每组输入数据第一行为两个正整数N(N <= 1500)和p(p >= N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正原创 2017-11-09 21:18:50 · 362 阅读 · 0 评论 -
SDUT—2139(图结构练习——BFS——从起始点到目标点的最短步数)
Problem Description 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相原创 2017-09-26 15:11:19 · 295 阅读 · 0 评论 -
SDUT_2449_数据结构实验之栈与队列十:走迷宫
Problem Description 一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m),每次可以向上下左右四个方向任意走一步,并且有些格子是不能走动,求从起点到终点经过每个格子至多一次的走法数。Input 第一行一个整数T 表示有T 组测试数据。(T <= 110) 对于每组测试数据: 第一行两个整数n, m,表示迷宫有n * m 个格子。(1 <原创 2017-10-07 19:00:36 · 1540 阅读 · 0 评论 -
SDUT_3361_数据结构实验之图论四:迷宫探索
Problem Description 有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点? Input 连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1 < N <= 1000)、边数M(M <= 3000)和起始结点编号S,随后M行对应M条边,每行给出一对正整数原创 2017-09-26 15:27:27 · 260 阅读 · 0 评论 -
SDUT3899_sum of power(大数问题)
sum of power Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discu...原创 2018-04-18 20:49:28 · 250 阅读 · 0 评论 -
SDUT_1028_Catch That Cow(bfs)
Problem Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a p原创 2017-09-26 16:28:50 · 168 阅读 · 0 评论 -
SDUT_3362_数据结构实验之图论六:村村通公路
Problem Description 当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间可以建设公路的若干条道路的成本,你的任务是根据给出的数据表,求使得每个村都有公路连通所需要的最低成本。Input 连续多组数据输入,每组数据包括村落数目N(N <= 1000)和可供选择的道路数目M(M <= 3000),随后原创 2017-10-07 19:15:14 · 339 阅读 · 0 评论 -
链表知识
一、顺序表类似数组 1.建立顺序表void CreatList(SqList *&L,类型 a[],int n){ L = (SqList *)malloc(sizeof(SqList)); for(int i=1;i<=n;i++) { L->data[i] = a[i]; }}2.顺序表的归并(思想与顺序表归并类似,见下面)顺序表和数组思想一原创 2017-09-17 16:19:54 · 311 阅读 · 0 评论 -
HDU-5974-A Simple Math Problem
Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a原创 2017-10-14 17:17:39 · 343 阅读 · 0 评论 -
HDU_1556_树状数组
Description N个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input 每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包原创 2017-08-29 12:30:34 · 287 阅读 · 0 评论 -
SDUT-3363-数据结构实验之图论七:驴友计划
Problem Description 做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。 Input 连续T组数据输入,每组输入数据的第一行给出四个正整数N,M,s,d,其中N(2 <= N <= 500)是城市数目,城原创 2017-10-14 19:27:23 · 240 阅读 · 0 评论 -
贪心_过河问题
题目意思:每个人过河都有自己的过河时间,有n个人想过河,但只有一只小船,最多只能装2个人,每一次过河,过河时间为用时最多的那人过河时间,如果还有人没有过河,那么过去一个用时最少的送回船。问n人过河最少要多少时间。分析:参考网上的思路题意:也就是一个坐船问题,一共有两个策略①最快和次快过去,最快回;最慢和次慢过去,次快回,t=s[1]+s[0]+s[n-1]+s[1]。②最快和最慢过去,最快回;最快...原创 2018-04-09 19:25:53 · 717 阅读 · 0 评论 -
01背包——DP
题目:有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。1<=n<=100 1<=wi<=10^71<=vi<=1001<=W<=10^9样例输入n=4(w,v)={(2,3),(1,2),(3,4),(2,2)}W=5样例输出7(选择0、1、3号物品)分析:将背包的重量 j 从0开始到...原创 2018-02-11 15:19:59 · 272 阅读 · 0 评论 -
1134 最长递增子序列(时间复杂度O(n*log(n))
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题Description 给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。Input 第1行:1个数N,N为序列的长度(2 <= N <= 50000) 第2 - N + 1行:每行1原创 2017-10-28 15:48:16 · 411 阅读 · 0 评论 -
HDU-2087-剪花布条
Problem description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#原创 2017-10-14 17:28:24 · 467 阅读 · 0 评论 -
Java字符串整理
一、字符串的输入与转换:in.next(); //到空格就结束in.nextLine();String str = new String();1.一维:(1)空格不当做字符串的: String g[] = new String[n]; //字符串数组 for(int i=0;i<n;i++) g[i] = in.next(); //字符串类型的,到空格结束(每一个可以不...原创 2018-04-16 15:27:56 · 337 阅读 · 0 评论 -
HDU-3746-Cyclic Nacklace
Problem Description CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, without any surprise, there are only 99.9 yuan left. he is too distressed and原创 2017-10-14 17:45:19 · 210 阅读 · 0 评论 -
SDUT—2772—数据结构实验之串一:KMP简单应用
Problem Description 给定两个字符串string1和string2,判断string2是否为string1的子串。 Input 输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。 Output 对于每组输入数据,若string原创 2017-09-28 18:32:35 · 988 阅读 · 0 评论 -
SDUT_3311_数据结构实验之串三:KMP应用
Problem Description 有n个小朋友,每个小朋友手里有一些糖块,现在这些小朋友排成一排,编号是由1到n。现在给出m个数,能不能唯一的确定一对值l和r(l <= r),使得这m个数刚好是第l个小朋友到第r个小朋友手里的糖块数?Input 首先输入一个整数n,代表有n个小朋友。下一行输入n个数,分别代表每个小朋友手里糖的数量。 之后再输入一个整数m,代表下面有m个数。下一原创 2017-09-28 18:15:20 · 201 阅读 · 0 评论 -
计蒜客—最长不重复子串(字符串)
给定一个字符串,找到最长的子串,要求该子串中没有重复的字符。例如:字符串abcabcbb的不含重复字符的最长子串为abc,长度为33。而bbbbbb的不含重复字符的最长子串为b,长度为11。输入格式输入包含多行,每一行对应一个长度不超过100100的输出,直到遇到结束符为止。每行依次输入字符串s。输出格式输出不含重复字符的最长子串的长度。样例输入hchzvfrkmlnozjk样...原创 2018-05-11 11:31:52 · 343 阅读 · 0 评论 -
POJ_1789_最小生成树
Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each原创 2017-08-05 14:51:23 · 244 阅读 · 0 评论 -
POJ_2891_中国剩余定理
Description Elina is reading a book written by Rujia Liu, which introduces a strange way to express non-negative integers. The way is described as following: Choose k different positive integers a原创 2017-08-05 13:31:53 · 398 阅读 · 0 评论 -
poj_2456_Aggressive cows(二分搜索----最大最小/最小最大问题)
Aggressive cowsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 18363 Accepted: 8740DescriptionFarmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are l...原创 2018-04-09 20:27:35 · 241 阅读 · 0 评论 -
poj_3273_Monthly Expense(二分搜索,最小花费)
Monthly ExpenseTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 32155 Accepted: 12113DescriptionFarmer John is an astounding accounting wizard and has realized he might run out of money to ru...原创 2018-04-09 20:52:57 · 185 阅读 · 0 评论 -
最长上升子序列
Problem Description 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1<= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3原创 2017-08-27 10:11:10 · 461 阅读 · 0 评论 -
POJ_1163_数字三角形问题(DP)
Problem Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。 Input 输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0..99之间。原创 2017-08-27 09:38:44 · 431 阅读 · 0 评论 -
poj_1328_Radar Installation(贪心)
Description Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installation, loc原创 2017-08-28 15:11:36 · 279 阅读 · 0 评论 -
广搜最小转机(啊哈)
在一个无向图中import java.util.*;class node{ //在哪个城市转机几次 int x; //城市编号 int k; //转机次数}public class Main{ static int maxx = 1005; static int n,m,s,t; //n个城市,m条航线,s起点,t终点 static int head,tail; st...原创 2018-04-09 19:10:08 · 392 阅读 · 1 评论 -
poj_1321_棋盘问题(深搜,不同行不同列)
棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 59097 Accepted: 28382Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输...原创 2018-04-09 19:05:40 · 802 阅读 · 0 评论