自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Night__elf

专注 ACM 50年

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

原创 HDU 4406

金华网络赛1007题,拆边费用流。n天,m门课程,添加源汇s、t后很容易构图:s -> n个点连接流量为k,费用为0的边,n个点分别到m门课程根据01矩阵确定是否连边,每条边依然是流量为k,费用为0。最后就是m门课程到汇点t,如果课程基础分数base[i]        这种是我在比赛时的构图方法,但一直TLE,优化了很多地方始终都不能过!其实上面的构图方法是完全正确的,是 s ->

2012-12-27 10:05:47 545

原创 HDU 4276

2012年长春赛区网络赛的第十题,比赛时很幸运1Y了。。           这题无解的情况很容易判断。如果有解,可以如下理解:从1 走到 n是一条必经路径,在这条路径上的每个节点,都可以在非必经节点中绕一圈再回到那个节点,可以想象成在一条路径上每个节点都允许扩展一个圈。因此,首先找出这条路径,对所有必经节点做一次树形DP,dp[u][i]表示从节点u出发,经过i时间回到节点u能获得的最大

2012-12-27 10:04:18 416

原创 HDU 4265

比赛的时候队友说这道题很像Dancing Link,但方案数太多,不能处理好方案间冲突的问题,我简单想了下网络流,方案数容易解决,但具体的方案始终很难处理,于是就放弃了。赛后得知居然真的可以用网络流解决,于是开始纠结。                  言归正传,先确定方案总数,二分一个mid值(方案数),如下构图:s向n个人分别连接一条容量为mid的边,n个坐位(题目中是butt

2012-12-27 10:03:33 504

原创 HDU 4351 (水过的方法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4351         题意就不描述了,这道题目的标准做法应该是区间合并的线段树,因为比赛的时候想到了能水过的方法,赛后证明是可行的,特意记录说明一下。        题目说明 0         如果数据中有大量连续的0,易知枚举必定会TLE,因此需要构造一个 next

2012-12-27 10:02:41 524

翻译 一篇关于AC自动机论文的译文:《Biosequence Algorithms, Spring 2005 Lecture 4: Set Matching and Aho-Corasick Algorit

之前初学AC自动机的时候看过一篇相当不错的论文   点这里。当时看完就觉得对AC自动机有了相当好的认识。现在我再来回顾这篇文章的时候,觉得应该做点翻译,加深个人理解的同时可以帮助一些没心情看英文论文的朋友。可能有许多地方翻译不对,还望指点。====================我是华丽的分割线===================生物序列算法第四讲:集合匹配及Ah

2012-12-27 10:01:51 1610

原创 字符串匹配:KMP & AC 自动机个人学习总结

字符串匹配问题           给定两个字符串,其中一个文本串T[1..n], 另一个是模式串P[1...m]。确定T中是否存在与P串完全相等的(连续的)子串,若有,输出T中和P完全匹配的子串的起始位置。 模板题 HDU 1711点这里。       给定若干个字符串,其中一个是文本串T[1...n],其他的都是模式串Pi[1....mi]。确定T中有多少个子串和其中一

2012-12-27 09:55:10 1023

原创 有上下界的网络流专辑

相对于一般的网络流,有上下界的网络流的某些边多出了流量下界的限制,如边u->v,上下界为high、low,如果有流经过这条边,这个流必须在[low,high]这个区间内。这类题目主要要求解决下面三个问题,“有源汇、无源汇的可行流”、“有源汇的最大流”、“有源汇的最小流”,注意这里所说的源汇是原网络中的源汇,分别记为s、t。  这类题目的难点在于下界的限制很难处理,我们将所有有下界限制的边中分离

2012-12-27 09:50:25 880

原创 HDU 3496 Watch The Movie (二维背包)

题意是 DuoDuo 想看n部电影,但是被要求最长能看的总时间数为 L ,每部电影有他的时长和DuoDuo对他的评价值 两个属性。 但是 商店有个奇怪的要求 一次只卖恰好 m 个电影碟 (m 属于二维背包题目, 一个背包为 以时间为容量 另一个以数量为容量。 状态转移方程 : F ( i , v , u ) = max (  F(i-1,v,u)  , F(

2012-12-27 09:45:40 433

原创 POJ 1904 (确定完全二分匹配的所有可能边)

http://poj.org/problem?id=1904   题意:有n个王子,有n个美女,每个王子可能同时喜欢多个美女,数据已经给出一组完全匹配的方案。问在满足所有王子都能完全匹配的情况下,每个王子能选择的对象分别有谁,按升序输出。(其实如标题的描述更简洁。。)  一开始可能会想,对于每个王子,先拆边,再重新挑选对象,判断可行性。注意到题目数据量很大,最多2000个节

2012-12-26 15:36:56 421

原创 POJ 2112 (二分图多重匹配)

http://poj.org/problem?id=2112  题意:给出一些挤奶机、奶牛,以及他们之间距离、权值,每只奶牛都要走到任意一台机器中,每台机器最多为M只奶牛服务,问所有奶牛都完成任务,所走的路程最远的那只奶牛,所走的路程最短可以是多少。(这里注意给出的不一定是最短路径,0代表的是两点之间没有直接路径。)  首先求出任意点间的最短路,由于数据量不大,可以用Floyd。注

2012-12-26 15:36:04 575

原创 POJ 2060 (最小路径覆盖)

http://poj.org/problem?id=2060   题意:在二维的平面中,给出一些任务,每个任务要求在指定的时间,必须有一辆taxi从起点出发,并最终到达终点,由于可能产生时间冲突(具体参详题目),所以可能需要多辆taxi,问需要最少的taxi数量是多少。  构图:可以将每个任务看成一个点,如果两个任务的时间没有冲突,则从时间较早的任务点向时间较晚的任务点连接

2012-12-26 15:34:38 471

原创 HDU 1133 (数论 or DP、高精度;Java版)

这是一道经典的好题,本来是冲着高精度去练习Java的,却发现并非那么简单,其中涉及到了数论的知识,看了多个博客的解释才粗略了解,其实还是没能理解公式的推导,这里拜托@Band能帮忙做个简单的证明~~我看在这题涉及了比较多Java的BigInteger类的应用,还是写出来。  题意:有m个人持有50元,有n个人持有100元,他们排队买价格为50元的Ticket,问有多少种排列方式使得售票处可

2012-12-26 15:33:43 518

原创 HDU 3415 (单调队列优化DP)

http://acm.hdu.edu.cn/showproblem.php?pid=3415   题意:给出n个数a1,a2……,an,围成一个圈,问从中选出连续的m个数(1   因为要围圈,很容易想到处理时用将数据加倍存储,就可以达到围圈的效果。求连续的数之和,很明显可以预处理部分和来优化。然后从1->2n依次枚举,dp[i] = max(sum[i] – sum[j])

2012-12-26 15:32:04 370

原创 ZOJ 1406 Jungle Roads (最小生成树)

一道很直观的最小生成树题目,我用Prim来做的最小生成树有两种算法  Prim 算法 和 Kruskal 算法其中个人感觉Prim比较简洁些,也很好理解,而 Kruskal算法还要引入并查集 Prim :采用贪心策略,先从顶点开始选取 与顶点相连的最短的边 连接一个新的未访问过的顶点然后 更新已经访问顶点到其他顶点的最短距离 (松弛) 继续找

2012-12-26 15:30:55 344

原创 ZOJ 2580 Sudoku (DFS)

题意的话没什么好说的,一般都玩过数独游戏.大概都了解规则.就是一个数独题目,以数字0表示空格,要求任意一个正确解.看到题目想到就是暴力搜索,但是忽略了规模,过于暴力的搜索把所有可能性都搜索了,而且每次还进行一次判断解是否正确性的判断,自然超时了.结果我就对我自己170行的代码傻了.虽然知道可以剪枝但是却没有什么可以比较简洁的方法在原来的基础上改进.写出来估计要200

2012-12-26 15:29:55 502

原创 POJ 2503 Babelfish (Hash)

题意很好懂.就是给一个字典. 一个英文单词对应一个其他语言的单词.然后给询问其他语言,要你给出对应的英文单词.由于字典量高达100000.询问量也达到了100000. 所以用普通的遍历必定会超时.网上给出的几种解决方案有    1.先排序再二分查找.    2.字典树    3.哈希表我用的是哈希表,采用ELFHash函数,用拉连法解决冲突.

2012-12-26 15:28:56 471

原创 CF # 92 (Div. 2 Only)

伟健昨晚说今早要早起,估计现在已经到了吧,天府之国,ACM的征程。昨晚CF 92 (Div. 2)。开始前还以为难度会和之前一样……酱油。谁知道并非如此。最后又是遗憾了。A题小水。题意:一条队伍n个人,某个人能确定他前面有不少于a个人,后面不多于b个人。求可能站位的数目。思路:如果把人标号成1到n 那么可能的站位只可以是[a+1,n]和[n-b,n]的交集。不知

2012-12-26 15:27:55 382

原创 HDU 3362 (状态压缩DP)

http://acm.hdu.edu.cn/showproblem.php?pid=3362 题意:题目给出n(n  由于n很小,而且固定点的顺序没有限制,所以需要用状态压缩DP。这里要注意两点: ·当一个没固定的点和两个固定了的点连接后,该点就被间接固定了(三角形的稳定性质)·无论是直接固定还是间接固定的点,都可以供以后的点用于固定。

2012-12-26 15:26:52 973

原创 POJ 1337

http://poj.org/problem?id=1337  题意:有一个懒惰的工人,有n个job,第i个job在时间ai到来,di截止,消耗ti时间,如果一个job开始了,就一定要做完。从时间0开始,只要此时有job,该工人必须选择其中一个来完成,如果没有,则等待下一个的到来。求该工人需要工作的最少时间。   题目很明显是可以用DP做的,一开始我也是用DP思想,但是关键

2012-12-26 15:25:20 589

原创 UVa 12317 (状态压缩DP)

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=278&page=show_problem&problem=3739  题意:给定一些基础的数值集合,每个集合最多含有16个数值,数值范围是[1,16],再给出一些目标集合,问能否从基础的集合中选择部分组合成目标集合,如果能,求需要最少

2012-12-26 15:24:09 358

原创 ZOJ 1788 Quad Trees (朴素BFS)

任意门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=788 给一个二进制黑白图像,进行压缩.且图像是以2^i 作为边长的正方形每次对整个图像进行扫描1.如果全部数据位1 则得到 012.如果全部数据位0 则得到 003.如果不是上述情况,得到1 并且要对这一部分分解成四个小部分

2012-12-26 15:22:24 852

原创 Uva 557 – Burger (log(x)应用 , 组合数学)

传送门: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=498题意:Ben Bill生日,邀请朋友去m记。有2n个人(包括Ben Bill)。n个汉堡包和n个乳酪汉堡。从Bill左边的女孩开始分汉堡,一直往左,最后转一圈回

2012-12-26 15:20:05 399

原创 Uva 11029 – Leading and Trailing(快速幂取模,log(x)的应用)

传送门: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1970题意:给出n和k(int范围内)。求 n 的 k 次方这个数的前三位和后三位数字。 思路:对于后三位只需要快速幂取模,log 2 n 的复杂度

2012-12-26 15:18:41 484

原创 Timus 1009 K-based Numbers (DP)

传送门:http://acm.timus.ru/problem.aspx?space=1&num=1009题意:求有N位数字的K进制数且不包含有连续0的数有多少个,必须是有效的 比如0001235 不是一个有效的7位数字,而是4位数字 例如 1001 是无效的 (连续0)         1010 才是有效的状态转移方程 F(N,K)=  (

2012-12-26 15:16:48 481

原创 ZOJ 3547 《The Boss on Mars》(容斥定理)

传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3547题意:老板有n个工人,分别被标记上1~n的编号。发工资的时候员工k号能得到 k^4这么多工资。老板想裁掉一些人:编号k和n互质的所有人。求出裁员之后老板能节省下多少钱?简单来说就是给出n,求所有小于n且和n互质的数i 的四次方和n = 4

2012-12-26 15:15:32 419

原创 POJ 1946(三维DP)

http://poj.org/problem?id=1946  题意:有N头奶牛,要跑D圈,每头奶牛的初始能量为E,每头牛每分钟可以跑任意圈,除领跑的奶牛外,每跑x圈,消耗能量为x,领跑的奶牛消耗的能量为x*x,能量消耗尽的奶牛随时退场,问至少有一头奶牛能去到终点所用的最短时间。  思路:dp[i][j][k]表示前i-1头奶牛都已耗尽能量或者中途离场,现在第i头奶牛已经跑了j圈且

2012-12-26 15:12:26 588

原创 Codeforces Round #90 C题(三维递推DP)

http://www.codeforces.com/contest/119/problem/C  题意:一个学年有N天,每天必须从M个科目中挑选出一个。每个科目有3个属性,ai、bi、ci,表示第i个科目的作业量在[ai, bi]中,该科目的难度系数为ci。安排科目时,必须一天比一天的难度系数大除第一天外,每一天的科目还要安排作业量,除第一天外,每一天的作业量必须符合now = past+

2012-12-26 15:10:57 458

原创 HDU 1074 (状态压缩DP)

http://acm.hdu.edu.cn/showproblem.php?pid=1074题意:给出n(n   由数据规模可以知道可以用状态压缩DP来解决。一般的DP题目都可以用搜索和递推两种方法解决,这道题来说,递推思路会比较直观,而递推的时间效率高很多!  用搜索来解决,主要要注意两个地方,一是状态的转移,二是剪枝。由状态0开始进行DFS,每次添加一个当前还没有安排的

2012-12-26 15:09:05 460

空空如也

空空如也

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

TA关注的人

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