自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 专题四总结

这这个专题里面我们主要是跟图打交道。在整个大二,可以说一直都在和图打交道,离散数学离不开图,数据结构离不开图,acm当然也离不开图。图真的是非常重要啊,它深入到我们生活的各个方面,图在我们的生活中有着极大的用处,像一些网络线缆的铺设,还有修路的最短长度或是最少费用,这些问题在题目中都反映了出来。在这个专题里面,树和图是这个专题的全部。对于树,我们的目的是给出一棵树,然后根据要求求出这棵数的最小

2016-07-03 09:23:04 275

原创 Acm课程总结

ACM课程总结一个学期又过去了,这个学期的ACM是我觉得最难的学科,尽管最难,但是我觉得最有用的还是它了,虽然并没有掌握这四个专题,但是在做题的过程中对于思维的锻炼确实是非常有用的,受益匪浅。对于这一篇课程总结,我将从这四个专题去进行总结,这其中有什么不对的地方还望老师予以指正。现在对图的印象最深,先从图说起吧。 图的有关算法 这这个专题里面我们主要是跟图打交道。在整个大二,可

2016-07-03 08:33:13 1573

原创 专题四1011

题目大意:虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自

2016-06-29 22:09:42 326

原创 专题四1008

题目大意:给出一个图,求出这个图的最大连通分量,然后这个连通分量最多只能有一个环,要求这个连通分量的权值之和最大。输入:测试实例有多个,每个测试实例的第一行输入两个数N和M,分别代表图的顶点个数和边的数量。接下来输入M行代表M条边,每一行输入3个整数u,v,c,分别代表边的两个端点和这条边的权值。当输入的N和M为0时代表输入结束,不做任何处理。输出:最大权值解题思路:这

2016-06-28 22:36:14 299

原创 专题四1009

题目大意:在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?输入:输入包括多组数据。每组数据第一行是两个整数N、M(N输入保证至少存在1条商店到赛场的路线。输出:对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间

2016-06-27 22:10:35 342

原创 专题四1007

题目大意:洪水爆发,然后有几个幸存的城市,但这些城市并不是全都能连通的,有的城市之间有路,但是有的没有,现在政府想修路把这些城市连起来,要求编程输出修路的最少费用。输入:第一行输入一个正整数代表测试实例的个数,然后每个测试实例的开始输入三个整数n,m,k,分别代表城市的个数,可供选择去修的路,已经连通的城市个数。接下来输入m行,每行代表一条路,每行有3个整数p,q,c,分别代表这条路的

2016-06-26 22:35:28 305

原创 专题四1006

题目大意:给出城市的编号和相邻两个城市之间的距离,求出要使这些城市连通需要修建的最短的路的长度。输入:有多个测试实例。第一行输入一个正整数N代表城市个数,然后接下来的N-1行,每行开头输入一个城市的编号,第二个数输入和这个城市有关联的城市的个数M,接着输入M对数,每一对的第一个是城市编号,接下来的整数是这个编号和这行开头的城市的编号的距离。当测试实例开头输入的城市个数为0时程序终止

2016-06-25 20:37:22 298

原创 专题四1002

题目大意:给出一些二维平面图的点的坐标,要求编程输出如果要把这些点全部用线连起来需要的最短的线的长度。输入:第一行输入一个整数N代表点的个数,然后接下来的N*(N-1)/2行每行输入两个数,代表这个点的坐标(横坐标X和纵坐标Y)输出:最短线的长度。解题思路:这道题理解了题意之后明明觉得很简单但就是不知道怎么做,这道题我用了一个多小时才解出来,但是还不知道对不对。我是这么

2016-06-24 21:33:11 507

原创 专题四1001

题目大意:这道题是一个给村庄修路的问题。根据一份调查报告,给出了村庄的个数和任意两个村庄间的距离,还给出了一些村庄间已经存在的道路,要求编程输出:在任意两个村庄都是可达的情况下需要再修路的最短长度。输入:一个测试实例,第一行输入一个整数N代表村庄的个数,然后接下来的N行每行输入N个整数,代表编号从N到N的村庄间的距离。然后下一行输入一个整数Q代表有几条路是已经修好的,接下来的Q行每

2016-06-19 20:41:54 284

原创 专题四1004

题目大意:谋生的统计表中列出了任意两个村庄见的距离,为了实现全省两个村庄间都可以实现公路交通,现在要修路,要求编程输出在满足任意两个村庄都是可达的前提下,需要修建的最短的公路长度。输入:测试实例包括多个。每个实例的第一行输入一个正整数N,代表村庄的数目,然后接下来的m=N*(N-1)/2行每行包括3个整数,前两个整数代表两个村庄的编号,然后第3个整数代表两个村庄的距离。当输入的N为0时

2016-06-17 22:04:23 252

原创 专题四1005

题目大意:省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。输入:有多个测试实例,每个实例的第一行输入一个正整数N代表村庄的数目,然后接下来的N*(N-1)行每行包括4个整数,前两

2016-06-17 21:12:04 480

原创 专题四1003

题目大意:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入:第一行有两个正整数N和M,N代表城镇数,即节点数,M代表已经有的道路数,即已有边数,然后接下里的M行没行输入两个正整数,代表这每一条边的两个端点。测

2016-06-12 11:18:32 386

原创 专题三总结

这个专题讲的是动态规划的内容,到现在为止,已经做了3个专题了,我个人认为,动态规划这个专题还是挺好做的,没有刚开始老师说的的那么难。先来点理论知识吧。所谓动态规划,它是解决多阶段决策问题的一种方法。动态规划的指导思想就是在做每一步决策时,列出各种可能的局部解,依据某种判定条件,舍弃那些肯定不能得到最优解的局部解。以每一步都是最优的来保证全局是最优的。以我个人的观点来看,我觉得折合贪心算法差不多

2016-05-31 20:59:23 276

原创 专题三1002

题目大意:题目的意思很简单,从键盘输入两个字符串,然后编程输出两个字符串的最大公共自序列的长度。输入:有多个测试实例,每个测试实例包括两个字符串输出:输出一个整数代表两个字符串的最大公共自序列的长度解题思路:这道题就是很典型的以前上课听过的求最长公共自序列的问题。首先,自序列和子串是不一样的概念,自序列的话,不要求其中的每个字符一一对应相等,可以不用连续,不需要一一匹配;而子串

2016-05-31 20:58:50 298

原创 专题三1018

题目大意:这道题目的大概意思是这样的,有一个存钱罐,我们知道存钱罐我们只能存,不好取,但我们又想知道里面存了多少钱,因此我们可以根据里面钱币的重量来估计里面的钱数。给出你它里面钱币的重量和硬币的种类数以及每种硬币的价值和重量,要求编程输出存钱罐里面的最少钱数。程序输入第一行正整数T,代表测试实例个数,然后每个测试实例的第一行输入两个正整数firstW和totalW,代表存钱罐的空罐的重量和装满

2016-05-29 11:29:23 330

原创 专题三1005

题目大意:题目的大意是这样的,程序输入第一行是一个正整数N,代表不同的长方体的个数(注意:每种长方体的数量是不限的),然后下面有N行,每行有3个正整数,代表长方体的长、宽和高,定义规则:采用堆积木的方式将这些长方体摞在一块,要求上方的长方体的长和宽要严格小于下方的长方体的长和宽,然后要求编程输出用所给的这些长方体能堆起来的最高的高度。解题思路:兵来将挡水来土掩,我们先来看一下题目大意,

2016-05-23 22:06:54 381

原创 专题三1024

题目大意:第一行输入两个整数,第一个是物品的种类的数量N,第二个是你手里持有的钱数M,然后底下再输入N行,每行包括3个整数p(物品的标价),q(买这一件商品你手里需要的最少钱数),v(这件商品能带给你的价值)。编程输出在手里持有钱数的范围内,即在经济范围内买的东西的最大价值。解题思路:乍一看这道题觉得像是一道01背包,其实这道题勉强可以说是一道01背包的问题。但是01背包问题与物品的顺

2016-05-22 22:44:28 253

原创 专题三1016

题目大意:假定有一张无限大的二维平面图,然后选一个点作为起点,然后每次只能移动一个格,只能向左、向右和向前而不能向后走,程序输入一个正整数n表示要走的步数,编程输出走n步共有几种走法,注意:每种走法中每个格只能走一次。解题思路:刚开始其实并没有什么思路,然后自己画了一张二维的平面图来测试前几个实例,我算了算n=3的时候是17步,然后n=4的时候是41步,接下来我就开始寻找其中的规律。当

2016-05-20 22:27:56 247

原创 专题三Problem—1015

题目大意:输入一个十进制的整数,要求编程输出这个十进制数的二进制形式,测试实例有多组,每个输出占一行。解题思路:这就是一道十进制转化为二进制的题目。十进制n转化为二进制:n%2取余,最先得到的余数作为二进制的最低位,以此类推,知道n/2==0。因此,只要定义一个数组即可,从下标0开始依次存储最低位,然后不换行输出即可。感想:这道题目太简单了,只要知道十进制转化为二进制的方法就可

2016-05-17 21:20:00 271

原创 专题三 Problem1006

题目大意: 这是一道数塔的问题,这个塔的基本构造如上图所示。题目中首先输入正整数c,表示有c组测试实例,然后输入正整数n,表示这一组测试实例中有n层塔,而i层塔有i个数字,连接关系如上图所示,要求只能从一个节点走到有线相邻的节点,问从顶层走到底层能走过的最大数字和。解题思路:这题既然已经说了是一道DP算法题目,我们就要奔着找这道题的数学状态转移方程的方向去做,我们采取从下往上走的方

2016-05-16 11:18:27 282

原创 专题三 Problem1010

题目大意:这道题是一道中文的题目,题意理解起来要比英文的简单得多。这道题的意思就是每一次测试都是从第一级台阶开始走,然后每次只能走1个或2个台阶,输入要到达的目标级数,然后输出从第一级到目标级数有多少种走法。解题思路:刚开始我也不知道怎么走,然后我就先找了几个数试了一试,发现目标数为2,3,4,5的时候答案分别是1,2,3,5,这个时候我就觉得里面有点规律,然后我就发现如果在这串数字的

2016-05-09 19:18:41 294

原创 专题三 Problem1014

题目大意:n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分。输入一个正整数C,表示有C组测试实例,然后输入正整数n,表示有N条折线,输出N条折线可以分割平面的最多块数。如下图为2条折线的情况:解题思路:我们平常做的都是一些直线分割平面的情况,这种情况还是第一次做,但是我觉得应该跟平面一样,其中都隐藏着一些数学的规律,只要我们把

2016-05-08 10:53:47 269

原创 专题三 Problem1013

题目大意:有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。输入正整数n,输出在第n年的时候,共有多少头母牛?解题思路:这道题目乍一看挺简单的,但是我在做的时候因为粗心大意就犯了一个致命性的错误。我先计算了当n=1,2,3,4的时候的母牛值,因为此时只有一头母牛在生产,所以此时母牛书f=1,2,3,4。然而当我继续计算n=5的时候,第一次忘记了

2016-05-08 10:30:01 353

原创 专题二总结

专题二主要就是一些搜索算法,二分搜索,三分搜索,深度优先搜索和广度优先搜索。关于二分搜索,因为以前也接触过,所以觉得这玩意其实并不难,就是将搜索区间不断分成两半,然后不断取中间值与某一规则进行比较,以此来得出正确答案。它适用于单调函数,逼近求解某点的值。三分搜索,不恰当的说就是两个二分放一块。三分搜索适用于求凸性函数或凹性函数的极值。广度优先搜索,从某一状态开始,利用某一正确规则,

2016-04-23 19:43:05 270

原创 专题二 problem1015

题目大意:骑士只能在3X2的格子中以对角线的形式走,给定棋盘的大小为8x8,题目输入起点和终点,求骑士从起点走到终点所需的最少步数。解题思路:国际象棋中,骑士只能在3x2的格子中以对角线的形式走到下一个点。知道了这一点,然后我们可以画图得出骑士从一个点走到下一个点总共有8个方向,我用一个二维数组dir[8][2]来表示方向,然后用广度优先搜索,声明一个队列,对于一个点,将这个点放到队列

2016-04-23 19:31:59 589

原创 专题二 Problem1011

题目大意:题目的大概意思就是输入一幅地图的尺寸m X n,地图中的元素只有“*”和“@”。然后判断相邻,对角的油田有几个,“@”是油田。解题思路:这道题其实就是上课讲的例题。定义一个二维数组maze表示地图,然后定义一个表示方向的二维数组dir[8][2]表示延伸的方向。用深度搜索求的状态解就可以了,题目很简单。具体代码如下:#include #include    

2016-04-23 14:00:09 243

原创 专题二 Problem1014

题目大意:有这样一部电梯,它只有上升键和下降键,上升时会上到(i+k[i])层,下降时会下到(i-k[i])层(i:楼层数,k[i]:上升的楼层数),输入起点和终点,问:至少要按几次上升或下降键才能到达指定楼层。解题思路:此题采用广度搜索算法BFS。用一个二维数组flor[][2]来存储上升或下降可到的楼层数,flor[][0]表示上升可到的楼层,flor[][1]表示下降可到的楼层,

2016-04-23 13:56:53 294

原创 专题二 problem_1008

题目大意:A有一数m让B去猜,B猜一次A就给其提示“太大了”或“太小了”或“正确”。问B猜n次可以猜到的最大数。解题思路:这道题的题意如果仅仅靠自己看的话我觉得很难让人理解,我就怎么也看不懂,我就觉得B猜1000,10000也行,然后去百度上查了一下,猜知道题目问的是B在猜n次保证能猜到m的情况下m的最大值。在最坏的情况下,我们最多只要猜log2(m)+1次,因此我们能猜到的最大数

2016-04-22 16:55:15 282

原创 专题二:problem_1002

题目大意:题目意思简单明了,就是给了一个方程和未知数x的范围,求方程在这个范围内的最小值。解题思路:乍一看真的一点头绪都没有,没真正的用程序去解答过这种标准的数学问题。当时就先按照以前的数学的思路对此方程求一阶导数,然后就想到若要最小值,那么导函数里面肯定有一个x使其值为0,然后就想到了用二分法求这个极点,因为在给定范围内导函数先负后正,故只有这一个极点,因此此X必然是最小值。至于二分

2016-04-22 16:48:56 310

原创 Problem_1013

题意:一个公司每月要么盈余,要么亏损,且一年中每个月的盈余是一样的,亏损也是一样的。财务统计是每五个月统计一次收入总额,即1-5,2-6……8-12,一年共有8次统计结果,并且这八次结果公司都亏损的。给出surplus和deficit,求出全年最大的盈余数。输入:每一行包括两个整数   surplus和dificit输出:对于每一行输入,输出一个最大的盈余数解题思路:

2016-03-29 21:37:27 294

原创 Problem_1015

题意:大体意思就是有一家酸奶工厂,给出每一周的酸奶需求量和这一周制造每升酸奶的价格,然后每一周的价格都不同,每一周可以无限的生产酸奶,多出当周需求量的可以存在仓库中(仓库无限大并且仓库永远不会变质),给出每升酸奶存放一周的价格。问:如何生产使得完成这些周的生产量所需的成本最小解题思路:这道题是很明显的贪心。只要每一周的生产成本最小,则给出的所有周的成本自然最小。第一周的需求量肯定是要第

2016-03-29 21:25:48 260

原创 Problem-1016

题意:这道题的题意很简单。就是一个农夫想知道他的这群奶牛的产奶量的一个中间值(这群奶牛的数量为奇数),即一半的奶牛的产奶量比这头奶牛的产奶量大,另一半比这头小。输入:先输入奶牛数量,再输入这些奶牛的产奶量。输出:产奶量的中间值解题思路:这道题太简单。将这些奶牛的产奶量放到一个数组中,然后用sort函数对数组里的元素进行排序,之后输出数组编号为(n-1)/2的元素值就可以

2016-03-22 21:33:34 267

原创 Problem-1017

题意:这道题的大体意思就是有6种高相同,但长宽不同的小方盒,分别是1*1,2*2,3*3,4*4,5*5,6*6。然后要求把这些方盒放到和这些方盒高度一样的6*6的方盒中,给出这6中方盒的数量。请问需要的最少的方盒数。输入:按照从1到6的尺寸分别输入要装盒的方盒数,没有的写0,输入的最后一行写6个0,表示输入结束,不做处理;输出:最少的方盒数,每条测试占用一行;解题思路:根据题

2016-03-22 21:32:38 267

原创 acm_1004

题意:这道题和之前上课时的那个会场活动安排的差不多。大体意思就是已知有N个节目和这N个节目开始和结束的时间,安排出最合理的顺序,使可以看到最多的节目。输入:输入一个正整数N表示节目数,然后输入这N个节目的开始和结束的时间(全是正整数),若输入的节目数为0,表示输入停止,不做任何处理。输出:输出一个正整数,表示能看到的节目数解题思路:这道题用贪心很合适。要求能完整看的节目数,

2016-03-20 21:29:41 315

原创 acm_1006

题意:题目很简单,大致意思为有一架电梯,上一层楼需要6秒,而下一层楼需要4秒,到达指定的楼层后则需要停留5秒.每次开始的时候电梯都会停在第0层。输入:输入一个正整数N,表示电梯需要停留的次数,然后输入每次要停留的楼层输出:电梯按照指定顺序走完全程需要花费的时间。解题思路:这道题目我感觉比前面几道都简单,这道题好像跟贪心没有什么太大的联系,没有什么最优的方法之说,要按照顺序指定走

2016-03-20 21:28:57 484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除