ACM
算法题
_APTX4869
这个作者很懒,什么都没留下…
展开
-
算法笔记-上机训练实战指南汇总
3 3.6 字符串处理 B1024/A1073. 科学计数法 4 4.1 排序 A1016. Phone Bills A1025. PAT Ranking ...原创 2020-02-27 13:14:54 · 771 阅读 · 0 评论 -
深入学习二叉树——二叉树基础
前言树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树。希望各位读者能够关注专题,并给出相应意见,通过系列的学习做到心中有“树”。1 重点概念1...原创 2020-02-13 20:57:38 · 913 阅读 · 0 评论 -
Codeup最短路径:弗洛伊德最短路径算法
题目描述在带权有向图G中,求G中的任意一对顶点间的最短路径问题,也是十分常见的一种问题。解决这个问题的一个方法是执行n次迪杰斯特拉算法,这样就可以求出每一对顶点间的最短路径,执行的时间复杂度为O(n3)。而另一种算法是由弗洛伊德提出的,时间复杂度同样是O(n3),但算法的形式简单很多。可以将弗洛伊德算法描述如下:在本题中,读入一个有向图的带权邻接矩阵(即数组表示),建立有向...原创 2019-08-21 21:35:44 · 481 阅读 · 0 评论 -
CodeupDAG最长路:矩形嵌套
问题 A: 矩形嵌套时间限制:1 Sec内存限制:64 MB提交:359解决:166[提交][状态][讨论版][命题人:外部导入]题目描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌...原创 2019-08-26 21:03:42 · 246 阅读 · 0 评论 -
Codeup背包问题:装箱问题
问题 A: 装箱问题时间限制:1 Sec内存限制:128 MB提交:557解决:222[提交][状态][讨论版][命题人:外部导入]题目描述【问题描述】有一个箱子的容量为V(V为正整数,且满足0≤V≤20000),同时有n件物品(0的体积值为正整数。要求从n件物品中,选取若干装入箱内,使箱子的剩余空间最小。输入:1行整数,第1个数表示箱子的容量,第2个数...原创 2019-08-26 21:34:43 · 384 阅读 · 0 评论 -
Codeup背包问题:采药
问题 B: 采药时间限制:1 Sec内存限制:128 MB提交:288解决:174[提交][状态][讨论版][命题人:外部导入]题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医 师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株...原创 2019-08-26 21:49:42 · 242 阅读 · 0 评论 -
Codeup背包问题:货币系统
问题 C: 货币系统时间限制:1 Sec内存限制:128 MB提交:551解决:153[提交][状态][讨论版][命题人:外部导入]题目描述母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统。[In their own rebellious way],,他们对货币的数值感到好奇。传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的...原创 2019-08-27 19:47:54 · 398 阅读 · 0 评论 -
Codeup动态规划专题总结:拦截导弹
问题 B: 拦截导弹时间限制: 1 Sec 内存限制: 32 MB提交: 219 解决: 98[提交][状态][讨论版][命题人:外部导入]题目描述某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统...原创 2019-08-27 20:41:05 · 319 阅读 · 0 评论 -
Codeup动态规划专题总结:合唱队形
问题 C: 合唱队形时间限制:1 Sec内存限制:32 MB提交:175解决:86[提交][状态][讨论版][命题人:外部导入]题目描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则...原创 2019-08-27 21:15:36 · 369 阅读 · 0 评论 -
Codeup动态规划专题总结:Coincidence
问题 D: Coincidence时间限制:1 Sec内存限制:32 MB提交:143解决:72[提交][状态][讨论版][命题人:外部导入]题目描述Find a longest common subsequence of two strings.输入First and second line of each input casecontain two s...原创 2019-08-27 21:41:59 · 279 阅读 · 0 评论 -
Codeup动态规划专题总结:最大子矩阵
问题 E: 最大子矩阵时间限制:1 Sec内存限制:32 MB提交:168解决:65[提交][状态][讨论版][命题人:外部导入]题目描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵...原创 2019-08-28 19:46:16 · 350 阅读 · 0 评论 -
Codeup最长回文子串:【字符串】最长回文子串
问题 A: 【字符串】最长回文子串时间限制:1 Sec内存限制:128 MB提交:370解决:180[提交][状态][讨论版][命题人:外部导入]题目描述 输入一个字符串,求出其中最长的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同。如abba和yyxyy。在判断回文时,应该忽略所有标点符号和空格,且忽略大小写,...原创 2019-08-26 20:24:33 · 338 阅读 · 0 评论 -
Codeup最短路径:最短路径问题
题目描述给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入输入n,m,点的编号是1~n,然后是m行,每行4个数a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数s,t;起点s,终点t。n和m为0时输入结束。(1<n<=1000, 0...原创 2019-08-22 22:27:14 · 307 阅读 · 0 评论 -
Codeup最短路径:问题 D: 最短路径
题目描述有n个城市m条道路(n<1000, m<10000),每条道路有个长度,请找到从起点s到终点t的最短距离和经过的城市名。输入输入包含多组测试数据。每组第一行输入四个数,分别为n,m,s,t。接下来m行,每行三个数,分别为两个城市名和距离。输出每组输出占两行。第一行输出起点到终点的最短距离。第二行输出最短路径上经过的城市名,如果有多条最短路...原创 2019-08-22 22:08:52 · 964 阅读 · 0 评论 -
Codeup 深度优先搜索(DFS):【递归入门】全排列
题目描述 排列与组合是常用的数学方法。先给一个正整数 ( 1 < = n < = 10 )例如n=3,所有组合,并且按字典序输出:1 2 31 3 22 1 32 3 13 1 23 2 1输入输入一个整数n( 1<=n<=10)输出输出所有全排列每个全排列一行,相邻两个数用空格隔开(最后一个数后面没有空格...原创 2019-08-16 19:19:43 · 277 阅读 · 2 评论 -
Codeup 深度优先搜索(DFS):【递归入门】组合的输出
题目描述排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r < = n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你不用递归的方法输出所有组合。例如n = 5 ,r = 3 ,所有组合为:1 2 31 2 41 2 51 3 41 3 51 4 52 3 42 3 52 4 53...原创 2019-08-16 20:07:48 · 299 阅读 · 2 评论 -
Codeup最短路径:最短路径
题目描述N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的最短距离。输入第一行两个正整数N(2<=N<=100)M(M<=500),表示有N个城市,M条道路,接下来M行两个整数,表示相连的两个城市的编号。输出N-1行,表示0号城市到其他城市的最短路,如果无法到达,输出-1,数值太大的以MOD 10000...原创 2019-08-21 22:27:03 · 372 阅读 · 0 评论 -
Codeup 深度优先搜索(DFS):【递归入门】组合+判断素数
题目描述已知 n 个整数b1,b2,…,bn以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34。 现在,要求你计算出和为素数共有多少种。例如上例,...原创 2019-08-16 20:54:56 · 377 阅读 · 0 评论 -
Codeup 深度优先搜索(DFS):【递归入门】出栈序列统计
题目描述栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两•种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…,n,经过一系列操作可能得到的输出序列总数。输入一个整数n(1<=n<=...原创 2019-08-16 21:46:45 · 393 阅读 · 0 评论 -
Codeup 深度优先搜索(DFS):【递归入门】走迷宫
题目描述 有一个n*m格的迷宫(表示有n行、m列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这n*m个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用-l表示无路)。 请统一用 左上右下的...原创 2019-08-16 22:25:01 · 807 阅读 · 0 评论 -
Codeup 深度优先搜索(DFS):【递归入门】n皇后 问题(原始的8皇后问题)
题目描述 会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。输入一个整数n( 1 < = n < = 10 )输出每行输出对应一种方案,按字典序输出所有方案。每种方案顺序输出皇后所在的列号,相邻两数之间用空格隔开。如果一组可行方案...原创 2019-08-16 22:32:33 · 311 阅读 · 0 评论 -
Codeup广度优先搜索(BFS):DFS or BFS?
题目描述说好了,题目不黑人。给你一个8*8的矩阵,你的初始位置是左下角方格(用'U’表示),你的目标位置是右上角的方格(用'A'表示),其余的62个方格,如果是'.',表示这个方格为空,如果是'S',表示这个方格有一块大石头。好了现在你开始从左下角出发,每次可以往上,下,左,右,左上,右上,左下,右下移动一个方格,或者你可以原地不动,一共九个动作方式,在你做完一个动作后,所有的大石头会往下...原创 2019-08-17 20:45:04 · 234 阅读 · 0 评论 -
Codeup广度优先搜索(BFS):【宽搜入门】8数码难题
题目描述初始状态的步数就算1,哈哈输入:第一个3*3的矩阵是原始状态,第二个3*3的矩阵是目标状态。输出:移动所用最少的步数Input2 8 31 6 47 0 51 2 38 0 47 6 5Output6#include<bits/stdc++.h>using namespace std;struct Node{...原创 2019-08-17 22:01:08 · 384 阅读 · 0 评论 -
Codeup动态规划专题总结:放苹果
问题 F: 放苹果时间限制:1 Sec内存限制:32 MB提交:87解决:70[提交][状态][讨论版][命题人:外部导入]题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M...原创 2019-08-28 20:21:37 · 480 阅读 · 0 评论 -
Codeup动态规划专题总结:点菜问题
问题 G: 点菜问题时间限制:1 Sec内存限制:32 MB提交:156解决:89[提交][状态][讨论版][命题人:外部导入]题目描述北大网络实验室经常有活动需要叫外买,但是每次叫外买的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得...原创 2019-08-28 20:49:57 · 493 阅读 · 2 评论 -
CCF:201703-4 地铁修建
试题编号: 201703-4 试题名称: 地铁修建 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁。 地铁由很多段隧道组成,每段隧道连接两个交通枢纽。经过勘探,有m段隧道作为候选,两个交通枢纽之间最...原创 2019-09-12 20:30:54 · 288 阅读 · 0 评论 -
CCF:201612-3 权限查询
试题编号: 201612-3 试题名称: 权限查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。 本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若干权限。例...原创 2019-09-12 23:37:21 · 273 阅读 · 0 评论 -
CCF:201612-1 中间数
试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个整数序列a1,a2, …,an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列...原创 2019-09-12 23:39:23 · 219 阅读 · 0 评论 -
CCF:201612-2 工资计算
试题编号: 201612-2 试题名称: 工资计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为...原创 2019-09-12 23:40:49 · 683 阅读 · 0 评论 -
CCF:201609-1 最大波动
试题编号: 201609-1 试题名称: 最大波动 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 ...原创 2019-09-13 20:11:20 · 224 阅读 · 0 评论 -
CCF:201609-2 火车购票
试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类...原创 2019-09-13 21:03:30 · 226 阅读 · 0 评论 -
CCF:201609-3 炉石传说
试题编号: 201609-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所...原创 2019-09-13 21:51:55 · 247 阅读 · 0 评论 -
CCF:201604-1 折点计数
试题编号: 201604-1 试题名称: 折点计数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6...原创 2019-09-14 16:27:38 · 205 阅读 · 0 评论 -
CCF:201512-1 数位之和
试题编号: 201512-1 试题名称: 数位之和 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个十进制整数n,输出n的各位数字之和。 输入格式 输入一个整数n。 输出格式 输出一个整数,表示答案。 样例输入 20151220 样例输出...原创 2019-09-15 07:41:47 · 232 阅读 · 0 评论 -
CCF:201703-2 学生排队
试题编号: 201703-2 试题名称: 学生排队 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下...原创 2019-09-05 21:55:11 · 234 阅读 · 0 评论 -
CCF:201703-1 分蛋糕
试题编号: 201703-1 试题名称: 分蛋糕 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1,a2, …,an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手...原创 2019-09-05 20:57:02 · 228 阅读 · 0 评论 -
Codeup字符串hash进阶:求最长公共子串(串)
问题 A: 求最长公共子串(串)时间限制:1 Sec内存限制:128 MB提交:89解决:54[提交][状态][讨论版][命题人:外部导入]题目描述求采用顺序结构存储的串s和串t的一个最长公共子串,若没有则输出false,若最长的有多个则输出最先出现的那一串。输入输入两个字符串输出输出公共子串样例输入abcdefadbcef样例输出...原创 2019-08-28 21:52:22 · 682 阅读 · 1 评论 -
CodeupKMP算法:动物简介(animal)
问题 A: 动物简介(animal)时间限制:1 Sec内存限制:64 MB提交:234解决:78[提交][状态][讨论版][命题人:外部导入]题目描述到了动物园,琦琦开心得跳起来。哗,这里好多动物呀,有老虎,有狮子……,在开心之余,琦琦也不忘妈妈的教导:观察动物时要认真仔细,还要看动物园附上的动物简介呀。动物的简介原来还有英文版的呢!为了卖弄自己的英文水平,琦琦...原创 2019-08-29 19:26:28 · 1001 阅读 · 0 评论 -
CodeupKMP算法:P2 统计单词数
问题 B: P2 统计单词数时间限制:1 Sec内存限制:128 MB提交:177解决:52[提交][状态][讨论版][命题人:外部导入]题目描述统计单词数 (stat.cpp/c/pas)一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,...原创 2019-08-29 20:25:30 · 400 阅读 · 0 评论 -
Codeup分块思想:区间查询
问题 A: 区间查询时间限制:2 Sec内存限制:32 MB提交:198解决:107[提交][状态][讨论版][命题人:外部导入]题目描述食堂有N个打饭窗口,现在正到了午饭时间,每个窗口都排了很多的学生,而且每个窗口排队的人数在不断的变化。现在问你第i个窗口到第j个窗口一共有多少人在排队?输入输入的第一行是一个整数T,表示有T组测试数据。每组输入的第一行...原创 2019-08-29 21:13:07 · 240 阅读 · 0 评论