自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2015-08-23 13:47:04 936

原创 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 945

原创 [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 1051

原创 NOIP2010原题考试总结

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

2015-08-17 12:11:04 895

原创 [NOIP2010]引水入城

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

2015-08-17 08:48:04 2662

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

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

2015-08-17 08:33:24 1864

原创 poj2182 Lost Cows (线段树)

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

2015-08-16 14:03:53 910

原创 ZOJ3080 ChiBi (最短路)

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

2015-08-15 22:03:42 632

原创 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 761

原创 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 712

原创 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 1801

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

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

2015-08-14 23:58:35 3995 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 1330 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 773

原创 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 2611

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

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

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

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

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

2015-08-08 23:45:41 1477

原创 POJ2976 Dropping tests (分数规划)

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

2015-08-05 16:55:12 1113

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

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

2015-08-05 11:12:33 1869

原创 HDU3729 I'm Telling the Truth(二分图最大匹配)

传送门题目大意:有N个学生,老师询问每个学生的排名,每个学生都告诉了一个排名区间,求可能的最多的学生说实话的个数,以及那些学生的标号,有相同的则输出字典序最大的。建模:对于每一个学生连上对应区间的每一个点,然后求最大匹配就行了。这里有一个优化,就是当某个学生给出的排名区间的范围大于N之后就可以不用加边了,因为他肯定是可以说真话的———–PS:不加这个优化也能过给出代码#include<cstdio>

2015-07-28 15:53:01 873

原创 POJ3041 Asteroids(最小点覆盖)

传送门 大意:N*N的方格里有K个障碍物(小行星)。我们要清除这些障碍物。对于每一次操作,我们可以清除一行或一列上的障碍物。求最少的操作次数。建模:把每一行每一列看做一个状态。如果i行j列有一个障碍,就把第i行和第j列连一条边。这样我们的问题就转化成了最小点覆盖(想想为什么,因为每一列或每一行是一个点,我们就要求最少的点使得每一个边(障碍物)被覆盖)根据König定理,我们知道 最小点覆盖 = 最

2015-07-28 15:39:53 831

原创 HDU 1151 Air Raid (最小路径覆盖)

传送门题目大意:有N个路口M条路。给出你每条路的起点和终点,让你求出最少要放几个士兵(每个士兵只能沿着一条路走且不能与其他士兵的路线有交集)才能走完整个图。因为这是一道最小路径覆盖的裸题,所以我就写一下自己的理解。做最小路径覆盖,首先要拆点,把每个点拆成两个,一个表示出,一个表示进。然后进行最大匹配,因为二分图每一个顶点都只能有一条匹配边,所以保证了路径不交叉。对于结论:最小路径覆盖数 = 顶点数

2015-07-28 15:27:00 762

原创 HDU 1150 Machine Schedule(最小点覆盖)

HDU 1150 Machine Schedule(最小点覆盖)Time Limit:1000MS Memory Limit:10000KB DescriptionAs we all know, machine scheduling is a very classical problem in computer science and has been studied for a very

2015-07-27 17:59:42 658

原创 POJ1523 SPF (求割点)

传送门 题目大意:求出每一个割点能将图分成几个部分。思路:乱搞O(∩_∩)O(遇见割点,在对应的数组里加1就行了),但是要注意输出格式很坑,每次要多输出一个空行。#include<cstdio>#include<cstring>#define min(a,b) (a)<(b)?(a):(b)#define MAXN 5005#define MAXM 20005struct node{

2015-07-20 13:51:17 727

原创 NOI2015 Day1 T1 程序自动分析

在刚刚结束的NOI网赛里被虐了,只好写一下T1题解来发泄QAQ题目大意:给你n个判定式(等式或不等式),让你判定这些式子是否冲突。对于这道题,我们可以用并查集来保存等式,每枚举一个等式,把相等的合并,后来判断不等式,检测到非法的后就输出NO。#include<cstdio>#include<stack>#include<cstring>#include<algorithm>using nam

2015-07-19 21:08:02 2336

原创 BZOJ1047 HAOI2007 理想的正方形

传送门 首先,我们应该先算出每一行每N个数的最大值,保存在mx里面。 同样的再处理出mn(最小值)。 然后处理出mx数组中每一列每N个数的最大值,保存在MX中。 同样的再处理出MN(最小值)。 (以上的处理用单调队列最方便。) 然后再n²处理出MX-MN的最小值就行了这道题我的代码略丑……/*************************************************

2015-07-18 19:32:06 762

原创 HNOI2011 BZOJ2326 数学作业

传送门 看到这道题后应该很容易想到矩阵加速递推, 但是构造矩阵时发现有一个lg,不知道怎么办,就只好每翻十倍做一次,结果竟然是正解,汗(⊙﹏⊙)b。(但是我不知道第一页的那些0ms怎么跑的……)/************************************************************** Problem: 2326 User: geng4512

2015-07-18 19:15:08 647

原创 CQOI2009 BZOJ1304 叶子的染色

传送门 先提一句,这道题确实可以像题目说的一样,任意选择根节点(原因自己想)。 这道题显然是树DP 我们用F(u,color)表示以u为节点的子树所需的最少节点数,且u刷成color。 F(i,0)表示点i涂黑色,dp(i,1)表示点i涂白色 所以有F(i,0) = sum(min(dp(i.son,1),dp(i.son,0)))当点i涂黑色时,他涂黑色的儿子可以少涂一个点,i涂白色时同

2015-07-18 19:06:01 1649

原创 CodeForces 487B Strip

这道题的思路我觉得又点绕要先处理处区间最大差值,在进行DP,不过DP 很简单f[i] = min(f[j])+1,看代码:#include<cstdio>#include<iostream>using namespace std;const int inf = 1<<30;const int MAXN = 1e5 + 5;int mn[MAXN][20], mx[MAXN][20], a[

2015-07-03 14:02:23 1164

原创 poj2750 PottedFlower(线段树的环状操作)

题目:Potted Flower 大意:该你一个换环,求环上的最大连续的和(如果最大和包含所有数,要求减去最小的一个)。 思路:这道题的思路并不难,需要在线段树里维护区间的最大和,最小和(应为是环状的,所以答案有可能是总和减去最小和),然后需要用一个区间左边的最大最小,右边的最大最小来维护区间的最大和最小和。这道题的解法就是这样。代码奉上#include<cstdio>#include<alg

2015-07-02 13:45:50 604

转载 POJ3229

题意:给出一个n(n分析:这是一道图上的状压DP。已经游览的每个点用1表示,未游览的用0表示。某时刻的游览状态就可以用一个整数的二进制形式表示,这是采用状压的原因。定义状态f(i,j)为走到第i个点时,走过的点的状态为j时花费时间的量。则f(i,j)=min(f(i,j),f(k,j-(1    注意:国人装B用英语出题,坑死我了。第一,经过一个点,不一定要在这停,当然这个点就不被算进a

2015-07-01 11:10:38 758

原创 【USACO TRAINING】Name That Number命名那个数字

Among the large Wisconsin cattle ranchers, it is customary to brand cows with serial numbers to please the Accounting Department. The cow hands don't appreciate the advantage of this filing system, th

2014-07-21 17:02:49 1453

原创 【休闲杯】AK大派送水题赛 题解

第一题:第一题很简单,直接在输入之后,布尔类型数组相应的区域覆盖就可以了。#includeusing namespace std;bool a[1000005]; //布尔数组,表示是否有人在浇花int n,t,y,maxx,maxn,maxe,ansn,anse,st=0xFFFFFF;void in(int f,int g) //覆盖{ for (

2013-08-10 17:39:31 1087

原创 完美的牛栏【原创】

题目描述农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶)。一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶。 给出奶牛们的爱好的信息,

2013-08-04 21:29:00 1739

原创 【USACO TRAINING】贪婪的送礼者【原创】

题目描述对于一群要互送礼物(钱)的朋友,你要确定每个人送出的礼物(钱)比收到的多多少。在这一个问题中,每个人都准备了一些钱作为礼物送给朋友,而这些钱将会被平均分给那些将收到他的礼物的人(但是除不尽的余数不送)。显然,在一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人将收到较多的礼物。给出一群朋友, 没有人的名字会长于14个字符,给出每个人将用来送礼的钱,和将

2013-08-04 20:56:51 1703

原创 【USACO TRAINING】你的飞碟在这儿!【原创】

题目描述科学家们在研究彗星后惊讶地发现,在每一个彗星后面都有一个不明飞行物UFO。这些不明飞行物时常来带走来自地球上的一些支持者。不幸地,UFO的空间有限,每次旅行只能带上一个支持者团体。他们要做的是用一种聪明的方案让支持某颗彗星的团体被该彗星的UFO带走。他们为每颗彗星起了一个名字,通过这些名字来决定一个团体是否被某个相配的彗星带走。相配方案的细节是这样的:所有团体的名字和彗星的

2013-08-04 20:48:30 2079

原创 【Drainage Ditches 草地排水】

在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小溪)。作为一名一流的技师,农夫约翰已经在每条排水沟的一端安上了控制器,这样他可以控制流入排水沟的水流量。农夫约翰知道每一条排水沟每分钟可以流过的水量,和排水系

2013-08-04 20:37:07 1368

转载 【Network of Schools 校园网】【转】

一些学校连入一个电脑网络。那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”)。注意如果 B 在 A 学校的分发列表中,那么 A 不一定也在 B 学校的列表中。你要写一个程序计算,根据协议,为了让网络中所有的学校都用上新软件,必须接受新软件副本的最少学校数目(子任务 A)。更进一步,我们想要确定通过给任意一个学校发送新软件,这个软件就会分发到网络中的所有学校。为了完成

2013-08-04 20:33:58 1210

转载 【Big Barn 巨大的牛棚】【转】

农夫约翰想要在他的正方形农场上建造一座正方形大牛棚。他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方。我们假定,他的农场划分成 N x N 的方格。输入数据中包括有树的方格的列表。你的任务是计算并输出,在他的农场中,不需要砍树却能够修建的最大正方形牛棚。牛棚的边必须和水平轴或者垂直轴平行。格式EXAMPLE考虑下面的方格,它表示农夫约翰的农场,‘.'表示没有树的方

2013-08-04 20:30:12 1591

原创 pogodak 骰子

今天,在一次比赛中看见了这道题。最开始拿到题,我就想到去打表(⊙﹏⊙b汗),后来发现这太不科学了,一定是有归律可循的,但想不出来,后来和某某交谈后才恍然大悟,写出了这道题,可过样例后,在OJ上仍然没过,不对。后来发现要开long long int,之后顺利通过。这道题我用了三个整形保存上,前,下三面的值,不断滚动骰子,最后得出结论。#include using namespace st

2013-08-01 16:17:49 1055

重庆NOIP2012选手试题

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

2012-11-24

空空如也

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

TA关注的人

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