自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绝望的乐园

在哪个世界都是一样的.....人们都是笑着,哭着,然后死去.....

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 Codeforces Round #202 (Div. 2) (A、B、C、D)

这场比赛发挥的不太好吧,当时只做了两题,第三题当时已经想到正解了,但不知发什么神经去想别的解法了。。。果然晚上的状态不好啊。 A. Cinema Line     非常水……一队人排队买票,每个人只有25、50和100的面值的钱,问买票的人最开始手里没有钱,能否给每个买票的人找钱。直接模拟即可~ 代码: #include#include#include#inclu

2013-09-29 16:38:44 1373

原创 hdu 4582 DFS spanning tree

题意:给出一棵dfs生成树,让你选一些树上的边,使得所有T-Simple Circles至少包含一条你选的边。思路:由于给出的是dfs生成树,所以这里是没有横叉边的,直觉告诉我们选择的边应该在树上尽量“高”,对于生出树上的边(u,v),可以考虑这条边是否必须被选择,如果必须被选,那么就选择它,并把v的子树上的点都标记掉,这些点的反向边都包含(u,v)了。           一条边是否必须

2013-09-27 09:40:50 888

原创 hdu 3534 Tree

题意:给出一棵树,求最长路的个数。思路:最开始的时候想用树形dp,但是没什么好想法,然后突然想到可以用点分治去做,写完点分治以后又想了想树形dp,发现树形dp更好写,下面说一下树形dp的思路吧,点分治可以参考漆子超的论文《分治算法在树的路径问题中的应用》。假设

2013-09-26 18:11:16 821

原创 hdu 4756 & hdu 4126 & hdu 4081

hdu 4756是南京网赛的题,这题和2011年福州现场赛的一道题,也就是hdu4126很像,比赛前十几天明明做过的说,结果比赛的时候没看到这题,唉。今天一不小心又翻到了一个和这两题也很像的题——hdu 4081,还是2011北京现场赛的题,晕了,既然这样就直接都放在一起算了。         这三个题思路都差不多,问题都是先要求一个最小生成树,然后删掉一条边,询问剩下的最小生成树的情况(

2013-09-24 18:23:49 1208

原创 hdu 4753 Fishhead’s Little Game

这题思路很快就想出来了,但是怎么去写却想了一上午,好囧……其实还算比较简单的状压dp+博弈吧,但是状态有些不好弄,因为最开始已经下了一些了,怎么去枚举剩下的状态,还有如何判断这个状态是否能得分呢?我的思路是把每条边按顺序编号,然后记录每条边是横边还是竖边,根据它们的关系,判断在一个状态下添加一条边是否可以得分其实还是比较简单的,只要算出与其相邻的边判断是否存在就行了。然后是状态,我的想法是把已经添

2013-09-23 19:04:36 600

原创 hdu 4738 Caocao's Bridges

题意:给出一个无向图,让你去掉一条边,令这个图不连通,并且令花费最小,去掉一条边的花费必须大于等于这条边的权值。思路:比较简单的一个求桥的问题吧。但是有两个trick,第一个是如果这个图不连通,那么花费为0,另一个是,如果有一个桥是0,那么结果是1,因为至少要排一个人带炸弹。代码:#include#include#include#include#include#i

2013-09-16 18:40:59 673

原创 hdu 4747 Mex

题意:给出n个数,mex(L,R)定义为区间[L,R]中没有出现的最小负数,求sum{mex(i,j)}。思路:虽然数列的数的范围很大,最大有10^9,但是仔细想一下就会发现超过n的数其实是没有用的,因为一定有一个数是小于n的,因此直接把大于n的数变成n+1就行了。关于mex的计算方法,假如对于i已经算出了所有的mex(i,j){i代码:#include#include

2013-09-16 18:16:39 1486

原创 hdu 4725 The Shortest Path in Nya Graph

题意:给出一个图,求从1到n的最短路,另外,每个结点属于一个层,层数相差为1的两个结点可以相互传送,距离固定为c。思路:基本算法就是最短路,不管是dijkstra或者spfa都行吧, 我用的是djkstra……主要问题就是构图,当时做热身赛的时候死活没想出来,我果然还是嫩了么。。。后来洗衣服的时候突然想到一个自以为不错的构图思路,赶紧跑回去写……当时想到的思路是这样的:在相隔为1的两个层之间设

2013-09-11 22:57:07 1026 3

原创 hdu 3660 Alice and Bob's Trip

题意:alice和bob轮流在一棵树上(有向)选道路走,alice会尽量让总路程短,bob会尽量让总路程长,但是他们俩都要保证总路程要在[L,R]的区间内,bob先走,问bob能走的最远距离。思路:一道明显的树形dp吧……dfs的时候,标记一下当前是谁在走,如果是alice,那么就要选可走的子树中能让路程最小的,如果是bob,那么就要选可走的子树中能让路程最大的,如果没有可走的子树,并且当前节

2013-09-10 09:01:34 1148

原创 LA 3530 Martian Mining

题意:给出一个n×m的网格,每个格子都有两种矿,A矿只能由右向左运,B矿只能由下向上运,管子不能拐弯或折断,要求收集到的A、B矿的总量最大。思路:每个网格中的矿要么向左运,要么向右运,用dp[i][j][k]代表在位置(i,j)中能获得的数量最多的矿,k==0表示位置(i,j)的矿向左运所能获得的矿的最大的数量,k==1表示向右运所能获得的矿的最大的数量。然后dp下就行了……状态转移方程说起来

2013-09-06 19:44:36 956

原创 hdu 4008 Parent and son

题意:给出一棵树,有q次询问,每次询问给出x,y,问若以x为root,那么y的儿子和后代的最小编号。思路:树形dp。选任意一点为root,先一遍dfs算出某一节点的儿子和后代中最小的编号,第二遍dfs计算出该结点非后代中最小编号。对于任意一对x,y,有以下三种情况(这里仅以后代最小编号为例讨论,儿子的情况与其相同):              ①x==y,这种情况只要返回后代最小编号和非后

2013-09-06 11:53:55 1319

原创 UVA 11795 Mega Man's Mission

题意:最开始有一些武器,要消灭掉n个机器人,干掉一个机器人以后可以获得它的武器,每一个武器能消灭的机器人也不同,问有多少方案干掉所有的机器人。思路:很明显的状压dp……用一个二进制数表示已经干掉的机器人,equip[state]代表在该状态下获取的武器能干掉的机器人。那么状态如何转移呢?对于一个状态state来说,假如这个状态干掉了k个机器人,那么它就可以从干掉k-1个机器人的状态转移过来(注

2013-09-03 19:33:27 865

原创 UVA 11552 Fewest Flops

题意:给出一个字符串s和一个整数k,s的长度是k的整数倍,把字符串从左到右每k个字符划分成一段,每一段的字符可以随意交换,最后再把这些段按原来的顺序拼接起来,要求排序后的字符串包含的块最少,块代表连续相同的字母。思路:用dp[i][j]代表第i段以字母j结尾的最少的块的个数。确定j以后枚举第i段开头的字母k,如果和第i-1段的结尾字母不同,则dp[i][j]=min(dp[i-1][k]+cn

2013-09-01 14:06:37 903

原创 LA 4256 Salesmen

题意:给出n个点的无向图,再给出一个序列,尽量修改少的数,令序列中任意相邻的两个数相同或者是图中的两个相邻结点。思路:用dp[i][j]表示将第i个数字改成j,前i个序列所需要的最少修改次数。那么很容易得到状态转移方程:dp[i][j]=min(dp[i][j],dp[i-1][k]+(j==num[i]?:0:1))。其中dp[i-1][k]代表将第i-1个数修改成k所需要的最少修改次数,要

2013-09-01 07:50:07 1444

C#打字小游戏

C#写的,练练手。。。写的比较简单,但是忘了写注释……

2012-04-15

空空如也

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

TA关注的人

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