- 博客(54)
- 收藏
- 关注
原创 POJ 2448(K短路,A*+SPFA) Remmarguts' Date
题意给一个n个点m条边的图,然后给一个起点和一个终点,求起点到终点的第K短路.思路求第K短路。一个经典的问题。SPFA+A* 核心思想在A*搜索的估计函数的建立上。 F(x) = g(x) + h(x) 估价函数 = s到x的距离 + x到t的距离 估价函数的含义就是经过x这个点的路径的距离。 我们在搜索的时候每次选择估价函数较小的值,进行拓展。这样我们搜索到t点的状态出来顺序就是,最短路
2015-08-03 18:05:33
715
原创 hdu 5305(爆搜+二染色) Friends
题意:有n个人m对朋友,朋友有两种一种online的,一种face to face的。现在要让你对这些朋友性质进行安排,让每一个人的线上朋友和线下朋友人数是相同的,求满足的方案数。思路直接暴力染色。 然后减减枝。 一个就是对于每个人的度一定是偶数。 另外一个就是染色中,对于一个节点染色的不能超过一半才能继续dfs。参考code:/* #pragma warning (disable: 478
2015-07-30 22:13:28
671
原创 hdu 5299(树上删边游戏) Circles Game
题意:给你一些圆圈的圆心坐标和半径,保证这些圆圈是包含或者相离的。现在两个人做博弈操作,拿掉一个那么这个所包含的都要移除掉。两个人一直拿下去,直到某个人找不到一个可以移除的圈他就输了。思路学习的姿势。这是一个树上删边游戏模型; 首先按照半径升序排序,然后对于每一个圆找第一个包含它的圆,然后连一条边。建树完成。 叶子节点的SG值为0; 中间节点的 SG 值为它的所有子节点的 SG 值加 1 后的
2015-07-29 18:22:58
1136
原创 hdu 5289(二分+RMQ) Assignment
题意:给一个序列,然后求出连续的序列中最大和最小值之差小于k的。思路二分+ST 二分下标,然后找一个最大的区间满足区间内最大最小值相差小于k,当前这个位置对于答案的贡献就是这个区间长度。 求一个静态数组的区间最大最小值,用ST算法就好了。参考code:/* #pragma warning (disable: 4786) #pragma comment (linker, "/STACK:0x8
2015-07-28 22:42:31
673
原创 hdu 5288 (预处理+暴力) OO’s Sequence
题意:见题面。思路预处理出每个a[i]左边和右边第一个能整除它的位置L[i]和R[i],然后计算这个值对于答案的贡献的个数。 贡献就是左右区间长度相乘参考code:/* #pragma warning (disable: 4786) #pragma comment (linker, "/STACK:0x800000") */#include <cassert>#include <ccty
2015-07-28 22:09:36
641
原创 hdu 3466(排序+背包)Proud Merchants
题意:给n个物品,每个物品有三个属性,价格、你至少拥有钱数才能购买该物品的值和购买后能获得的价值。然后你有m块钱,问最多能获得多少价值。思路看起来就是一个01背包加了一个购买钱数的限制。 就用01肯定不行。 用极限来看裸的01背包的限制就是它的的价格,相当于限制值为0,现在给了一个新限制,那么我对这个限制值进行一个从小到大的排序,然后01背包做过去就行了。这样前面就不会影响后面的状态了。 很好
2015-07-16 01:17:26
760
原创 hdu 3449(依赖背包) Consumer
题意:给n个箱子,每个箱子有个费用pi,每个箱子里面有m个物品,每个物品有两个属性,一个费用wi和一个价值vi。买物品的时候要把所属的箱子一起买了,问给一个金额W最多能获得多少价值?思路依赖背包。《背包九讲》的第七讲讲了这个。 设dp[i][j]为前i个箱子使用金额j获得的最大价值。 考虑每个箱子内部就是一个01背包,那么在枚举每一个箱子的时候,使用上一轮能满足本轮箱子费用的状态做一个01背包,
2015-07-16 00:44:08
938
原创 hdu 3448(搜索+剪枝)Bag Problem
题意:给n(n<=40)个物品和背包的容量w以及背包能装的物品个数k,每个物品有一个重量,问在满足背包的限制的情况下最多可以装多少物品。思路做过类似的题目,第一反应就是爆搜每个物品的两个状态放和不放。2^40肯定不行,来剪枝吧。 先把物品从小到大排序。一个有效的剪枝就是,最大的k个物品的重量和小于w那么这个重量和就是答案了,也是搜索中比较极限的情况,避免了去做搜索。 这样可以水过了,几乎没跑时间
2015-07-15 23:47:38
658
原创 hdu 3433(dp+二分) A Task Process
题意:有n个人,每个人完成一件A任务需要a[i]时间,完成一件B任务需要b[i]时间,问要完成x件A任务y件B任务所需的最短时间是多少?思路二分+DP。 二分时间t,dp[i][j]表示在时间t内前i个人完成j件A任务所能完成的B任务的最大数量。如果dp[i][x]>=y 就是可以的。然后不断迭代得到ans。复杂度:0(n*x^2*log(t)) t范围是40w参考code:/* #pragm
2015-07-15 21:11:54
820
原创 Codeforces Round #262 (Div. 2) C
Codeforces Round #262 (Div. 2) C. Present
2014-08-21 10:10:21
1171
原创 Codeforces Round #262 (Div. 2) B
Codeforces Round #262 (Div. 2) B. Little Dima and Equation
2014-08-21 09:09:31
968
原创 Codeforces Round #262 (Div. 2) A
题目:A. Vasya and Sockstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVasya has n pairs of s
2014-08-21 09:08:52
704
原创 Codeforces Round #261 (Div. 2) B. Pashmak and Flowers (水题)
题目:B. Pashmak and Flowerstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputPashmak decided to give Parm
2014-08-16 03:35:47
793
原创 Codeforces Round #261 (Div. 2) A. Pashmak and Garden (水题)
题目:A. Pashmak and Gardentime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputPashmak has fallen in love with
2014-08-16 03:27:16
760
原创 HDOJ 1176 免费馅饼 (dp)
题目:免费馅饼Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25521 Accepted Submission(s): 8685Problem Description都说天上不会掉馅饼,但
2014-08-12 23:24:29
628
原创 HDOJ 1177 "Accepted today?" (简单模拟)
题目:"Accepted today?"Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2319 Accepted Submission(s): 1029Problem Description
2014-08-12 23:18:07
767
原创 HDOJ 2087 剪花布条 (字符串)
题目:剪花布条Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8531 Accepted Submission(s): 5583Problem Description一块花布条,里面有些图案
2014-08-12 23:12:53
610
原创 HDOJ 1421 搬寝室 (DP)
题目:搬寝室Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17318 Accepted Submission(s): 5859Problem Description搬寝室是很累的,xhd深
2014-08-12 23:09:02
818
原创 Codeforces Round #111 (Div. 2) B Unlucky Ticket (贪心)
题目:B. Unlucky Tickettime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputEach of you probably has your pe
2014-08-10 23:33:24
717
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人