自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(252)
  • 收藏
  • 关注

转载 【坐标离散化】AOJ0531- Paint Color

日文题……一开始被题目骗了以为真的要写文件?题目大意&&解答戳:❀ 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<algorithm>...

2016-11-19 19:51:00 120

转载 【并查集】BZOJ4551-[Tjoi2016&Heoi2016]树

NOIP太可怕了((( -口-)题目链接【题目大意】给定一颗有根树(根为1),有以下两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)【思路】正着做不行就反方向来。先离线处理所有操作,算出最终某个...

2016-11-19 16:25:00 131

转载 【bfs】BZOJ1102- [POI2007]山峰和山谷Grz

最后刷个水,睡觉去。Bless All!【题目大意】给定一个地图,为FGD想要旅行的区域,地图被分为n*n的网格,每个格子(i,j) 的高度w(i,j)是给定的。若两个格子有公共顶点,那么他们就是相邻的格子。(所以与(i,j)相邻的格子有(i−1, j−1),(i−1,j),(i−1,j+1),(i,j−1),(i,j+1),(i+1,j−1),(i+1,j),(i+1,j+1)...

2016-11-18 22:01:00 134

转载 【dfs】BZOJ1703-[Usaco2007 Mar]Ranking the Cows 奶牛排名

【题目大意】农夫约翰有N(1≤N≤1000)头奶牛,每一头奶牛都有一个确定的独一无二的正整数产奶率.约翰想要让这些奶牛按产奶率从高到低排序,约翰已经比较了M(1≤M≤10000)对奶牛的产奶率,但他发现,他还需要再做一张关于另外C对奶牛的产奶率比较,才能推断出所有奶牛的产奶率排序。请帮他确定C的最小值。【思路】对于M对关系,从产奶率高的往产奶率低的连一条有向边。对于每个节点i...

2016-11-18 21:34:00 106

转载 【NOIP复习】最短路总结

【模板】 1 /*堆优化Dijkstra*/ 2 3 void dijkstra() 4 { 5 priority_queue<pair<ll,int>,vector<pair<ll,int> >,greater<pair<ll,int> > > que;//定义大顶堆 6...

2016-11-18 17:36:00 141

转载 【拓扑排序】BZOJ4010-[HNOI2015]菜肴制作

【题目大意】是要求N个点的一个拓扑序,且满足以下条件:编号1的位置尽可能靠前,在满足所有限制,编号2的位置尽可能靠前,以此类推。【思路】一开始觉得优先队列维护一下拓扑就好了。然而样例告诉我们是不可以的。如果限制条件是:5 2 4 3最后出来的会是1-4-3-5-2,而答案应该是1-5-2-4-3。由此可以发现,如果正向拓扑出来的是“字典序最小”,而不是“编号小...

2016-11-16 23:25:00 85

转载 【LCA+MST】BZOJ3732-Network

【题目大意】给你N个点的无向图 (1 <= N <= 15,000),记为:1…N。图中有M条边 (1<=M<=30,000) ,第j条边的长度:d_j (1<=d_j <=1,000,000,000)。现在有 K个询问 (1 < = K < = 15,000), 每个询问的格式是:A B,表示询问从A点走到B点的所有路径中,最长的边最...

2016-11-16 22:43:00 70

转载 【tarjan+SPFA】BZOJ1179-[Apio2009]Atm

【题目大意】给出一张有点权的有向图,已知起点和可以作为终点的一些点,问由起点出发,每条边和每个点可以经过任意多次,经过点的权值总和最大为多少。【思路】由于可以走任意多次,显然强连通分量可以缩点。然后就是一张DAG图,跑SPFA最长路就好了。听说Dijkstra写最长路会发生一些奇特的化学反应并且炸掉,还没想清楚姑且笔记一下。 1 #include<bits...

2016-11-16 17:33:00 202

转载 【优先队列+贪心】BZOJ1826-[JSOI2010]缓存交换

……啊开始颓了。【题目大意】已知当前集合最大容量为m,n个询问。每次询问一个元素,如果集合中没有则需要加入该元素,如果集合已经满了则需要先删去集合中的某些元素再加入。问至少要加入几次元素?【思路】显然每一次删除的元素是下一次出现最晚的那一个,优先队列维护一下就好了。【错误点】非常ZZ地把集合满的条件定为了“que.size()==m”,实际上如果该元素已经存在,我...

2016-11-15 17:31:00 109

转载 【LCA】BZOJ1776-[Usaco2010 Hol]cowpol 奶牛政坛

【题目大意】一棵n个点的树,树上每个点属于一个党派,要求每个党派的最远距离点。两点间距离为两点间边的个数。【思路】yy一下可知,最远距离点中必有一个是该党派深度最深的一个,那么我们就记下最深的点,然后枚举跑LCA……O(nlongn)裸的倍增LCA。 1 #include<bits/stdc++.h> 2 using namespace std; ...

2016-11-15 16:14:00 85

转载 【单调队列】BZOJ1342-[Baltic2007]Sound静音问题

【题目大意】给出一个n个数的序列,以哪位位置为开头的长度为m的区间满足该区间的最大值与最小值的差≤一个定值。【思路】单调队列……说一下单调队列比较方便的操作。把第一个先丢进去,开始条件为head=tail=1。就OK了。我以前总是喜欢左闭右开,还是都闭合好了不容易写错QAQ所以……越刷越水,去睡觉! 1 #include<bits/stdc++.h&gt...

2016-11-14 23:51:00 118

转载 【并查集&&带权并查集】BZOJ3296&&POJ1182

bzoj1529[POI2005]ska Piggy banks【题目大意】n头奶牛m种语言,每种奶牛分别掌握一些语言。问至少再让奶牛多学多少种语言,才能使得它们能够直接或间接交流?【思路】(n+m)个点,奶牛学会某种语言就合并它和语言的节点。并查集维护联通块,答案为联通块个数-1。水,可是我跳坑了。我一开始做法是设总的联通块有(n+m)个,然后没合并一次减去1。其实...

2016-11-14 23:05:00 91

转载 【DFS好题】BZOJ1999- [Noip2007]Core树网的核(数据加强版)

NOIP的数据好水,一开始有好几个错结果NOIP数据就水过了??【题目大意】求无根树的直径上一段不超过S长的链,使得偏心距最小。具体概念见原题。【思路】首先明确几个性质:(1)对于树中的任意一点,距离其最远的点一定是树的直径的某一端点。(2)所有的直径是等价的,即任意一条所能求出的该最小偏心距相等。于是我们可以用两次dfs求出直径。任取一个点找到离它最远的点r...

2016-11-14 18:10:00 66

转载 【Floyd矩阵乘法】BZOJ1706- [usaco2007 Nov]relays 奶牛接力跑

【题目大意】给出一张无向图,求出恰巧经过n条边的最短路。【思路】首先题目中只有100条边,却给出了10000个点(实际上最多只能有200个),离散化一下。后面就是Floyd的新姿势,以前看过的集训队论文里面有:D一开始的邻接矩阵是经过一条边的最短路,把这个邻接矩阵记作f[0]f[1]=f[0]*f[0]=f[0]^2(这里的乘法是矩阵乘法),就可以表示恰巧经过两条...

2016-11-14 16:35:00 98

转载 【搜索+DP】codevs1066-引水入城

【题目大意】一个N行M列的矩形,如上图所示,其中每个格子都代表一座城 市,每座城市都有一个海拔高度。现在要在某些城市建造水利设施。水利设施有两种,分别为蓄水厂和输水站。蓄水厂的功能是利用水泵将湖泊中的水抽取到所在城市的 蓄水池中。因此,只有与湖泊毗邻的第1行的城市可以建造蓄水厂。而输水站的功能则是通 过输水管线利用高度落差,将湖水从高处向低处输送。故一座城市能建造输水站的前...

2016-11-13 22:46:00 78

转载 【扩展欧几里得】BZOJ1477-青蛙的约会

一直在WA,后来我发现我把东西看反了……【题目大意】给出一个长度为L的环状坐标轴,两个点开始时位于(X,0)、(Y,0)。每次两点分别往右边移动m和n,问能否相遇?【思路】由题意,可得:X+mt=Y+nt(mod L)(X+mt)-(Y+nt)=L*k(n-m)t+L*k=X-Y。可以用扩展欧几里得来做。具体来说,显然要满足n-m和L的最大公约数(记为d)...

2016-11-13 21:29:00 76

转载 【扩展欧几里得】codevs1200-同余方程

【题目大意】求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解。【思路】求解ax+by=1,只要x<0就不断加上 b。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> ...

2016-11-13 19:37:00 70

转载 【一堆的背包水题】沉迷于刷水无可救药~

我在干嘛,连普及组都不会考这种题。以三四分钟一道题的速度混了一下BZOJ的题目数量。BZOJ1606: [Usaco2008 Dec]Hay For Sale 购买干草裸的01背包。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAXN=5000+5; 4 const i...

2016-11-13 18:31:00 209

转载 【堆优化Dijkstra+字典序最短路方案】HDU1385-Minimum Transport Cost

【题目大意】给出邻接矩阵以及到达各个点需要付出的代价(起点和终点没有代价),求出从给定起点到终点的最短路,并输出字典序最小的方案。【思路】在堆优化Dijkstra中,用pre记录前驱。如果新方案和旧方案相等,比较两个方案的字典序。【坑点】我先求出了最短路(包括终点要付出代价),输出的时候再减去终点的代价。有可能会给出S==T的情况……在这种情况下,最短路就是0,减...

2016-11-13 18:25:00 162

转载 【SPFA判断负环】BZOJ1715- [Usaco2006 Dec]Wormholes 虫洞

【题目大意】判断一张图中是否存在负环。【思路】dfs版SPFA。 1 #include<bits/stdc++.h> 2 using namespace std; 3 struct edge 4 { 5 int to,len; 6 }; 7 const int MAXN=500+5; 8 vector<edge&g...

2016-11-13 09:49:00 72

转载 【差分约束系统/DFS版SPFA】BZOJ3436-小K的农场

【题目大意】总共n个农场,有以下三种描述:农场a比农场b至少多种植了c个单位的作物,农场a比农场b至多多种植了c个单位的作物,农场a与农场b种植的作物数一样多。问是否有可能性。【思路】农场a比农场b至少多种植了c个单位的作物:a>=b+c → b<=a-c,由a向b连一条-c的边。农场a比农场b至多多种植了c个单位的作物:a<=b+c,由b向a连一条c的...

2016-11-12 22:58:00 84

转载 【树形DP】BZOJ1040-[ZJOI2008]骑士

【题目大意】有n个骑士,给出他们的能力值和最痛恨的一位骑士。选出一个骑士军团,使得军团内没有矛盾的两人(不存在一个骑士与他最痛恨的人一同被选入骑士军团的情况),并且,使得这支骑士军团最具有战斗力,求战斗力的最大值。【思路】首先yy一下,可以知道这是一个基环森林。我们可以用以下方法:首先在每一棵基环树的环上任意找到一条边(用dfs来实现),记它的两个端点为u和v。然后删掉这...

2016-11-12 21:42:00 84

转载 【二分查找-最大化平均值】POJ2976 - Dropping Test

【题目大意】给出n组ai和bi,去掉k个使得a的总和除以b的总和最大。【思路】也就是取(n-k)个数,最大化平均值,见《挑战程序设计竞赛》P144,最后公式为c(x)=((ai-x*bi)从大到小排列的前(n-k)个的和不小于0)。 1 #include<iostream> 2 #include<cstdio> 3 #include&l...

2016-11-12 21:39:00 113

转载 【次短路径/SPFA】BZOJ1726-[Usaco2006 Nov]Roadblocks第二短路

【题目大意】求无向图点1到n的次短路。【思路】一年多前写过一次堆优化Dijkstra的,方法就是一边跑Dijsktra一边就把次短路径保存下来。和一般Dijkstra不同的是把vis数组去掉了,因为还要生成次短路径。戳这里☆今天重新写用的是SPFA。正反跑两次SPFA,然后枚举每一条边,如果起点到一个端点的最短路+另一个端点到终点的最短路+长度 ≠ 最短路,则和答案比较,...

2016-11-12 21:38:00 172

转载 【堆优化Dijkstra】BZOJ4152- [AMPPZ2014]The Captain

【题目大意】给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。【思路】按照某维坐标排序,相邻两个点在这一维度上的差值最小,所以两两连边,长度为这一维度上的差值(不用考虑另外一维度的,就算另外一维度的更小,在连另外一维度的时候也能够抵达)。然后跑最短路即可。 1 #include&lt...

2016-11-12 20:29:00 72

转载 【最大化平均值】POJ3111-K Best

【题目大意】给出v[]和w[],求的最大值。【思路】二分s(S)的值,可变形为s(S)*Σw>=Σv,所以只需要把求出x*w[i]-v[i],看看前k个的和是否大于等于0,大于等于0就满足条件。由于进度非常高,注意二分的写法。*原本在check(mid)=1之后会存下ansqueue,然后再输出,就wa了。 然而改成直接输出最后一次check的序列(不管返回是0...

2016-11-12 13:58:00 67

转载 【树形DP】BZOJ1596-[Usaco2008 Jan]电话网络

【题目大意】在一棵有n个节点的树上建信号塔,每个节点的信号塔可以覆盖当前节点极其相连的节点。问要覆盖所有节点,至少需要多少座信号塔?【思路】经典的树形DP,直接复制一下。 f[i][0]:以i为根的子树中所有点均被覆盖且草地i上无信号塔所需的最小塔数(i被其儿子覆盖) f[i][1]:以i为根的子树中所有点均被覆盖且草地i上有信号塔所需的最小塔数 f[i...

2016-11-12 12:55:00 60

转载 【DFS】BZOJ3522-[Poi2014]Hotel

【题目大意】给出一棵树,求三个节点使得它们两两之间的距离相等,问共有多少种可能性?【思路】显然,这三个节点是关于一个中心点对称地辐射出去的。枚举中心点,往它的各个子树跑Dfs。tmp[i]表示当前子树深度为i的节点个数,p1[i]表示之前的子树中(不包括当前的子树),深度为i的节点的个数,p2[i]表示到当前子树之前,选取两个不同子树的节点的方案数。对于当前这一棵子树...

2016-11-12 11:21:00 66

转载 【DP】BZOJ1592-[Usaco2008 Feb]Making the Grade 路面修整

我活着从期中考试回来了!!!!!!!!!备考NOIP!!!!!!!!!【题目大意】给出n个整数a1~an,修改一个数的代价为修改前后差的绝对值,问修改成不下降序列或者不上升序列的最小总代价。【思路】预处理b[],为排序后的a[]。f[i][j]表示前i个数,其中第i个数字修改为第j个大的数的最小代价。f[i][j]=min(f[i-1][k])+abs(a[i]-b[...

2016-11-11 20:12:00 68

转载 【Floyd(并非水题orz)】BZOJ4093-[Usaco2013 Dec]Vacation Planning

最近刷水太多标注一下防止它淹没在silver的水题中……我成为了本题,第一个T掉的人QAQ【题目大意】Bovinia设计了连接N (1 < = N < = 20,000)个农场的航班。对于任何航班,指定了其中的k个农场作为枢纽。 (1 < = K <= 200 , K < = N)。目前,共有M种单向航班( 1 < = M < = 2...

2016-10-29 00:00:00 83

转载 【SPFA+二分答案】BZOJ1614- [Usaco2007 Jan]Telephone Lines架设电话线

沉迷于刷水以前的那个二分写法过不了QAQ 换了一种好像大家都比较常用的二分。原因还不是很清楚。【题目大意】给出一张图,可以将其中k条边的边权减为0,求1到n的路径中最长边的最小值。【思路】二分答案,即最长边的最小值x。对于每次check(x),我们将边权大于x的边设为1,边权小于等于x的边设为0,跑SPFA,结果相当于最少经过多少条边权大于x的边。如果SPFA结果&g...

2016-10-26 23:27:00 90

转载 【刷水-贪心】BZOJ1629-[Usaco2007 Demo]Cow Acrobats

【题目大意】有n个头牛,给出体重和力量。每个牛的危险值等于它上面的牛的体重总和减去它的力量值,求所有方案中危险值最大值的最小值。【思路】贪心。一开始脑补的贪心是体重大的先放下面,体重相同的根据力量值来排。但是其实是不对的QAQ这里有详细证明:首先要想到,对于相邻的两头牛,交换它们的位置,仅仅会影响他们两个的risk值 然后,对于最优系列的相邻的两头牛 w1 s1 ...

2016-10-25 23:21:00 89

转载 【刷水-二分答案】BZOJ1650 & BZOJ1639

BZOJ1650-[Usaco2006 Dec]River Hopscotch 跳石子【题目大意】数轴上有n个石子,第i个石头的坐标为Di,现在要从0跳到L,每次条都从一个石子跳到相邻的下一个石子。现在FJ允许你移走M个石子,问移走这M个石子后,相邻两个石子距离的最小值的最大值是多少。*0和L也是两块石头!【思路】二分最小值检验即可。二分都是套路,然而我写错了,烧 杯...

2016-10-24 23:20:00 93

转载 【UOJ244】[UER7]短路

【题目大意】(2n+1)*(2n+1)的矩形,由里到外每一层都有一个相同的值。问从左上走到右小经过的点累和的最小值。【思路】一眼就是贪心。首先能够想到的是,权值最小的那些边要尽可能夺走,所以必定有一条路要跑完至少两条边。然后我们就可以从右上到左下劈开来,左上和右下是对称的。假设我们现在要走完从外到里第i层的两条边,现在已经知道了走到第i-1层左上角要走的最短路程,那么...

2016-10-17 22:23:00 71

转载 【尺取法好题】POJ2566-Bound Found

【题目大意】给出一个整数列,求一段子序列之和最接近所给出的t。输出该段子序列之和及左右端点。【思路】……前缀和比较神奇的想法。一般来说,我们必须要保证数列单调性,才能使用尺取法。预处理出前i个数的前缀和,和编号i一起放入pair中,然而根据前缀和大小进行排序。由于abs(sum[i]-sum[j])=abs(sum[j]-sum[i]),可以忽视数列前缀和的前后关系。此时...

2016-10-14 23:33:00 112

转载 【尺取法】POJ3061 & POJ3320

POJ3061-Subsequence【题目大意】给定长度微n的数列整数及整数s。求出总和不小于s的连续子序列的长度的最小值。如果节不存在,则输出0。【思路】尺取法五分钟裸裸裸~刷水刷出了罪恶感:(基本做法:设置l和r代表当前区间[l,r],若S(l,r)<s,则 r++。若S(l,r)≥s,则 l++,直至S(l,r)<s。如果当前S(l,r)&...

2016-10-14 20:57:00 66

转载 【hash】BZOJ3751-[NOIP2014]解方程

【题目大意】已知多项式方程:a0+a1*x+a2*x^2+...+an*x^n=0。求这个方程在[1,m]内的整数解(n和m均为正整数)。【思路】*当年考场上怒打300+行高精度,然而没骗到多少orz 然而正解只有60+行[前铺]f(n) mod p=f(n mod p) mod p取四个素数,分别对每个ai取模。先预处理x=0..p-1的情况,直接代入多项式计算即...

2016-10-13 23:06:00 152

转载 【最小点覆盖】POJ3041-Asteroids

【题目大意】在n*n的网格上有n个点,每次删除一行或者一列,问至少要删除几次才能删除完全部的这些店?【思路】在国庆最后一天到来前,把二分图的三个基本情况【最小点覆盖】【DAG图的最小路径覆盖】和【二分图的最大独立集】全部复习了一遍。这道题是非常典型的最小点覆盖,指的是用最少的点让每条边都至少和两个集合中的某一个点关联。最小点覆盖=二分图最大匹配数。对于这道题而言,...

2016-10-06 22:42:00 82

转载 【四边形不等式】POJ1160[IOI2000]-Post Office

【题目大意】v个村庄p个邮局,邮局在村庄里,给出村庄的位置,求每个村庄到最近邮局距离之和的最小值。【思路】四边形不等式,虽然我并不会证明:(dp[i][j]表示前i个村庄建j个邮局的最小值,w[i][j]表示在i到j之间建立一个邮局的最小值。w[i][j]显然取i~j的中位数,可以在O(1)时间内求出。显然dp[i][j]=min{dp[k][j-1]+w[k+1][...

2016-10-04 23:44:00 103

转载 【2-SAT】HDU3622-Bomb Game

【题目大意】给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径。【思路】显然是二分答案!二分半径,2-SAT建图部分是最裸的。【错误点】注意一下精度啊,HDU根本不提供所谓的±0.01..一开始写了printf(...

2016-10-03 23:38:00 93

空空如也

空空如也

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

TA关注的人

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