自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CodeForces 34D Road Map

给出每个点的父节点,存下来。再从r2开始,dfs到r1,把这条路径上的所有结点的父节点改变方向就可以了。#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#pragma comment(l

2014-08-25 21:24:10 1250

原创 CodeForces 34C Page Numbers

#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#pragma comment(linker, "/STACK:16777216")#define eps 1e-6#define ll long l

2014-08-25 21:22:40 721

原创 hdu3472 HS BDC --- 混合图欧拉回路

讲的很好的资料:点击打开链接点击打开链接#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#pragma comment(linker, "/STACK:16777216")#d

2014-08-21 09:31:18 876

原创 hdu4961 Boring Sum

#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#pragma comment(linker, "/STACK:16777216")#define eps 1e-6#define ll long l

2014-08-20 19:44:27 696

原创 hdu4966 GGS-DDU --- 最小树形图

在比赛接近末尾的阶段听了题意,感觉信息量有点大,可能是贪心、dp之类的就懒得想了。。哎。。要是往图论上想一点点说不定就。。题意:有n门课程,每门课程有0~a[i]个等级,开始都在0级。有m个培训班,每个培训班的条件是第c门课等级>=l1,这样可以使第d门课的等级升到l2,并花费一定money。问要使得所有课程都达到最高等级至少需要多少money。根据条件建一

2014-08-20 14:12:32 985

原创 hdu3849 By Recognizing These Guys, We Find Social Networks Useful

无向图求桥边数量,按照题目输入顺序输出桥边。注意存的brig和边的对应关系。#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#pragma comment(linker, "/STACK

2014-08-18 16:00:06 1109

原创 hdu4956 Poor Hanamichi

一个直接暴力求解的方法,一种直接判断x%11的方法。通过打表可以发现两者求解不同的情况在不是很大的范围内一定会出现,所以直接从l开始暴力枚举,找到第一个出错的值输出就是了。若超过r还美找到就-1.#include #include #include #include #include #include #include #include #include

2014-08-18 14:02:46 827

原创 hdu4185 Oil Skimming

要用1×2的板子尽量多的覆盖##区域,且不能交叉,求至多可以覆盖多少板子。每一个#向向下或向右相邻的#建边。求最大匹配就可以了。其实这题数据是比较弱的把,应该是#的个数在600以内把。。#include #include #include #include #include #include #include #include #include #

2014-08-18 13:58:17 717

原创 hdu4948 Kingdom

题意:有n个城市,任意两点之间有且仅有一条有向边。要求输出一种建造城市的顺序,使得之前已经建造的城市可以到达当前建造的城市,且至多经过两条边。首先我们可以证明,这种方案是肯定存在的,因为在一个满足题意的图中,入度最大的点一定是其他点在两步之内可达的。那么这个点就最后输出。上面的结论是为什么呢。。题解告诉我们用反证法证明,若u结点是当前图中入度最大的结点,假设v点存在该路

2014-08-15 16:07:41 838

原创 CodeForces 29D Ant on the Tree

给一颗树,1为根,要求遍历树上所有点,给出叶子结点的访问顺序,限制每条边至多访问两次。首先这是一棵树,那么两点之间的路线是确定的,所以我第一遍dfs预处理出从根节点到每个叶子的路径保存,以便后面输出。那么就按照题目要求输出叶子结点的顺序依次输出,然后从一个叶子到下一个叶子的时候,从他们的最近公共祖先转折,所以我还预处理了相邻两个叶子结点的LCA。#include

2014-08-15 14:23:40 926

原创 hdu2819 Swap

#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#pragma comment(linker, "/STACK:16777216")#define eps 1e-6#define ll long l

2014-08-11 17:00:28 602

原创 hdu2586 LCA

给一颗无向树有n个结点,有m个询问,问树上任意两点间距离,n的范围是40000,m是200这题告诉我们一个求树上两点间距离的好方法,就是先求根到其余所有点的距离,再求出询问的LCA,答案为dis[a]+dis[b]-2*dis[lca(a,b)]#include #include #include #include #include #include #include

2014-08-11 16:59:52 673

原创 hdu4921 Map

给最多10条链,每条链长度最大1000,链上每点有权值,每条链上按顺序,第i个点属于level[i],链上后一个点可以选的前提是前面的点都选了。选择了一些点可以得到的分数是两部分加起来:1、全部点权和 2、leveli的点共有yi个,若你选择了xi个,则得分:你选择的该层点权和*xi/yi问所有可能的取值组合的分数期望。题意太纠结了,读的好心塞,感觉思考能力都下降了。

2014-08-09 21:47:45 977

原创 hdu4923 Room and Moor

给一个长度为n的A数列,每个数是0或1,要求构造一个递增数列B,长度为n,每个数为[0,1]的实数,使得∑(Ai-Bi)2最小。可以发现,最前面连续的0和最后面连续的1都没有意义,中间可以看成1和0个数不同的101010串,对于其中每一个10串,这段B序列取得最佳值是  1的个数/总个数,每次添加取一段,如果这一段的最佳值小于上一段的取值,那么就把两段合起来更新一个新的最佳

2014-08-09 21:22:33 744

原创 hdu4912 Paths on the tree --- LCA贪心

给一棵n个结点的树,m条路径的起点和终点,问至多可以选择多少条路径使其两两间没有公共点。这题的主要问题是,1、如何判断两条路径上没有交点2、按什么策略来选看上去感觉是最大匹配问题,但nm的范围较大问题1无法高效的解决。画个图发现可能和LCA有关,但比赛时不知道这到底有什么用,完全没想贪心。要选择尽量多,就是要尽量避免冲突。我们选择一个点作为根,把给的边画出来

2014-08-06 21:00:07 845

原创 CodeForces 22C System Administrator

把v和2结点交换,1和v连,其他点和v之间可以互相连。#include #include #include #include #include #include #include using namespace std;int n,m,v,flag,i,cnt,j;int main(){ while(~scanf("%d%d%d",&n,&m,&

2014-08-05 11:53:15 991

原创 hdu2833 WuKong

给定两个起点终点,求两条最短路径上的最多交集点数。求了最短路之后,枚举两条路上每条必然属于最短路径上的路径,(d[u]+w==d[v],则该条路径必然在最短路径上)dp[a][b]表示以a b为终点的最多交集点数。#include #include #include #include #include #include #include #includ

2014-08-05 11:52:30 801

原创 URAL 1934 Black Spot --- 简单最短路变形

边权为1,在维护最短路的同时维护p值最小,我直接存的(1-q),即不遇见的概率,要使得这个值最大。#include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define eps 1e-6#de

2014-08-04 21:02:14 1195

原创 URAL 1933 Guns for Battle!

给一个n,要求构造一个矩阵,满足:1、矩阵大小为(2n+1)*(2n+1)2、沿对角线对称3、每个数的值在[0,2n+1]上4、每行每列没有重复的值手动写了一下 直接找到规律。。#include#includeusing namespace std;int n,m,i,j,cnt,s[205][205],k;int main(){ wh

2014-08-04 21:00:13 774

原创 hdu3861 The King’s Problem --- 强连通+二分图

给一个n个点的有向图,要把n个点分成尽量少的部分,使每个部分里的任意两点间两两可达,而且强连通分量必须在一个部分里。缩点后建新图,二分图最小路径覆盖。#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#def

2014-08-03 17:00:51 569

原创 hdu3440 House Man

有n个房子,严格按从矮到高依次跳,跳的两个房子之间的距离要差分约束。求最长路,按y-x需要注意的是,按高度排序后建边,需要考虑1和n的顺序问题。#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#

2014-08-03 16:57:44 816

原创 hdu3191 How Many Paths Are There

求次短路#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define eps 1e-6#define ll long longconst int N=55;const int M=2550;usi

2014-08-03 16:44:26 588

原创 zoj2314 Reactor Cooling --- 上下界可行流

题目给出了每条边的上下界,此类题目的建边方法是:1、添加源点汇点,2、对每条边 添加边 c(u,v) = up(u,v) - low(u,v)3、对每个点 c(s,v) = out(v)                        c(v,t) = in(v)   (权值为正)求s到t的最大流,若最大流等于所有边下界的和,则存在可行流,每条边的流量为 flow

2014-08-03 11:34:07 1004

原创 hdu4906 Our happy ending --- 状压dp

给一个n个数的数列,从中取一些数构成新数列,如果新数列中有一些数的和是k,那么这就是一个好数列,问这样的数列的个数。从1~n位枚举其取值从1~min(l,k),来更新可达状态。dp[i]中i的二进制每一位表示和(1~k),1表示可以取到,0表示取不到。#include #include #include #include #include #i

2014-08-03 11:20:38 958

原创 poj3469 Dual Core CPU --- 最小割

一个CPU有两个核,要把n个模块放在其中一个核上,给出放在不同核上的花费。另给出m对模块,若不放在同一模块则会产生额外花费。求最小花费。对于每一个模块可以选择核1,核2,和相连的模块。据此建边,核1为源点,核2为汇点,相连的模块之间建双向边,边权均为花费。求最小割即可。#include #include #include #include #includ

2014-08-01 08:18:45 720

空空如也

空空如也

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

TA关注的人

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