自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

渐近自由

只要有朝那个方向的分运动,你就离它越来越近

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

原创 hdu 1242 优先队列的bfs

题意:给一张图,图上a为一个人,x为守卫,杀死守卫要1的单位时间,r为救a的人,注意r可能有很多个。现在问很多个r来救a,最快多长时间能救出a。解析:反过来考虑,由a去找r,找到最近的出来就行了。为了找到最短的,用优先队列来控制每次最小的点,因为x有的时候会干扰到step的计数,导致不是最短。代码:#include #include #include

2015-04-28 20:42:43 350

原创 hdu 1253 3D bfs

题意:3D迷宫bfs。解析:和之前的那个3D迷宫差不多。代码:#include #include #include #include #include #include #include #include #include #include #define LL long long#define lson lo, mi, rt << 1

2015-04-28 09:50:32 309

原创 hdu 1026 bfs(数组模拟,路径输出)

题意:给一张图,求从左上角到右下角的最短路径。图上的数字代表一个怪物,杀掉怪物用的时间。解析:路径输出改了一晚,开始用指针去指,然后就全指乱了。然后改成了数组模拟。代码:#include #include #include #include #include #include #include #include #include #in

2015-04-27 22:01:07 420

原创 hdu 1175 连连看(bfs)

题意:不从外面走的连连看。解析:抽象为图上一个点到另一个点,只能拐2次弯。然后用bfs来每询问一次爆一个就行了。入队条件是下一个点的拐弯次数小于当前的,或者下一个点没有被访问过。代码:#include #include #include #include #include #include #include #include #inc

2015-04-27 15:44:48 419

原创 hdu1728 (直撞bfs)

题意:一个没有方向感的萌妹纸走迷宫,规定只能转k次方向,给迷宫,问这个妹纸是否能走出迷宫。解析:这题有几个坑点,首先是m,n,然后是sx,sy,ex,ey。做法是横冲直撞,直接一条道走到黑,标记,入队就好了。代码:#include #include #include #include #include #include #include #in

2015-04-26 20:01:55 702

原创 hdu 1072(倒计时bfs)

题意:你手上有一个炸弹,6分钟后会爆炸,现在给你一张图,你走到出口时炸弹没有爆炸你就安全了。图上有很多重设时间点,走到重设时间点可以把时间重新设置为6分钟,你可以走上下左右四个方向,每走一步消耗一分钟。现在要输出最短逃出时间,若逃不出输出-1。图上0:代表墙, 1:代表可以走的路, 2:代表你的位置, 3:代表出口的位置,4:代表炸弹重设时间点。解析:用bfs来

2015-04-26 13:59:36 397

原创 The 12th Zhejiang Provincial Collegiate Contest(2015浙江省省赛)

第一次类似组队那样练题,做到后期感觉自己还是后劲不足,难题还是做不来。下午做出了6道题目,ALGHJB,可能水题比较多,合胃口,但是加深难度之后,还是力不从心,想拿铜还是要苦练。等题加入题库了再加链接。A题:大水题,sb的是我开场wa了一发 。,。因为数据实在小,所以搞了一个大暴力,然后深表遗憾。。。代码:#include #include #i

2015-04-25 20:25:06 1076

原创 poj 3468 线段树(成段增减 区间求和)

题意:区间增加一个数。(-)求区间的和。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#define lson lo, mi, rt

2015-04-22 21:48:57 425

原创 hdu 1698 屠夫(线段树成段替换)

题意:屠夫有钱了,要把他的钩子换成银的或者金的。解析:线段树成段替换。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#de

2015-04-22 21:03:35 744

原创 poj 2828 插队运用(线段树,单点更新)

题意:给n,以下n行给出一个位置p,一个权值v。代表了这个人v插队在位置p。最后输出队伍。解析:归类在线段树里面,怎么也想不通用线段树来解啊。这题网上主流的解法是将整个输入倒回来往空队列里面插。因为倒回来,最后进去的人v肯定在的位置是p,所以直接插进去。线段树中维护一个空位置的数组,代表着一段间还有多少个空位置。插入的时候,检查,若左子树的空位置大于当前

2015-04-22 20:07:42 342

原创 hdu 2795 线段树,区间更新求补值

题意:给一个w*h的板子,代表长为w,高为h的长方形。现在有n条1*x的小广告要往上面贴,贴的时候总是要选择高的地方并且靠左边的地方贴。每给一个广告,问他贴在第几个w,若贴不上去,则输出-1。解析:把整个板子正转90°。若h为5, w为3。则:3  |    |    |       1          2            3

2015-04-21 22:02:57 383

原创 [bin神带我飞系列]专题一 搜索入门

搜索入门练练练!http://acm.hust.edu.cn/vjudge/contest/view.action?cid=65959#overview感谢bin神带我第一次飞飞飞。A:题意:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子

2015-04-19 22:10:27 843

原创 The 15th Zhejiang University Programming Contest

当时只a出了A,B,H三道题,离铜还有很长的路要走。另外,每次都单挑比赛真的有点不耐烦。A,H是两道大水题,没啥好说的:A:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5463#include #include #include #include #include #inclu

2015-04-16 18:50:34 661

原创 uva 10652 凸包 + 更新版计算几何模板

题意:给一些木板的中心点,给木板的长和宽还有倾斜角度,求把这些木板包起来的凸包面积。求他们的面积比。解析:计算集合。代码:#include #include #include #include #include #include #include #include #include #include #include #include

2015-04-13 15:24:37 395

原创 uva 11796 俩狗问题(2维计算集合终极模板)

题意:甲乙俩狗沿一条这线跑,速度未知,同时出发,同时到达,且匀速奔跑。求甲乙在夕阳下奔跑的过程中最远距离和最近距离之差。解析:刘汝佳 Nbbbbbbbb.先看最简单的情况,甲和乙都沿着一条线段跑。由运动的相对性可以令甲静止,则乙向一个合成的方向跑,如图:所以现在我只要求a点到点Pb与Pb + Vb - Va这条直线的最大最小距离就行啦。换到好多点,只要判

2015-04-06 21:39:35 403

原创 uva 10651 状态压缩DP

题意:给一串珠子-0-0-0-----00-----这样表示。然后可以这样跳:解析:因为题目数量级较小,可以用dp的状态压缩通过位运算来做。一般涉及到的位运算是 ^ 和 &。因为^的性质是 同0不同1,比较方便。代码:#include #include #include #include #include #include #incl

2015-04-06 14:02:54 356

原创 uva 10635 nlogn LIS

题意:题目这么长还画了一个图来唬人!LIS解析:nlogn的LIS,二分实现。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long

2015-04-06 12:51:30 357

原创 uva 10617 回文串个数

题意:给一个字符串s,可以添加删除,问共有多少种方法把s变成回文串。解析:状态转移方程:for (int i = len - 2; i >= 0; i--)//这样才能保证i + 1已被计算过。 { for (int j = i + 1; j < len; j++)//这样才能保证 j - 1已被计算过。 {

2015-04-06 11:11:51 619

原创 uva 10604 化学药品链式dp

题意:给一堆化学药品,可以相互反应,反应会产生热量,或消耗热量。给每种化学药品的个数,求最终能达到的最低温度。解析:数量较少,直接dfs。代码:#include #include #include #include #include #include #include #include #include #include #include

2015-04-06 10:49:31 395

原创 uva 10564 沙漏

题意:如图走这个沙漏,给沙漏的大小和一个数字s,问最后有多少条路可以到达底部使得沙漏路径和为s。若有多条路径,打印起点最低的,that means ,打印第一行最靠左边的路。解析:自己一直TLE,看了一个大牛的代码。他是这样处理的:因为上下沙漏走左右是不同的,上沙漏往下走的时候,向左是( i + 1, j - 1 )向右是( i + 1, j );而当走到下

2015-04-06 09:36:29 399

原创 uva 10534 nlogn最长上升子序列

题意:给一个组数,求递增到递减的最长序列。e.g 1 2 3 4 5 6 5 4 3 2 1 就是一个长度为11的序列。解析:1e4的数据量,nlogn的最长上升子序列的处理方法。正向扫一遍,找递增,反向扫一遍,找正向递减。最后比较,mymax = max(mymax, min(cnt1[i], cnt2[i]))。然后ans = mymax * 2 - 1 就

2015-04-05 11:05:39 368

原创 uva 10465 简单dp标记

题意:给两种汉堡一种吃要n分钟,一种m分钟,现在有t的时间。问最多能吃多少个汉堡,如果有剩余时间,输出剩余时间。解析:简单的标记扫一遍,最后倒回来判断就好了。详见代码。代码:#include #include #include #include #include #include #include #include #include #

2015-04-05 10:36:15 352

原创 uva 10453 回文串dp uva 10739 uva 11151最长回文串 poj 3280

题意:给一个字符串,可以在任意位置插入任意字符,使其变成回文串。求最小插入的字符数,打印结果。解析:记忆化搜索和递归都可以。打印的时候递归。详细思路代码。代码:#include #include #include #include #include #include #include #include #include #inc

2015-04-04 17:35:49 370

原创 uva 10405 LCS + 空格卡wa

题意:给俩字符串,求最长公共子序列。解析:!!!!!!!!!!字符串里面含空格。!!!!!!!!!!代码:#include #include #include #include #include #include #include #include #include #include #define LL long longus

2015-04-04 10:10:44 330

原创 uva 10404 Nim博弈论变式

题意:给n个石子和m种情况,代表一次可以拿mi个石头。拿到最后一个石子的人赢。问最后谁赢。解析:枚举,不断去翻转状态。for (int i = 1; i <= n; i++){ for (int j = 0; j < m; j++) { if (i - a[j] >= 0 && dp[i - a[j]] == 0) 

2015-04-04 10:07:46 365

原创 uva 10401 受伤的皇后dp

题意:国际象棋中,皇后受伤了,只能像如图一样攻击。给一个已经摆放好的序列,这样的棋盘上摆上皇后,共有多少种摆放方法。解析:从左到右扫一遍,最后把所有上到下格子合并就好。dp[i][j] 表示第i列第j行有多少种摆放方法。详见代码。代码:#include #include #include #include #include #inclu

2015-04-04 09:47:44 509

原创 uva 10313 母函数性质 + dp

题意:有价值1到300的硬币,现在给一个面值。若给一个数字a,则计算用a或者更少硬币得到这个面值的方法数;若给俩数字a,b,则计算用a到b范围内去凑这个面值的方法数。解析:用到了母函数的一个性质,整数n拆分成最大数k的拆分数,和数n拆分成k个数的和的拆分数相等。证明用到了ferrers图。已经被这个结论绕进去了。换到这题来讲,就是用不超过k个硬币凑出面值n的

2015-04-02 21:22:38 430

原创 uva 10306 简单DP

题意:给n种硬币和一个面值s。每种硬币有两种价值,并且有无限个,求能满足第一种价值i * i + j * j = s * s的最少硬币数。解析:先dp出每种情况下i,j用的最少银币,然后暴力搞一下找出和规则的就好,和给俩棒子找最小差距那题有点像。详见代码。代码:#include #include #include #include #includ

2015-04-02 20:56:09 349

原创 uva 10285 滑雪,记忆化搜索

题意:就是poj那道滑雪,可以dfs可以dp记忆化搜索。给一张图,问一个人从一个点滑到底最多可以滑多远。解析:记忆化搜索。代码:#include #include #include #include #include #include #include #include #include #include #define LL long

2015-04-02 20:28:22 334

原创 uva 10280 完全背包+剪枝

题意:L升酒,n个酒瓶子, 每个酒瓶子有最小容量和最大容量并且有无限个。问最多剩多少酒没有装进去。解析:这题的剪枝是在http://blog.csdn.net/yan_____/article/details/8671147这篇博客里学到的。有点像一道蓝桥杯的题的剪枝,爬到最后越来越密集。代码:#include #include #include

2015-04-02 16:42:48 407

原创 uva 10271 筷子(分组dp)

题意:给出一堆单只筷子,现在要分成三只筷子一组,长度分别为ABC.。现在要令每组的(A - B)^2和最大并且在每组中C为最长的。解析:是这题给了我  hdu 5135 Little Zu Chongzhi's Triangles(分组dp)这道题的思路,并瞎扯出了一种叫分组dp的东西。首先将所有筷子按逆序输入,保证筷子的长度按从小到大增长,这样可以保证C为其中

2015-04-01 20:43:10 483

原创 uva 10201 dp油费问题

题意:你要租一辆车去一个大城市(搞一个大新闻),这辆车的油桶可以装200L油,开始的时候这辆车只满了一半的油(100L)。现在给你目的地离此地的距离dis,然后依次给出距离此地d km的油站,每个油站的油有自己的价格。假设每开1 km消耗1 L油。要求到达终点时,油箱至少是有一半的油,并且在中途不没油的情况下使花费最小。解析:去年做这题的时候参考了别人的代码。

2015-04-01 20:14:40 633

空空如也

空空如也

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

TA关注的人

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