
ACM
文章平均质量分 74
Miracle42
这个作者很懒,什么都没留下…
展开
-
nyoj-715-Adjacent Bit Counts(动态规划)
原文链接:nyoj-715-Adjacent Bit Counts题目大意:给定一个01字符串,使用如下公式 fun(x) = x1*x2 + x2*x3 + x3*x 4 + … + xn-1*x n 计算其权值。例如 Fun(011101101) = 3。要求出字符串的长度和权值数,输出满足该要求字符串的个数。解题思路:一开始用递归模拟了一下,大概十几秒才输出。。。 ...原创 2018-05-14 21:48:54 · 226 阅读 · 0 评论 -
NYOJ-257 - 郁闷的C小加(一)-中缀变后缀-数据结构
原文链接:NYOJ-257 - 郁闷的C小加(一)题目大意:我们熟悉的表达式如a+b、a+b*(c+d)等都属于中缀表达式。中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2。同理,后缀表达式就是操作符在两个操作数之后:num1 num2 operand。ACM队的“C小加”正在郁闷怎样把一个中缀表达式转换为后缀表达式,现在请你设计一个程序,帮助C小加把中原创 2018-05-03 23:04:55 · 314 阅读 · 0 评论 -
NYOJ-117-求逆序数-数据结构
原文链接:NYOJ-117-求逆序数题目大意:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。 解题思路:题目给的数据量很大,显然之后暴力O(n^2)是不可取的。看到评论区说可以使用归并排序解决,我就试了试,归并排序原创 2018-05-03 21:17:21 · 359 阅读 · 0 评论 -
NYOJ-47-过河问题-经典贪心
原文链接:NYOJ-47-过河问题题目大意:描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,如何设计一个方案,让这N人尽快过桥。 解题思路原创 2018-04-28 20:48:07 · 422 阅读 · 0 评论 -
NYOJ-14-会场安排问题-经典贪心
原文链接:NYOJ-14-会场安排问题-经典贪心题目大意:给出一些活动的起始和终止时间,每次只能执行一个活动,让找出最多能不重叠执行多少个活动。解题思路:很经典的一道贪心,一开始脑抽,想着找执行时间最短的,后来写完感觉不太对劲,再仔细想想应该是找终止时间最小的,想通这个之后就很容易。代码:#pragma warning(disable : 4996)...原创 2018-04-25 21:14:16 · 301 阅读 · 0 评论 -
河南省第三届ACM-BUYING FEED
原文链接:河南省第三届ACM-BUYING FEED题目大意:在一条路上(直线),一个农夫需要购买need个feed,这条路上不同位置有若干个商店,每个商店中的feed的数量和价格都不一样。并且每运输一个单位feed经过一个单位的距离都要花费1cent。让求最小的花费。解题思路:突然诈尸,哈哈哈,失踪人口回归,大家肯定都想我了吧(其实没人看。。。)下面进入正题。一开因为没仔细没仔细看题目,在运输费用原创 2018-04-22 20:51:26 · 235 阅读 · 0 评论 -
PAT-甲级-1010 Radix(25)
原文链接:PAT-甲级-1010题目大意:给定两个数和其中一个数a的基数radix(进制),另外一个数b可以是任意进制的情况下,看看两个数能不能相等。解题思路:刚开始的思路就是先求出给定进制的数,然后寻找另个一个数中每一位的最大值rdx,然后从rdx开始遍历,并计算其相应的十进制数res,直到大于等于a相应的十进制数。等于就是找到了,大于就是没有。写完信心满满,然后超时了:) 然后换成二分查找原创 2017-11-13 18:34:46 · 429 阅读 · 0 评论 -
PAT-甲级-1009 Product of Polynomials
原文链接:PAT-甲级-1009解题思路:不难,使用了常规思路。使用数组来存储指数,再使用两个数组来存储第一次输出的系数和结果系数。在第二次输入的时候,对于每一个输入的值都让其与第一次输入的每个项进行运算,并存入结果数组中。最后对结果数组进行两次遍历来找出非零项,并输出。注意事项:踩了两个坑: 第一个,指数最大是1000,项相乘之后指数相加最大为2000,所以数组要开2000。 第二个就是最后判原创 2017-10-12 21:30:17 · 672 阅读 · 0 评论 -
PAT-甲级-1002 A+B for Polynomials
原文链接:PAT-甲级-1002题目大意:给两个多项式,每个多项式有K个项。每项由指数和系数构成。计算两个多个多项式的和,并按输入格式输出。解题思路:由于指数0<=N<=1000,所以可以使用一个数组存储多项式的项,下标作为指数,值为系数。这样读入两个多项式并相加就可以得到结果多项式,然后将数组中值不为0的个数统计,就是结果多项式的项数,然后输出。应该注意的是使用double进行存储的时候可能会出现原创 2017-10-12 15:02:27 · 678 阅读 · 0 评论 -
PAT-甲级-1001 A+B Format
原文链接:PAT-甲级-1001题目大意:题目很简单,就是计算两个数的和,然后按格式化输出。如计算-1000000,9则输出:-999,991解题思路:先计算a,b之和,为了方便格式化输出,如果是负数的话,就是先输出‘-’,然后取相反数,这样所有和都变成了正数。然后将整数转换为字符串。之后按字符顺序输出,输出过程中如果 len - i % 3 ==0 && i!=0 //len为字符串长度,i是当前原创 2017-10-10 20:43:14 · 419 阅读 · 0 评论 -
UVa11093 例题9-13 环形跑道
原文链接:UVA11093题目大意:环形跑到上有n个加油站,每个加油站可以加p[i]的油,而到下一个加油站需要q[i]的油,油箱无上限,求出能不能从某个加油站除法能可以走完一圈。解题思路:紫书上给的思路:如果从第0个加油站出发,无法到达p+1站,在第p个加油站终止,则0~p之间的所有加油站都可以。原理很简单:既然可以从0到第p站说明,从0站到第1站(这里假设p不为0)的时候油箱里的有油只可能增多或者原创 2017-09-29 20:11:27 · 404 阅读 · 0 评论 -
PAT-乙级-1002 写出这个数
原文链接:PAT-乙级-1002题目大意:读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 解题思路:题目本身难度不大,主要考察的就是数字与字符串之间的转换。首先输入字符串,然后将每个字符转换成数字相加。然后将和变为相应的拼音输出。但是这题提交了三次才AC,前两次一直超时,一开始我以为是我使用了堆栈的原因,后来发现把堆栈换掉还是不对。再后来才发现,我输入字符串的时候是使用get原创 2017-09-29 20:06:49 · 587 阅读 · 0 评论 -
UVa12627 例题8-12 奇怪的气球膨胀
原文链接:UVA12627题目大意:一开始有一个红气球,每小时,一个红气球会变成3个红气球和1个蓝气球,而一个蓝气球会变成4个蓝气球(如图所示)。求经过k小时后,第A~B行一共有多少个红气球? 参考博客:http://blog.youkuaiyun.com/zyq522376829/article/details/46591661解题思路:根据题目的类型,理所当然的想到需要用分治的思想。但是一直不知道应该怎么原创 2017-09-28 16:28:02 · 826 阅读 · 0 评论 -
UVa10954 例题8-11 全部相加
原题链接: UVa10954题目大意: 模有n(n解题思路: 根据题意可知,要使最后开销最小,根据贪心的思想就要使每次相加的和最小,也就是取的两个数最小。这样这道题就变成哈夫曼算法,之后就简单了,使用优先列每次取两个数,再将和放入优先队列中,直到最后优先队列中只剩下一个数。就当是练习优先队列的用法。 需要注意的是,默认的优先队列是值越大优先级越高。要将其变成值越小的优先级越原创 2017-09-26 19:37:25 · 426 阅读 · 0 评论 -
UVa714 例题8-10 抄书
原题链接: UVa-714题目大意: 现有k个抄写员,m本书,每本书有若干页,每个抄书员需要抄写连续的若干本书。现在要找出一种分配方法使得抄写页数最多的那个抄写的页数最少。(有点绕,可以自行参考原题或者紫书P244)解题思路: 博主一开始的思路是根据序列平均值来判断,后来感觉不是很正确,就直接参考了紫书上给的思路。大致思路就是设s(i)为每个序列的和(每个抄书员抄的页数),找原创 2017-09-25 13:29:34 · 442 阅读 · 0 评论 -
UVa1610 习题8-2 聚会游戏
原题链接: UVa-1610题目大意: 输入一个n个(偶数个)字符串的集合D,输出一个字符串S,使得S尽量短的前提下满足大于等于一半的D,小于另一半的D。参考博客:http://blog.youkuaiyun.com/yeyeyeguoguo/article/details/45047301http://blog.youkuaiyun.com/wcr1996/article/detai原创 2017-09-07 21:08:13 · 346 阅读 · 0 评论 -
最长上升子序列(LIS) 三种方法:O(nlogn,DP,LCS)
原题链接: 最长上升子序列参考:http://blog.youkuaiyun.com/shuangde800/article/details/7474903紫书P274~275题目大意: 给定n个整数A1,A2...An,从左到右的顺序选出尽量多的整数,组成一个上升子序列(子序列可以理解为:删除0个或多个数,其他数的顺序不变。)例如序列1,6,2,3,7,5,可以选出原创 2017-08-31 16:04:38 · 539 阅读 · 0 评论 -
UAa116 例题9-4 单向TSP
原题链接: UVa116题目大意: 给定一个n*m的矩阵,要求从第一列的任何一行出发,每次沿右或右下或右上到达下一列,图形的环形的,也就是说到达最后一行再向下走之后到达第一行,最后到第m列任何一行整个路程的最小值,并且要求是字典序最小的。解题思路: 本题是紫书上的例题9-4,看了题感觉有点思路就自己开始写,没有看分析,后来踩了很多坑,不过有些坑只有踩了以后才能避免。 我的整原创 2017-08-29 18:09:09 · 455 阅读 · 0 评论 -
UVa-437 例题9-2 巴比伦塔(The Tower of Babylon)
原题链接: UVa-437题目大意: 模有n(n解题思路: 本题是使用动态规划解DAG最长路径的一个例题,终点和起点未知。思考用什么来表示状态时,一开始想的用底面的长和宽表示,后来看了紫书上的分析:长和宽比较大,用底面长和宽的表示状态的时候需要开的数组比较大。所以给出了另外一种表示状态的方法,使用立方体的序号和当前选择的高作为状态的表示。 整体思路就是:使用一个cube[n原创 2017-08-28 13:37:56 · 672 阅读 · 0 评论 -
UVa 11054 例题8-5 Gergovia的酒交易
原题链接: UVa-11054题目大意: 一个形状是一条直线的村庄(别问为什么他们的村庄是条直线,我也不知道,可能他们的次元是一维的吧),这还不算奇怪,更奇怪的是,这个村庄所有的经济活动就只有买酒和卖酒,每家人每天早上起来第一件事情就是觉得今天都要决定两件事:1、卖酒还是买酒 2、多少酒。而且每天都能供销平衡(神奇吧!),而且卖家和买家都不挑。但是一直以来有个问题,送酒需要人力,但是原创 2017-08-23 21:22:34 · 856 阅读 · 0 评论 -
UVa 11132 例题8-4 传说中的车(Fabled Rooks)
原题链接: UVA-230题目大意: 给出数字n代表马的个数和棋盘大小,接下给每n行,每个四个数字构成一个矩形区域表示该马的移动范围。写出一个程序判断,能不能满足如下条件:所有马都互相不能攻击(马的攻击范围是一行和一列),其次所有马都必须只能在自己的矩形范围内。如果满足按输入顺序输出每个马的位置。解题思路: 刚看到本题时候,觉得很像八皇后,使用回溯法求解。但是看了紫书上给的分原创 2017-08-23 18:45:26 · 724 阅读 · 0 评论 -
UVa1605 例题8-2 联合国大楼(Building for UN,ACM/ICPC NEERC 2007)
原题链接: UVa1605题目大意: 模有若干国家需要在联合国大楼里办公,需要把每个格子分配给一个国家,使得任意两个不同的国家都有一堆相邻的格子(要么是同层中间中间隔着墙,要么是一个的地板是另一个天花板)。解题思路: 一开始看了题之后,不知道该如何下手,主要是被样例误导了,以为要是用尽量少的格子。然后看了紫书上给的分析,瞬间我有一句mnp要讲。这就是一个脑筋急转弯啊。一下子就变原创 2017-08-22 14:08:26 · 1071 阅读 · 0 评论 -
UVa120 例题 8-1 煎饼 (Stacks of Flapjacks)
原题链接: UVa-120参考博客:http://www.cnblogs.com/devymex/archive/2010/08/15/1799844.html题目大意: 有N张正在锅里的一叠煎饼,每张都有一个数字,代表其直径大小。厨师每次可以选择一个数k,把从锅底开始数第k张上面的煎饼全部翻过来,即原来在上面的煎饼现在到了下面。要求设计一种方法使得所有煎饼按照从小到大排原创 2017-08-22 11:00:50 · 1390 阅读 · 0 评论 -
UVa524 例题7-9 万圣节后的早晨 (单向+双向)BFS
原题链接: UVa-1601题目大意: 题目不难理解,大意就是让你写的程序帮助麻瓜哈利波特将1~3个皮皮鬼(雕像)归位。具体题目参考原题和紫书205页。需要注意的是,每一次所有鬼都可以移动一步。运行结果: 单向BFS:参考博客: 1、http://blog.youkuaiyun.com/crazysillynerd/article/details/42681579 2、原创 2017-08-19 18:25:40 · 1106 阅读 · 0 评论 -
UVa524 例题7-4 素数环 (Prime Ring Problem)
题目大意: 模输入正整数n,把整数1,2,3...,n,组成一个环,使得相邻的两个整数之和均为素数,输出从整数1开始逆时针排序。同一个环应恰好输出一次.n 解题思路: 本题是《算法竞赛入门经典》第五章c++与STL的课后题,所以我当然首先想如何需要用什么STL容器去解决问题,经过思考原创 2017-08-08 13:35:01 · 1449 阅读 · 0 评论 -
八皇后问题
题目大意: 八皇后问题就是八个皇后问题嘛,啊?你还想知道别的信息?没了,真的没了。骗你的,其实还有,哈哈哈。八皇后问题的问题描述就是:在棋盘上放置8个皇后,使得它们互相不攻击,此时每个皇后的攻击范围为同行同列和同(主,副)对角线,要求找出所有的解。解题思路: 最近正在补权游(我不是那种追剧的人,一般喜欢养肥了再看),看到这道题就想到了瑟曦和玛格丽两个皇后撕逼,皇后何必为难皇后呢,扯远了原创 2017-08-08 10:38:06 · 1108 阅读 · 0 评论 -
UVa10129 例题 6-16 单词(Play On Words)
原题链接: UVa-10129题目大意: 输入n(n解题思路: 可以根据紫书后面提供的思路进行解决。将单词的首尾字母当做点,每个单词当做边。然后这道题就变成了一个图是否存在欧拉通路。要解决欧拉通路问题有两种方法一种是DFS,另一种是利用并查集。我用的是前一种方法(因为并查集我并不会┑( ̄Д  ̄)┍)。 思路也是和紫书上的一样的,先判断底图(把有向图变成无向图)是否原创 2017-08-06 16:40:57 · 1403 阅读 · 0 评论 -
UVa806 习题6-8 空间结构(Spatial Structures,ACM/ICPC World Finals 1998)
原题链接: UVa806题目大意: 根据黑白图像的两种表示方法的规则相互转换。细节:输出代表黑色块的数字序列时,每行大于12个要换行。输出最后不需要留空行(差点没栽死在这个坑里)解题思路: 本题其实可以分为两道题一道是矩阵转化为黑点数字序列,另一道是黑点数字序列转化为矩阵。下面是大体思路,具体细节参考代码。(花了挺长时间才写完的,在细节方面栽了很多坑)原创 2017-08-05 21:03:55 · 1518 阅读 · 0 评论 -
UVa804 习题 6-7 Petri网模拟(Petri Net Simulation,ACM/ICPC World Finals 1998)
原题链接: UVa-804题目大意: 模拟Petri网,(图参考原题或紫书)包含NP个库(圆圈),NT个变迁(大棒♂),大棒与若干个input(圆圈)和若干个output(圆圈)相连,只有每个input(也可当做指向大棒的箭头)都有一个小黑球时,input减少一个小黑球,才能完成变迁,然后output里会增加小黑球。题目要求能不能完成给定的跃迁数。解题思路: 其实这道题啊我已开原创 2017-08-04 17:33:15 · 2400 阅读 · 0 评论 -
UVa1600 习题6-5 巡逻机器人 (Patrol Robot,ACM/ICPC Hanoi 2006)
原题链接: UVa-1600题目大意: 模拟机器人要从一个m*n(m和n的范围都在1到20的闭区间内)的网格的左上角(1,1)走到右下角(m,n)。网格中的一些格子是空地,用0表示,其它格子是障碍,用1表示。机器人每次可以往四个方向走一格,但不能连续地穿越k( [0,20] )个障碍,求最短路长度。起点和终点保证是空地。解题思路: 本题是图的最短路径问题,理所当然的想到用原创 2017-08-03 09:57:57 · 1890 阅读 · 0 评论 -
UVa439 习题 6-4 骑士的移动(Knight Moves)
原题链接: UVa-439题目大意: 骑士在一个8*8的棋盘上移动,1-8代表行号,a-h代表列号,给出骑士的初始位置和目的位置,求骑士最少的移动步数.刘汝佳的字数上这题给了骑士移动的规律的图形。原题上没有给。解题思路: 看到本题要求求最短步数,首先想到应该用广度优先搜索(BFS),使用队列进行辅助。放了放置重复访问,设置一个二维数组来存储访问状态。 对于确定找到下原创 2017-08-02 15:54:20 · 1891 阅读 · 0 评论 -
UVa-536 习题6-3 二叉树重建(Tree Recovery,ULM 1997)
原题链接: UVA-536题目大意: 输入一棵二叉树的先序遍历和中序遍历序列,输出后序遍历序列。解题思路: 很基础的一道二叉树的题,和紫书中第六章中的一道例题很相似,边递归建树边输出。后序序列输出时应该将输出放在两个递归函数后面就可以后序序列。不难,不过还有些细节还是需要主要,比如传参的时候左右子树分别在先序和中序的位置需要注意。代码:#include#include原创 2017-08-02 11:07:33 · 1351 阅读 · 0 评论 -
UVa712 习题6-2 S树(S-Trees)
原题链接: UVA-712题目大意: 模给一个序列集合VVI {x1, x2, x3, ....,xn}, VVI中不是0就是1。然后有一个n层的树,每一层同层的都是相同的一个数,这个数取自VVI中, 输入会给出每一层是VVI中的哪一个最后一层是叶子结点,上面是一串给定的数字。从跟结点出发,如果那个结点是0,就往左儿子方向走,如果是1就往右儿子方向走。最后落在最后一层的叶子结点上,原创 2017-08-01 18:01:10 · 1701 阅读 · 0 评论 -
UVa816 例题 6-14 Abbott的复仇 (Abbott's Revenge,ACM/ICPC World Finals 2000)
原题链接: UVa-816题目大意: 模有一个最多包含9*9个交叉点的迷宫。输入起点、离开起点时的朝向和终点,求一条最短路径。(具体题目参考原题和紫书)解题思路: 本题是一道用BFS求最短路径的迷宫题。不过和普通的迷宫不太一样,该题加了一个朝向和转向的概念。可以想象成十字路口修路,限制道路前进方向(不太准确)。这道题看的时候完全没有思路,虽然写过用BFS求解迷宫的问题,但是想了原创 2017-07-31 13:47:17 · 1945 阅读 · 0 评论 -
UVa297 例题6-11 四分树(Quadtrees)
原题链接: UVA-297题目大意: 一幅图有1024个点,可以对图平均分成4块,并且子图也可以再往下分 直到一个子图表示一个像素点。 f表示这块子图填满, p表示它还有4个子图,并且子图中有被填满的, e表示没有子图。 给定两个字符串,是递归的方式(先序)描述出两个树的情况, 求把两图合并后的图的黑点数。解题思路: 本题是《算法竞赛入门经典》第六章的课后题,一开始看的时原创 2017-07-29 13:31:19 · 1454 阅读 · 0 评论 -
UVA699-例题6-10 下落的树叶(The Falling Leaves,UVa 699)
原题链接: UVa-699题目大意: 题意为给一棵二叉树,求从左向右输出每个水平位置的所有结点的权值之和。输入按照递归(先序)方式,-1表示空树。解题思路: 本题是《算法竞赛入门经典》第六章例题,本题的主要解题思路就是使用递归根据输入直接计算每个水平位置的的权值之和。 一开始看完题之后也想着用数组来存储每一列的权值之和。但是由于下标的问题感觉处理起来过于麻烦。就有原创 2017-07-28 17:55:41 · 1458 阅读 · 0 评论 -
UVa 679 例题6-6 小球下落(Dropping Balls)
原题链接: UVa-679题目大意: 有一颗满二叉树,每个节点是一个开关,初始全是关闭的,小球从顶点落下,小球每次经过开关就会把它的状态置反,现在问第k个球下落到d层时经过的开关编号。 解题思路: 这道题一开始看的时候,感觉不是很复杂,看了题目就开始自己实现了。 (代码一)一开始(为什么说一开始,因为后面还有另一方法啊!)思路很直接,就是用一个2^m大小的数组来模拟原创 2017-07-27 11:06:52 · 1711 阅读 · 0 评论 -
UVa442 例题6-3 矩阵链乘(Matrix Chain Multiplication)
原题链接:UVa-442题目大意: 输入n个矩阵维度和一些矩阵链乘表达式,输出乘法次数。解题思路: 本题的思路很清晰,先读取各个矩阵维度。然后根据输入的矩阵链乘表达式进行计算。矩阵链乘表达式计算时需要用到栈。当遇到')'时,从表达式中取出两个矩阵进行链乘,之后再存入栈中。直到计算到完成计算。 需要注意的就是从栈中取出矩阵进行计算的时候应该使用 先取出矩阵的y与后取出矩原创 2017-07-26 10:40:44 · 1813 阅读 · 0 评论 -
UAa514 例题6-2 铁轨 Rails
某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶入车站。例如,出栈顺序(5 4 1 2 3)是不可能的,但是(5 4 3 2 1)是可能的。原创 2017-07-24 16:49:59 · 1356 阅读 · 0 评论 -
UVa12504 习题5-11 更新字典 (Updating a Dictionary)
习题5-11 更新字典 (Updating a Dictionary,UVa12504) 算法竞赛入门经典课后原创 2017-07-23 13:23:23 · 1269 阅读 · 0 评论