自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(60)
  • 收藏
  • 关注

原创 挂科

神啊,这学期竟然挂科了!虽然有人说过,不挂科的大学是不完整的,虽然这次挂的是选修课,但是总感觉不太爽。看到“不及格”三个字总是感觉太刺眼。         也不清楚到底是从什么时候开始,成绩越来越烂,六、七十的越来越多,八十分的已经稀有,到这学期直接挂科。大学的生活已经使我变得麻木,变得迟钝,对于逐渐下降的成绩,甚至没有使我麻木的神经有一点变化。直到这次的挂科,突然意识到自己的差距有多大,自己

2012-08-31 17:08:57 1717 1

原创 POJ 1017 Packets 贪心 + 模拟

来源:http://poj.org/problem?id=1017题意:有一些箱子,面积分别是1 * 1,2 * 2 ,3 * 3, 4 * 4, 5 * 5, 6 * 6,  高度相等。现在有6 * 6的大箱子,其高度和箱子一样,问最少需要多少个大箱子。思路:一道水题,但是写了好久。易知,6*6的需要一个满箱子,5*5的需要一个满箱子,还可以放一些1 * 1的,4 * 4的放过后,首先用

2012-08-31 17:04:27 1055

原创 CF 135 DIV2 B Special Offer! Super Price 999 Bourles!

来源:http://codeforces.com/contest/219/problem/B题意:就是一个物品有一个价格,这个价格可以最多降低d,求在所下降价格不超过d的情况下,能够使价格有最多的9且价格最高.拿样例来说,1029 102原价为1029,最多可下降102元,在符合条件的范围内,能够取得最多的9且价格最高的是999.若没有 符合条件的情况,则输出原价。思路:首先求

2012-08-28 11:19:23 1775

原创 CF 135 div2 A题 k-String

来源:http://codeforces.com/contest/219/problem/A题意:判断一个串能否重新构成一个含有k个相同的子串的串。思路:奉献CF水题一枚,直接暴力即可。代码:‘#include #include #include #include using namespace std;#define CLR(arr,val) memset(arr,v

2012-08-28 10:46:20 1854

原创 POJ 3544 Journey with Pigs 贪心 + 不等式排序

来源:http://poj.org/problem?id=3544题意:一个农民有一些猪,这些猪的重量不同,要运到一些镇上去卖掉。每个镇卖一头猪,起点到每个镇的距离给出,以及运送单位重量走单位距离的价值给出,每头猪对应于每个镇能够卖的价值也给出。问最大能够得到多大的价值。思路:我刚开始想这题是想到了KM上了,但因为边太多,可以有100万条,所以一定会超时。然后看dis才知道是用这个不等式排

2012-08-27 14:15:22 1115

原创 POJ 2376 Cleaning Shifts 贪心

来源:http://poj.org/problem?id=2376题意:有一些奶牛,每只奶牛负责一个时间段。问覆盖完全部的时间段最少需要多少只奶牛。若不能全部覆盖,输出-1.思路:类似于区间覆盖的问题,明知道用贪心求解,但是还是wa了好几次。首先这道题有一个需要注意的就是每次不需要从上一只的结束点开始,可以从上一只结束的下一个点开始。比如说第一只的时间段是1 3,则第二只可是是4 7。首先

2012-08-26 17:13:24 5132 7

原创 POJ 3177 Redundant Paths 无向图割边 + 缩点

来源:http://poj.org/problem?id=3177题意:给一个图,求最少需要添加几条边才能使任意两个点之间有至少两条路径。路径是不包括重边的,比如1 2 和2 1是一条路。思路:其实就是一个求割边然后缩点,缩点之后求度为1的点即可。我写的这道题其实是有bug了,只不过这道题数据水了才过了,正常情况下是过不了的。统计度为1的时候不知道怎么能够消除重边的影响。附有bug的代码:

2012-08-26 08:49:07 1036 1

原创 POJ 1065 Wooden Sticks 贪心

来源:http://poj.org/problem?id=1065题意:有一些木材和一台机器。机器每次加工一根木材需要的时间是1,但是当加工木材的长度和宽度都小于等于前一根木材的时候,不需要时间。求最少需要多少时间加工完所有的木材。思路:挺水的一道贪心题目。从小到达排序,然后依次扫描即可。写了个o(n*n)的,竟然16ms,数据水了。代码:#include #include #

2012-08-25 17:58:42 1045

原创 POJ 1144 Network 无向图求割点

来源:http://poj.org/problem?id=1144题意:就是给你一些点,某些点之间有边。求有多少个点是割点。思路:模板题目了,直接用无向图求个点模板就可以ac。需要注意的是输入,输入有点麻烦。以换行结尾可以写成while(getchar() != '\n'),其他没什么难度了。无向图求割点的问题可以参考http://blog.csdn.net/wmn_wmn/article

2012-08-25 10:59:22 4297 4

原创 POJ 1089 Intervals 区间覆盖+ 贪心

来源:http://poj.org/problem?id=1089题意:就是给你一些区间,若两个区间能够合并,则合并。求最后又多少个区间,输出最后的区间。思路:其实就是一个贪心的题目,不过要想做到1A还是有点困难的。有许多情况需要考虑清楚,我也是wa了几次才过的。我们可以先按开始端点从小到大排序,若开始端点相等,则按结尾端点从小到大排序。排序之后能合并则合并。合并的时候有两种情况,一种是起

2012-08-25 09:21:58 1203

原创 POJ 3352 Road Construction 无向图割边 + 缩点

来源:http://poj.org/problem?id=3352题意:在一个岛上有一些旅游景点,旅游景点之间有路。当施工的时候,若一条路在施工,则这条路是不能走得。问至少还需要增加多少条路,能够保证在施工的时候,任意两个旅游景点之间仍然是可通的。思路:其实就是一个无向图割边 + 缩点的问题。这样考虑,在一个无向图中,如果一条边是割边,则如果这条边在施工,就会产生不可到达的点。因此可以缩点

2012-08-23 13:04:50 1088 1

原创 POJ Computer Transformation 递推 + 高精度

来源:http://poj.org/problem?id=2680题意:就是有0和1组成的串,对应两种操作。如果是0,则变为 1 0,如果是1,则变为  0 1.原串是1,问的是经过n步变化后,串中有多少个两个连续的0.思路:模拟前几步可发现,当出现01时,就会出现两个连续的0,也就是说下一个串中有多少个两个连续的0,其实就是上一个串中有多少个01,而一个1可以变成 0 1,也就是说该串中

2012-08-22 14:39:49 642

原创 POJ 1008 Maya Calendar 模拟题

来源:http://poj.org/problem?id=1008题意:首先给你一种旧的玛雅日历法,然后再给你一种新的历法。让求原来旧的玛雅历法的某年某月某日等于新的历法的第几年,第几天。思路:简单模拟题目,仔细读题,按照题目的意思,一点一点写就可以了。注意一点是新的天数不能为0,若求出的新天数为0,则实际上应该是13.代码:#include #include #inclu

2012-08-22 11:30:20 736

原创 POJ 1523 SPF 无向图求割点和块

来源:http://poj.org/problem?id=1523题意:给一个无向图,求该无向图中的割点和该割点属于块的数量。一个割点是可以属于多个块的。思路:深搜,dfs解决。给出一些无向图中关于割点割边的知识,是从网上找的。一、基本概念无向图割点:删掉它之后(删掉所有跟它相连的边),图必然会分裂成两个或两个以上的子图。块:没有割点的连通子图割

2012-08-21 20:59:16 2099

原创 POJ 2553 The Bottom of a Graph 强联通分量

来源:http://poj.org/problem?id=2553题意:题目新给了一个定义,在一个图中,若从点v能够到达点w,且从w能够到达点v,则称v为sink。让输出一个图中sink的序号,按升序输出。思路:首先根据定义,易知,因为是有向图,所以一个孤立的强联通分量里面的点都是sink,这点很容易理解,因为强联通分量里面的点都是互达的。而且该强联通分量是孤立的,也就是说,该强联通分量缩

2012-08-21 11:01:46 1190

原创 POJ 1236 Network of Schools 强联通分量 + 缩点

来源:http://poj.org/problem?id=1236题意:有一些学校,这些学校之间有一些边,边是单向边。现在有一套软件,如果一个学校有了这套软件,则该学校能到达的学校也就可以拥有这套软件。问至少需要几套软件,使得所有的学校都拥有软件,再问:至少需要添加几条边能够使得任意两个学校之间可达。思路:其实就是一道强联通分量+缩点的模板题目。可以先算出强联通分量的数目,之后进行缩点。缩

2012-08-20 20:43:48 1225

原创 武大集训一月总结

武大集训一月总结来武汉大学集训已经一个月了,不知不觉就到了快要回去的时候了。过完这个周末,在武大就正好四周了。下星期做完两场多校,就要回南工了。前两周都写总结了,第三周没有写。这次就多写点吧。这两周的组队赛下来,看到了武大的实力,更多的是看到了自己的不足。以前在网上做比赛的时候,也看到了别人能做很多题目,而自己基本上场场爆零。那时候也是知道自己有很大的差距,还有很长的路要走。可是,现在的这

2012-08-20 10:10:56 1126 2

原创 POJ 1679 The Unique MST 次小生成树

来源:http://poj.org/problem?id=1679题意:判断最小生成树是否唯一。思路:求出最小生成树后再求次小生成树,如果次小生成树的长度和最小生成树的长度相等,则最小生成树不唯一,否则最小生成树唯一。介绍一下我求次小生成树的方法。次小生成树可以用kruskal和prime两种方法求。kruskal算法求的过程就是多次求最小生成树。我们第一次求最小生成树的时候把边的

2012-08-19 19:25:26 1056 2

原创 POJ 3026 Borg Maze bfs + 最小生成树

来源:http://poj.org/problem?id=3026题意:说有一个迷宫,里面有一些外星人,外星人用字母A表示,#表示墙,不能走,空格可以走。从起点‘S’出发。在起点和A处可以分叉,问找到所有的外星人的最短路径是多少。思路:此题其实不是太难了,可以先用bfs搜索图,然后建边,求出一点到另一点的距离,然后求最小生成树即可。最小生成树用prime和kruskal均可。关键是这道题输

2012-08-19 14:47:20 1488

原创 POJ 1861 Network 最小生成树

来源:http://poj.org/problem?id=1861题意:有一些公司,公司之间需要连接起来。给出了哪些公司可以连接以及连接边的长度。求最小生成树中最大的边,以及最小生成树的边数,以及输出一颗可行的最小生成树。思路:基本上就是裸的kruskal了。可以水之。代码:#include #include #include #include using namespa

2012-08-18 20:49:14 1424

原创 POJ 3625 Building Roads 最小生成树

来源:http://poj.org/problem?id=3625题意:平面上有一些点,这些点的坐标已知。求连接起这些点最少的长度是多少。其中有一些点已经连接了起来。思路:其实还是最小生成树了。只不过这道题由于边太多,所以用kruskal超时,可以用prime轻松解决。下面简述一下prime算法的思想:prime算法是基于贪心的一种算法。首先我们可以选择一个点,并标记该点已经被访问

2012-08-18 20:15:23 2058 2

原创 POJ 2421 Constructing Roads 最小生成树

来源:http://poj.org/problem?id=2421题意:还是给你n个点,然后求最小生成树。特殊之处在于有一些点之间已经连上了边。思路:对于已经有边的点,特殊标记一下,加边的时候把这些边的权值赋值为0即可。这样就可以既保证这些边一定存在,又保证了所求的结果正确。代码:#include #include #include #include #include u

2012-08-18 10:04:40 3426

原创 POJ 1251 Jungle Roads 最小生成树

来源:http://poj.org/problem?id=1251题意:就是给出你图,然后求最小生成树的值即可。注意输入。思路:完全裸的最小生成树,kruskal水之。好久不写最小生成树,仔细想了想,还是写了出来。代码:#include #include #include #include #include using namespace std;#define CL

2012-08-17 20:21:40 804

原创 POJ 1579 Function Run Fun 记忆化搜索

来源:http://poj.org/problem?id=1579题意:题目就是给了你一个递归方程,然后让计算值。思路:由于递归太慢,而且计算了很多重复的值,所以可以用记忆化搜索,标记计算过的值即可。如果已经计算过了,直接返回就可以了。代码:#include #include #include using namespace std;int ans[22][22][22]

2012-08-17 19:47:29 891

原创 POJ 1847 Tram 优先队列+bfs

来源:http://poj.org/problem?id=1847题意:在一个地方,有一些调度站,这些调度站和其他一些调度站之间有路。但是一个调度站只和另一个调度站直接相连,另外和一些调度站间接相连。如果从该调度站到达其直接相连的调度站需要0步,到达其间接相连的调度站需要1步。现在给出了起点和终点,问从起点到终点最少需要多少步。思路:很明显用bfs可以解决了,但因为涉及到步数增加不一致的问

2012-08-16 20:02:55 843

原创 POJ 1543 Perfect Cubes 纯暴力

来源:http://poj.org/problem?id=1543题意:求满足a^3 = b^3 + c^3 + d^3,注意都大于2.而且一个数可以用多次。思路:完全暴力。代码:#include #include #include using namespace std;int main(){ int n; while(scanf("%d",&n) != EOF){

2012-08-16 19:02:13 848

原创 POJ 1731 Orders STL 中string的应用

来源:http://poj.org/problem?id=1731题意:给一个字符串,按照该字符串的升序输出全排列。思路:直接用next_permutation水过。代码:#include #include #include #include #include using namespace std;int main(){ char ss[210]; while(

2012-08-16 11:07:57 860

原创 POJ 1753 Flip Game dfs + 枚举

来源:http://poj.org/problem?id=1753题意:给一个4*4的棋盘,上面有黑色或者白色的棋子。每次可以改变一个方格的棋子,若改变某棋子,则该棋子上下左右和其本身的颜色都要改变。问最少经过多少步的改变,可以变化成颜色都一样。思路:仔细考虑,可以发现,一个位置的棋子,要么保持原状不变,要么改变一次。因为改变偶数次和不改变的效果是一样的,改变奇数次和改变1次的效果是一样的

2012-08-16 10:19:39 1069

原创 POJ 1915 Knight Moves bfs

来源:http://poj.org/problem?id=1915题意:就是给你一个边长为n的国际象棋棋盘,然后给了你王后的走法,并且给出起点和终点,求从起点到终点需要多少步。思路:简单的bfs。代码:#include #include #include #include using namespace std;#define CLR(arr,val) memset(a

2012-08-16 10:10:30 624

原创 POJ 1363 Rails 模拟栈

来源:http://poj.org/problem?id=1363题意:有一列火车,车厢编号为1到n,只能由一段进站,另一端出站。现在进站顺序确定,给出一个出站的顺序,判断出站顺序是否可能。思路:其实就是一个模拟栈的过程,先进后出。但是由于会出现这样的情况,比如说:1 2 3进栈,然后3出栈,然后4 5进栈,所以该出栈的顺序是3 5 4 2 1,所以在模拟的过程中需要注意一下。还有就是

2012-08-15 16:56:01 1905

原创 POJ 1011 Sticks dfs + 剪枝

来源:http://poj.org/problem?id=1011题意:有一些小木棍,最多有64根,这些小木棍的长度已知且都不超过50。已知这些小木棍是由原来一些等长的木棍折断而来的,求原来木棍最小的可能长度是多少。思路:这道题转化为一个数学问题的话就是:有n个数,和为sum,这些数可以合成k个数,其中ans = sum / k就是我们要求的,且要求ans最小。可以用dfs解决这个问题

2012-08-15 14:53:26 673

原创 POJ 2362 Square dfs

来源:http://poj.org/problem?id=2362题意:给你一些木棍,判断能不能用这些木棍围城一个正方形。注意是所有的木棍都要用到,且每个木棍只能用一次。思路:数据范围不大,n是小于20的,所以明显可以用dfs。主要有三个剪枝的地方,1:所有木棍的长度和必须为4的倍数,否则的话,肯定围不成正方形;2:设正方形的变长为side,则所有木棍中的最大长度maxlen必须小于等于s

2012-08-15 10:13:43 1241 1

原创 POJ 2184 Cow Exhibition 背包问题

来源:http://poj.org/problem?id=2184题意:有一些奶牛,他们有一定的s值和f值,这些值有正有负,最后让保证s的和为非负且f的和为非负的情况下,s+f的最大值。思路:背包问题,我们可以设dp[i][s]为前i头牛的s值为s时f的最大值,这就转化成了背包问题,即把s当成是体积,f当成是价值,而且可以成功的把二维转化成一维。又因为有负数的情况,所以我们可以都加上一个值

2012-08-14 11:34:26 2981 1

原创 POJ 2312 Battle City 优先多列+bfs

来源:http://poj.org/problem?id=2312题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1

2012-08-14 10:19:35 1578

原创 POJ 1564 Sum It Up dfs

来源:http://poj.org/problem?id=1564题意:给你一个数sum,然后再给你一个数n,再给你n个数,从n个数中找出一些数,让这些数的和是n。所给的n个数是递减的,让输出的结果也是按照递减的形式输出。思路:由于n最大为12,所以很明显可以暴力搜出所有的情况,然后判断和是否为sum,如果为sum,则输出即可。需要注意两点的是:首先有一个去重的过程,我的处理是把合适的全部

2012-08-13 10:28:03 840

原创 Bits and Pieces 模拟

来源:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=11215#problem/A题意:有两个数a和b,现在已知这两个数按位与的结果是c,按位或的结果是d,给你c和d的值,让求a和b的值,使得b-a的值最小。思路:因为c的按位与的结果,所以c的为1位,a和b的该位都为1,d是按位或的结果,所以d的为0位,a和b的该位都是

2012-08-11 18:41:44 695

原创 POJ 1129 Channel Allocation 着色问题 dfs

来源:http://poj.org/problem?id=1129题意:给一些电台,相邻的电台之间不能共用一个频道。求最少能用多少个频道让所有的电台都能使用。思路:其实是个着色问题了。介绍一下着色问题,给一个平面图,相邻的之间不能用同一种颜色,最少需要多少种颜色涂完平面图。着色问题的最原始版本是四色问题。平面图上相邻的图就相当于本题中的相邻的电台,用多少种颜色即为多少个频道。至于解法,

2012-08-09 20:03:57 985

原创 HDU 4350 Card 模拟题

来源:http://acm.hdu.edu.cn/showproblem.php?pid=4350题意:有52张扑克,每次从中间抽取一部分放到前面,问经过n次抽取后,扑克的顺序是什么。思路:模拟题,我们可以先求出来循环节,之后n对循环节取余,之后再暴力就可以了,签名题。话说,今天被uestc虐的好惨。。代码:#include #include #include #includ

2012-08-09 18:09:27 885 2

原创 POJ 1118 Lining Up 水题一道

来源:http://poj.org/problem?id=1118题意:给你n个点(n 思路:饭后一水了,由于数据范围小,直接暴力,(n^3)复杂度,水过。代码:#include #include #include using namespace std;#define CLR(arr,val) memset(arr,val,sizeof(arr))struct poi

2012-08-08 19:25:31 969

原创 判定被7整除的简易方法 转自Matrix67

判断一个数的整除性对于某些除数来说是一件非常容易的事,比如2、3、4、5、6、8、9、10、11、12、15……    但是对于7来说一直是一个难题,而判定是否被7整除在数字运算中又比较常用。我刚看到一种判定能否被7整除的方法,在这里写一下。    比如,我们要看86415能否被7整除。首先我们把它从个位开始往左边走两个数字一组划分开来,这样,86415就划分成8 64 15;然后,从左开

2012-08-08 11:39:30 1434

空空如也

空空如也

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

TA关注的人

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