自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2011年大连赛区E题 Number String DP

题目大意:对于每一个1~n的排列都可以生成一个长度为n-1的字符串,这个字符串包含三种字符,分别是'I'、'D'、'?'。'I'表示下一位的数比当前位的数要大,'D'表示下一位的数比当前位的数要小,'?'表示'I'或者'D'都可以。比如排列3,1,2,7,4,6,5对应的字符串是"DIIDID"。给出一个字符串,求满足该字符串的排列数有多少。算法实现:对于某个字符的某一个解,比如对于字

2013-09-07 00:09:36 794

原创 RMQ问题 ST算法

RMQ问题RMQ问题是指求区间最值的问题。RMQ算法——ST算法时间复杂度:预处理O(nlogn)、查询O(1)。算法实现(来自百度百科):以求最大值为例,设d[i,j]表示[i,i+2^j-1]这个区间内的最大值,那么在询问到[a,b]区间的最大值时答案就是max(d[a,k], d[b-2^k+1,k]),其中k是满足2^kd的求法可以用动态规划,d[i

2013-09-06 11:15:11 580

原创 2011年福州赛区C题 Bob’s Race 树形DP RMQ

题目大意:给你一棵树,N个点(编号1~N),N-1条边,边上有权值。首先要知道每个顶点的所能到达的最远距离,然后有M个询问,每个询问给定一个Q,求出最多的编号连续的顶点,要求它们的最远距离的最大差值小于等于Q。数据范围:N算法实现:对于第一个问题,求出每个顶点所能到达的最远距离,是一个非常经典的问题。由于N最多有5W,我们不能对每个点都进行一次dfs。正确的解法是两次dfs,利用树形D

2013-09-06 10:48:34 800

原创 2011年福州赛区B题 Alice's mooncake shop 优先队列

题目大意:Alice经营了一家月饼店,有一系列的订单,对于每个订单,Alice可以立即去做月饼,或者用之前做好的月饼交货。Alice做月饼是不需要时间的,订单只会在每个小时的整点到达。每个小时做月饼的成本都不同,但是Alice可以预先做好月饼把它们放在冰箱里,每个月饼每小时的冷藏费用是S,最多能保存T个小时,求完成所有订单的最小成本。算法实现:这道题目最重要的是求出每个小时做月饼的最小

2013-09-05 12:29:25 832

原创 2011年福州赛区A题 Xiangqi 模拟题

#include #include #include #define cl(xx,yy) memset((xx),(yy),sizeof((xx)))using namespace std;char mat[15][15];bool solve(int x,int y){ bool flag=0; for(int i=x+1;i<=10;i++)

2013-09-05 11:11:11 834

原创 POJ1127 Jack Straws

题目链接:http://poj.org/problem?id=1127解题思路:       这道题目问的是:给你一些线段,求出哪些线段是相连的,哪些是不相连的。相连包括间接相连,即这两条线段本身不直接相连,而是通过其它线段的连接而间接相连。解决这道题目的关键要解决两个问题:1.判断两条线段是否直接相连,即它们相交与否,这是一个几何问题;2.如果某两条线段不相交,那么它们是否通过其它线

2013-07-12 19:55:47 1403

原创 POJ2478 Farey Sequence

题目链接:http://poj.org/problem?id=2478解题思路:       通过观察,可以发现序列F(n)有以下特征:F(n-1)所具有的项,F(n)一定也具有。例如F(3)有1/3、1/2、2/3,F(4)也有这3项。所以我们关注的是F(n)与F(n-1)相比较所增加的项。最终我们可以了解到:F(n)与F(n-1)相比较,所增加的项的分母都是n,而分子与n互质。例如

2013-07-11 00:09:16 606

原创 Sicily 1029 Rabbit

题目:http://soj.me/1029题目大意:开始时有1对成年兔子,每一对成年的兔子每个月可以生一对小兔子,给出m和d(m算法实现:由于m和d都很小,可以直接模拟。num[0]表示成年兔子的数目,num[i]表示还有i个月成年的兔子的数目,更新d次num数组即可。最后的总数可能会很大,所以要用高精度的方法。具体代码:#include#include#include#in

2013-04-25 18:55:26 602

原创 Sicily 1034 Forest

题目:http://soj.me/1034题目大意:给出一个森林,首先判断这个森林是否合法,然后求出这个森林的最大深度和最大宽度。不合法的意思是:有环或者存在多个结点指向同一个结点的情况。最大深度的定义是:所有树的深度的最大值,根结点的深度为0。最大宽度的定义是:同一层的结点总数为该层的宽度,所有层的最大宽度为森林的最大宽度。算法实现:       用拓扑排序的方法判断

2013-04-25 17:57:14 733

原创 Sicily 1031 Campus

题目链接:http://soj.me/1031题目大意:可以把题目看成是求无向网的最短路径问题,顶点用字符串表示。算法实现:       首先输入的边数最多有100条,最坏情况下最多有200个顶点,这一个很小的数,我们可以用最简单的方法做:Floyd算法,时间复杂度是O(n^3)。虽然Floyd算法是用来求有向图的,但是我们可以把无向图看成有向图,只是每条边都是双向的而已。

2013-04-25 11:55:32 644

原创 Scicily 1308 Dependencies among Job(2003年广东省赛题)

题目链接:http://soj.me/1308题目描述:给出N项工作,以及工作之间的依赖关系,求出第M项工作的最早完成时间。其中第i项工作依赖于第j项工作表示,完成第j项工作之后才能完成第i项工作。算法实现:初看这道题目,很容易和求关键路径问题中的最早完成时间混淆,但实际上题目中说到:每个单位时间只能完成一项工作,而求关键路径问题中某些工作是可以同时完成的,因此这道题目与求关键路径

2013-04-18 19:49:35 624

原创 Sicily 1303 Job Assignment(2003年广东省赛题)

题目链接:http://soj.me/1303题目描述:给出一个完全二分图,并且有|V1|=|V2|,求出最佳匹配。算法实现:直接运用二分图最佳匹配算法:Kuhn-Munkras算法。该算法的时间复杂度为O(m*m*n),m、n分别是二分图两个子集的顶点数(m代码实现:#include#include#define MAXN 100#define INF 1e+9#

2013-04-17 13:12:21 861

UVa 10422 Knights in FEN

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1363[/url][code="cpp"]#include#include#include#includeusing namespace std;struct ...

2012-09-07 08:40:00 139

UVa 639 Don't Get Rooked

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=580[/url]最多16个格,2^16=65536可以枚举完,而且很多都是可以剪枝的,用dfs枚举就可以。要注意的是如果在dfs之前用vis数组标记放下了“车”,那么要在dfs之后清除...

2012-08-30 23:01:44 112

UVa 216 Getting in Line

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=152[/url]最多只有8个点,枚举所有的排列即可,可以用一个二维数组记录所有的排列以便最后输出。这道题目是一道水题,但是它的题目描述有点复杂,所以需要一点耐心去读懂题意。有两点可以从...

2012-08-29 20:48:02 135

UVa 10474 Where is the Marble?

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=108&page=show_problem&problem=1415[/url]快排+二分,就是不知道跟回溯法有什么关系。[code="C"]#include#include#define MAXN 1000...

2012-08-28 13:45:35 127

UVa 592 Island of Logic

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=533[/url]人数最多只有5个人,加上时间,所以可以用6个循环枚举所有的情况。输入的时候可以根据某个特定的字符去判断这个陈述的内容,比如带有'd'的是'divine'。判断该陈述...

2012-08-27 11:05:12 151

UVa 11205 The broken pedometer

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2146[/url]题目大意是求最少的工作正常的LED(一条横杠或竖杠代表一个正常的LED)能够表示出题目给定的所有数字。LED最大数目是15,每一条LED要么亮(正常)要么不亮(不正常),...

2012-08-25 17:28:38 206

UVa 131 The Psychic Poker Player

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=67[/url]对于每一个输入样例(10张牌),我们要构造出它所有的32种牌型组合,这是一个比较困难的地方,方法是用递归枚举。每次我们可以从手牌中分别选取0~5张牌...

2012-08-24 22:28:01 141

UVa 729 The Hamming Distance Problem

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=670[/url]枚举十进制数0~2^N-1,对于每一个数都跟0异或,并把异或的结果转换成二进制,计算二进制数中1的个数,如果等于H,那么把该二进制数输出,注意不要忽略了前导零。[cod...

2012-08-24 12:18:38 151

Uva 10098 Generating Fast

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=1039[/url]具体思路请参考刘汝佳的《算法竞赛入门经典》7.2.2生成可重集的排列[code="C"]#include#include#inc...

2012-08-23 15:28:22 110

UVa 146 ID Codes

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=82[/url]题目的要求是找出字典序中的下一个排列。从后往前查找,如果一直都是非递减的,那么就是“No Successor”。一旦发现不符合条件的字符(if(...

2012-08-20 18:46:52 120

UVa 10167 Birthday Cake

题目:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=1108[/url]直接从-500到500枚举A和B,非常简单。 [code="cpp"]#include#include#include#de...

2012-08-16 20:57:23 139

原创 UVa 10129 Play on Words

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=105&amp;page=show_problem&amp;problem=1070题目大意是给你一串单词,判断能否连接成一条长串,两个单词能够连接的条件是后一个单词的首字母与前一个单词的尾字母相同(单词至少有2个...

2012-08-15 22:49:32 107

UVa 10596 Morning Walk

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;category=105&amp;problem=1537&amp;mosmsg=Submission+received+with+ID+10476587无向图的欧拉回路。先判断连通性,从...

2012-08-14 22:05:51 107

Uva 10305 Ordering Tasks

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=105&amp;page=show_problem&amp;problem=1246拓扑排序,直接dfs,具体看刘汝佳的《算法竞赛入门经典》。而且这道题目的题意是一定存在拓扑排序,所以更加简单。#include...

2012-08-13 23:40:54 85

Uva 10004 Bicoloring

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=105&amp;page=show_problem&amp;problem=945主要用dfs#include&lt;iostream&gt;#include&lt;cstdio&gt;#include...

2012-08-13 23:34:00 111

Uva 532 Dungeon Master

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=105&amp;page=show_problem&amp;problem=473这道题也是一道很基础的bfs,仅仅是图从二维变成三维在入队列之前进行判断比出队列之后再进行判断会节约运行的时间,因为减少了入队、...

2012-08-13 23:29:56 96

Uva 439 Knight Moves

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=105&amp;page=show_problem&amp;problem=380题目大意是在一个网格中(行编号从1~8,列编号从a~h),给你两个点,要你找出象棋中的马从一个点跳到另一个点的最少步数。是一道十分基础的...

2012-08-11 22:24:27 119

UVa 784 Maze Exploration

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;problem=725这道题也是一道非常裸的dfs#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;string&...

2012-08-11 14:09:50 150

Uva 572 Oil Deposits

题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;problem=513比较简单的一道题目,主要用dfs搜索。可能比较难想的是在每次搜完之后怎么去寻找下一个起点,方法是做好标记,从头到尾每个点都搜一遍就可以了。#include&lt;io...

2012-08-11 11:43:09 96

Uva 112 Tree Summing 二叉树

题目链接:[url]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=48[/url]主要思路:这道题目的难点在于如何把题目所给的输入数据转换成一棵树。首先定义一个字符型的变量c,再定义一个整型的变量num。因为开始一定是'(',所以先输入c(cin>>c...

2012-08-09 00:35:14 86

UVa 401 Palindromes 字符串基础

题目链接:http://acm.hust.edu.cn:8080/judge/problem/viewProblem.action?id=19520题目大意:给你一个字符串,一要你判断是否是回文串;二要把这个字符串的每一个字符按照给定的规则翻转,而然后判断翻转后的字符串是否是原串的逆序。 思路不难,但是有些地方要注意。首先要注意的一个问题是,大写字母O和数字0是一样的。这一点我觉得题...

2012-08-06 00:00:23 128

空空如也

空空如也

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

TA关注的人

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