自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 POJ 2449 Remmarguts' Date (A*搜索求K短路)

传送门 这是一道裸的K短路的问题,我们将会用A*解决。 我们设计估值函数h的时候可以像这样想。因为h(n) <= h*(n)而且要尽量接近h*(n),所以我们想到,可以求一个从目标节点到其余节点的最短路,这个一定是小于等于实际值的。然后就用A*从起点开始搜索,找到一个节点v,就使cnt[v]加1。当cnt[v] > k时就可以剪枝了,因为这一定不再K短路的路线上了。很好通过反证法得到证明。当目标

2015-08-29 18:16:42 767

原创 BZOJ2223 PATULJCI COCI2009_CONTSET3

背景: 输入: 输出: 大意: 白雪公主和N个小矮人住在森林里。每天早上,矮人们排成一队出去挖矿的路上,白雪公主就负责给他们拍照,并把这些照片传到社交网络上去。 白雪每次都会拍很多照片,她要从中选出一些完美的照片。小矮人们都戴着不同颜色的 帽子。如果照片上小矮人们有一半以上人戴着相同颜色的帽子,则这张照片就算是美丽的。 也就是说,如果照片上有K个人,如果有多于K/2的人带

2015-08-25 22:31:04 815

原创 HDU2089 不要62(数位DP入门经典题目)

昨天做了一道很奇怪的数字题,不知道怎么做,今天才知道是数位DP ……我来学习学习。 传送门 大意:给定区间[n,m][n,m],求在n到m中没有“62“或“4“的数的个数。如62315包含62,88914包含4,这两个数都是不合法的。思路:做这道题我们就要用到数位DP了,我们可以线预处理出一个F数组。用F[i,j]F[i,j]代表开头是j的i位数中不含”62”或”4”的数有几个。这样我们很好写出

2015-08-24 20:48:09 3375

原创 BZOJ3038 && BZOJ3211 上帝造题的七分钟2 && 花神游历各国 (线段树 + 开方标记)

传送门 这道题看一眼就知道是线段树的题目,但是一看,题目要求区间开方,我就又傻了。想了一会,发现就算是10^{9}在开方5次之后就变成1了,所以就算是我们单个开方,时间复杂度也就是O(NlogN)。但是为了避免重复开方,我们要给线段树的每一个节点做一个标记,表示下面的区间是否全部为1和0。那样我们就可以避免重复开方了。代码:#include <cstdio>#incl

2015-08-23 13:47:04 918

原创 HDU3507 Print Article (斜率优化DP基础复习)

传送门 大意:打印一篇文章,连续打印一堆字的花费是这一堆的和的平方加上一个常数M。 首先我们写出状态转移方程 :f[i]=f[j]+(sum[i]−sum[j])2+M;f[i] = f[j] + (sum[i] - sum[j])^2 + M; 设 j 优于 k. 那么有 f[j]+(sum[i]−su

2015-08-20 20:01:49 914

原创 [NOIP2010]乌龟棋(DP)

传送门 思路:经典DP题,我来水一水,看到数据范围后应该可以知道这是一个多维DP,我们可以设F(i,j,k,l,m)F(i,j,k,l,m)表示走了i步第一种卡片用了j张,第2种卡片用了k张,第3种卡片用了l张,第4种卡片用了m张之后的最大得分。但是我们发现这样转移的话,不仅内存开不下,而且转移的时候会超时,这怎么办呢,我们发现,这五个数并不是独立的,可以知4求5,所以我们可以随便省去1维就变成了

2015-08-17 13:19:44 1026

原创 NOIP2010原题考试总结

这一次考试真的是……了。第一题送分题只拿了30分,就是因为题读错了(又是题读错了),真的是遇得到,被老师骂的……,然后T2是做过的原题当然没有什么好说的做对了,T3就详见我的T3的博文了,哎T4同上。又是满是问题的考试,之前的问题没有解决的表现……

2015-08-17 12:11:04 874

原创 [NOIP2010]引水入城

传送门 思路:拿到这道题我就开始想不到正解就开始应该怎么搜(汗),不过还是好,能拿到70分(因为我舍弃了一种情况,就是从一个蓄水站往下走到另外一个沿湖城市,这种搜了很花时间)。听到正解发现我的思路真是不够,真是不行,我们可以发现每一个沿海城市能够到达的城市是连续的,所以我们就可以用一个N³搜索将原问题转化为一个区间覆盖问题,然后就可以水过了。代码:#include<cstdio>#include

2015-08-17 08:48:04 2609

原创 [NOIP2010]关押罪犯(二分+二分图染色)

传送门 大意:我们把图分为两部分,使得两部分中的内部边的最大权值最小。 思路:哎,拿到题的时候想了二分图染色,发现不好做,但我没有想到二分,只好最后去骗了一个30分。正确的思路是:首先我们要 去二分最大的冲突边的是哪一条(按照权值二分),因为当二分的边权增大时,连的边也就越少,连通块的数目就越多,冲突就越少,所以边权是可以二分的,在二分过后用二分图判定,如果可以染成二分图即为可行的解。代码:#i

2015-08-17 08:33:24 1812

原创 poj2182 Lost Cows (线段树)

传送门 大意:有一个1-n的排列,数据给出从第二个到第n个数中的每一个数前面有几个数比这个数小,要求还原这个1-n的排列 思路:最近做这种题好像有点感觉了,很自然的想到,我们可以从最后一个数来倒推,一直推出第一个过后就可以完事了。这样的话,我们很容易写出一个N²N² 的算法。但作为一名OIer,我们要求上进,所以我们就会想,可不可以优化一下呢。其实我们发现,在找前面出现了几个比目标值小的操作很冗

2015-08-16 14:03:53 889

原创 ZOJ3080 ChiBi (最短路)

传送门 大意:有N艘船,有一些通过铁索连在一起,每条铁索都有一个长度,现在可以派遣一些士兵去点燃一些船,火会在相连的船之间传播,传播速度是1m/s.每个士兵只能点燃一艘船。现在你知道每条铁索的长度,以及从你的大本营派兵到每条船所需的时间。由于点燃船是一件很危险的事,所以要在派遣最少数量的士兵的条件下(就是每一个连通块派一个士兵),使得所有船被点燃的时间最早 思路:先求出每一个连通块,在每一个连通

2015-08-15 22:03:42 610

原创 ZOJ3279 ants

传送门 题目大意: 有一群蚂蚁,每只蚂蚁有一个能力值,现在对这些蚂蚁分类,分为N组,最高的A1个为第一组,接着的A2个为第二组,依次类推。有一群蚂蚁,每只蚂蚁有一个能力值,现在对这些蚂蚁分类,分为N组,最高的A1个为第一组,接着的A2个为第二组,依次类推。 现在有两种操作: (1)修改操作:C i a,表示将Ai修改为a,也就是说第i组的蚂蚁数变成a; (2)询问操作:q x,询问能力值排

2015-08-15 21:51:34 741

原创 URAL1671 Anansi's Cobweb(离线做 + 并查集)

传送门 大意:给出一个无向图,删除Q条边,每删除一次就询问一次目前的连通块的数目。 思路:离线搞, 把删边转换为加边,每加一次边,若两个顶点不连通就用并查集把着这两个连通块合并。 代码:#include<cstdio>#include<cstring>#include<algorithm>#define MAXN 100005using namespace std;int n, m,

2015-08-15 18:26:35 675

原创 POJ3045 Cow Acrobats(贪心)

传送门 大意:有N头牛叠罗汉,对于每头牛定义一个难受值D,D等于在它上面的所有奶牛的体重减去它的力量。 拿到这道题,感觉无从下手啊,贪力量,可是体重就不能保证上面的最好了。正解其实是要贪每头牛的力量加上体重,和大的放在下面。 证明: 设Di表示第i头奶牛的难受值,Wi表示第i头奶牛的体重,Si表示第i头奶牛的力量,令i,j相邻,且Wi+Si>Wj+Sj,设∑表示i和j上面的奶牛的重量之和设D

2015-08-15 18:15:57 1742

原创 POJ3579 Median(二分答案 + O(N)判定)

传送门 大意:给出NN个数,对于存有每两个数的差值的序列求中位数,如果这个序列有偶数个元素,就取中间偏小的作为中位数。因为N<=100000N <= 100000,所以想要求出每一个差值是不可行的,我们很容易想到二分答案。 在二分答案时我们会进行判定,求出小于等于枚举值的个数,我看其他人的判定似乎都是O(NlogN)O(N\log N) 的,我在这里就给出一个O(N)O(N)的判定方法。首先同样将

2015-08-14 23:58:35 3964 9

原创 POJ3621 sightseeing cows 01分数规划+SPFA判定

传送门 题目:给出N个点M条有向边,要求选出一个环,使得这上面 点权和/边权和 最大。 思路:明显的01分数规划,只是这里的判定不是很好搞。我们先按着分数规划的思路来。设Xi={0,1}Xi = \{0, 1\},Yi={0,1}Yi = \{0, 1\}, R=∑Vi∗Xi∑Wj∗Yj\ R = \frac{∑Vi*Xi}{∑Wj*Yj} 所以有判定函数 F(R)=∑Vi∗Xi−R∗∑Wi∗

2015-08-12 14:06:15 1292 1

原创 POJ3169 Layout (差分约束系统)

传送门 题意:有N头牛,第i头牛一定在第i-1头和第i+1头中间(按照编号从小到大排列)给出两种约束 1. A 到 B 的距离不超过 D 2. A 到 B 的距离小于 D 要求第N头到第一头的距离最远。若无解,输出-1,若无限远,输出-2.用dis(i)表示从第一头牛到第i头牛的距离,所以 -对于条件1有:dis(A) + D >= dis(B) 连一条从A到B的有向边权值为D(因为最

2015-08-11 21:36:37 752

原创 NOIP2013货车运输(最大生成树+LCA)

货车运输这道题我觉得还是比较有难度,不好直接想出正解,我最开始就是直接用并查集判定然后暴力找,在网上只有10分。//以下是暴力#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define MAXN 10005#define MAXM 50005#define MAXP 30005inlin

2015-08-11 08:41:02 2569

原创 几天做NOIP原题比赛下来的心得体会

这几天一直在做NOIP的原题,还有斜体是之前就做过的,但是做出来的结果的却是不理想。 最开始做的一场是NOIP2011。day1的题做下来,本来感觉自己至少都可以得到260+结果好像只得到了120分(100, 0, 20)。一看题才发现是T2题读错了。T3只得了20分是因为自己偷懒,在搜索的时候把一个对称的部分直接COPY,然后以为是对的,结果把搜索的方向搞反了。 day2又是一百多

2015-08-10 17:32:11 1444 1

原创 最小割模型在信息学竞赛中的应用___读后的收获

在看了Amber的《最小割模型在信息学竞赛中的应用》后感觉到了自己的智障……我还是按照目录来,其实第一个子目录中我收获最大的还是01分数规划的内容。01分数规划:给定n个条件,在其中选取一些条件,使得要求的目标函数达到最值。通俗一点说:给定两个数组,a[i]表示选取i的收益,b[i]表示选取i的代价。如果选取i,定义x[i]=1否则x[i]=0。每一个物品只有选或者不选

2015-08-08 23:45:41 1423

原创 POJ2976 Dropping tests (分数规划)

传送门今天在看Amber神犇的《最小割模型在信息学竞赛中的应用》的时候看到了分数规划这玩意,然后就小水了一发(虽然这道题和最小割并没有什么关系)。Dropping tests 是一道裸的01分数规划,大意就是给出n个分数,在里面选出n-k个要求这些分数 分子加分子 : 分母加分母最大。关于分数规划的介绍,我觉得[Algorithm]01分数规划——Update:2012年7月27日这篇文章写得相

2015-08-05 16:55:12 1088

原创 USACO 奶牛食品(最大流)

题目描述 FJ的奶牛们只吃各自喜欢的一些特定的食物和饮料,除此之外的其他食物和饮料一概不吃。某天FJ为奶牛们精心准备了一顿美妙的饭食,但在之前忘记检查奶牛们的菜单,这样显然是不能不能满足所有奶牛的要求。但是FJ又不愿意为此重新来做,所以他他还是想让尽可能多的牛吃到他们喜欢的食品和饮料。 FJ提供了F (编号为1、2、…、F)种食品并准备了D (编号为1、2、…、D)种饮料, 他的N头牛(编号为1

2015-08-05 11:12:33 1849

重庆NOIP2012选手试题

这是重庆NOIP2012选手试题,喜欢的可以下下来

2012-11-24

空空如也

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

TA关注的人

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