自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 BZOJ3578 GTY的人类基因组计划2 HASH

题意:有N个人M个房间,初始时所有人都在1号房间,维护:1、让某个人去某个房间 2、假如[l,r]中所有的人还未一起统计过,Ans+=人数。输出Ans题解:集合HASH get根据异或的性质,a^x^x=a,因此一个集合的HASH值就是其所有元素的异或起来的值接下来就是STL大法好将每个房间看成一个集合,每个人赋一个初始rand,set存储当前所有HASH值没有出现...

2017-02-28 23:44:00 113

转载 BZOJ3240 NOI2013 矩阵游戏 快速幂+矩阵乘法+逆元

题意:给定a b c d n m,fi,j满足f1,1=1 fi,j=afi,j-1+b fi,1=cfi-1,m+d,求fn,m%P题解:a=1且c=1时\[{f_{n,m}} = 1 + b(m - 1)n + d(n - 1)\]否则\[\left( {\begin{array}{*{20}{c}}{{f_{n,m}}}&{bd}\end{array}} \ri...

2017-02-28 23:41:00 81

转载 BZOJ3130 SDOI2013 费用流 二分法+网络流

题意:给定一张图,求:1、最大流 2、最大流方案中,流量最大的一条边题解:第一问裸题第二问显然Bob要把所有的费用加在流量最大的边上,因此我们二分最长边,每条边的流量改为min{二分出的最大流量,当前边的流量},跑最大流检验。注意可以是实数流量,比如说:<1,2,3> <3,2,3> <2,4,2> <2,5,2> &...

2017-02-28 23:32:00 90

转载 BZOJ2768 JLOI2010 冠军调查 网络流

题意:有N个人,每个人有一个初始想法(0/1)和ki个朋友,安排每个人的最终想法,使得|违心的人数+不同意见的朋友的对数|最小题解:S向每个0连流量为1的边,表示违心;同理每个1向T连流量为1的边。如果两人是朋友,连一条流量为1的边,表示可以对立。然后网络流/最小割走起。#include <queue>#include <cstdio>...

2017-02-28 23:29:00 82

转载 BZOJ1058 ZJOI2007 报表统计 线段树+平衡树

题意:给定一个序列,维护:1、插入一个元素 2、求相邻两个元素中,差值绝对值的最小值 3、求序列排序后相邻两个元素中,差值绝对值的最小值题解:MIN_GAP:如果我们把数看成一组一组,每次插入数字都在一组的最后插入,那么答案只有可能在组内和组间两个位置产生,定义l[i]为一组数中最左边的数,r[i]为一组数中最右边的数,新插入的数为x,那么用|x-l[i]|取min来更新组内...

2017-02-28 23:26:00 272

转载 BZOJ2875 NOI2012 随机数生成器 矩阵乘法+快速幂

题意:Xn+1=(aXn+c)%M,求XN%G题解:矩阵乘法裸题#include <cstdio>#include <cstring>#include <cstdlib>#include <climits>#include <iostream>#include <algorithm&gt...

2017-02-28 23:23:00 121

转载 BZOJ3926 ZJOI2015 诸神眷顾的幻想乡 后缀自动机+DFS

题意:给定一颗字符树,求树中路径所构成的不同的字符串的数量,其中AB和BA视作不同的字符串题解:题目里有这样一句话:太阳花田的结构比较特殊,只与一个空地相邻的空地数量不超过20个。一共有10W个点,却只有20个叶子……因此树上所有的字串就是以叶子为起点搜索出的所有字串,丽洁姐真的好善良啊- -(无雾)这样从每个点开始就能跑出来一颗Trie树,对Trie构造广义后缀自动机—...

2017-02-28 23:20:00 101

转载 BZOJ4516 SDOI2016 生成魔咒 后缀自动机

题意:初始时给定一个空串,在其后不断加字符,求每次加入后不同子串的数量题解:当时拿到这个题一眼看出用后缀数组啥的,然而我并不会QAQ……不耸,不会后缀数据结构我们会HASH是不是,于是用HASH水了30分,能进R2真是命大2333讲题的时候标算用的后缀数组,不过看他写了半个黑板就感觉好麻烦。YTS大神说这题是个后缀自动机模板题,瞬间感觉自动机啥的都好厉害,于是回来后补了个后缀...

2017-02-28 23:18:00 82

转载 BZOJ2555 SubString 后缀自动机+LCT/暴力

题意:给定一个字符串,维护:1、在当前字符串后面插入一个字符串 2、询问一个字符串在当前字符串中出现的次数。强制在线题解:维护自动机,一个字符插入之后其祖先的出现次数全部++,这个可以拿LCT或者暴力来维护,链上修改单点查询。#include <cstdio>#include <cstring>#include <cstdlib&g...

2017-02-28 23:15:00 84

转载 BZOJ3998 TJOI2015 弦论 后缀自动机

题意:求一个字符串的第K小字串,T=0表示不同位置相同的子串算作一个,T=1算作多个题意:建出SAM来跑第K子串,由于一个点所代表的子串在原串出现次数为其子树叶子结点的数量,因而有:T==1,每个点的|right|=1T==2,每个点的|right|=子树叶子结点数BFS跑出所有子串出现的次数即|right|,DFS统计每个节点的出现次数和,具体细节看代码。然后处...

2017-02-28 23:13:00 109

转载 BZOJ2324 ZJOI2011 营救皮卡丘 最短路+费用流

题意:给定一张无向图,有K个人,每一时刻K个人可以同时走(也可以停在一个节点),在到达i之前必须先到达i-1,求从0到N,K个人走的最小距离和(只需一个人到达即可)题解:用Floyd跑出任意两个城市i j间的最短路,更新的前提是k<j(要到达城市j必须先到达1->j-1)将每个城市拆成两个点A B,u v间连费用为w的边,i为任意一个城市,按如下方式建图:...

2017-02-28 23:10:00 93

转载 BZOJ2245 SDOI2011 工作安排 费用流

题意:有n类产品,其中第i类产品共需要Ci件。有m名员工,员工能够制造的产品种类有所区,一件产品必须完整地由一名员工制造,对于员工i,他的愤怒值与产品数量之间的函数是一个Si+1段的分段函数。当他制造第1~Ti,1件产品时,每件产品会使他的愤怒值增加Wi,1,当他制造第Ti,1+1~Ti,2件产品时,每件产品会使他的愤怒值增加Wi,2……设Ti,0=0,Ti,si+1=+∞,那么当他制造...

2017-02-28 23:06:00 95

转载 BZOJ3876 AHOI2014 支线剧情 费用流

题意:给定一张有向图,求一个路径集合,集合中的路径满足:1、起点为1,终点出度为0 2、集合中的路径覆盖了所有的点 3、在满足前两个条件的基础上,路径权值和最小题解:显然是个带下界的有源费用流。按照如下方式建模,对于一条边权为w的边(u,v)和任意一个点xx向T连容量为k费用为0的边,表示其后每条路经都必须跑一次。x向1连容量为INF费用为0的边,表示从任意一个点都可...

2017-02-28 23:02:00 91

转载 BZOJ2879 NOI2012 美食节 费用流

题意:有N种菜,M位厨师,每位厨师做每种菜的时间不同。有K个人,每个人点ki个菜,求最小等待时间。题解:和BZOJ1070一个题,不过多了一个N,因此考虑优化。显然决策倒数第K个菜的前提是倒数第K-1个菜已经决定完成,因此SPFA每搜出一条路径,就在这个厨师这里加边。说白了就是动点。#include <queue>#include <cstd...

2017-02-28 22:58:00 96

转载 BZOJ1070 SCOI2007 修车 费用流

题意:给定N辆车和M个人,每个人修每辆车的时间不同,安排修理顺序使得修理这N辆车时间总和最小题解:将每个工作人员拆点,某个车b向ai连边表示工作人员a倒数第i个修理该车,显然其对答案的贡献(该边费用)就是w[b][a]*i(其后所有等待的车都要受其影响,而之前的车都不会)。构图两排点,左边是车,右边是拆点后的工作人员,建立S和T跑最小费用流即可。printf坏掉了死活保留...

2017-02-28 22:55:00 95

转载 BZOJ1877 SDOI2009 晨跑 费用流

题意:给定一张有向图,求1到N:1、最多有多少条不相交的路径 2、在第一问的基础上,求所有路径的最小距离和题解:拆点之后费用流裸题#include <queue>#include <cstdio>#include <cstring>#include <cstdlib>#include <climits...

2017-02-28 22:51:00 112

转载 BZOJ1189 HNOI2007 紧急疏散evacuate 网络流+BFS+二分法

题意:一个N M的矩形区域。格子如果是'.',那么表示这是一块空地;如果是'X',那么表示这是一面墙,如果是'D',那么表示这是一扇门,人们可以从这儿撤出房间。已知门一定在房间的边界上,并且边界上不会有空地。每块空地上都有一个人,在疏散的时候,每一秒钟每个人都可以向上下左右四个方向移动一格,当然他也可以站着不动。疏散开始后,每块空地上就没有人数限制。每一秒钟只能有一个人移动到门的位置,一...

2017-02-28 22:47:00 93

转载 BZOJ1143 CTSC2008 祭祀river 最短路+二分图

题意:求一张图的最大独立点集题解:先用Floyd把每个点是否连通跑出来,然后拆点做二分图,左边一列,右边一列,如果u v连通,则将左边的u和右边的v相连,由于需要求一个最大的点集使得其中的任意两个点均不连通,所以跑最大独立集=总点数-最大匹配。#include <queue>#include <cstdio>#include <cst...

2017-02-28 22:43:00 94

转载 BZOJ3931 CQOI2015 网络吞吐量 最短路+网络流

题意:求1到N的所有最短路方案上的最大流,阈值在每个点上题解:呵呵哒#include <queue>#include <vector>#include <functional>#include <cstdio>#include <cstring>#include <cstdlib>...

2017-02-28 22:41:00 143

转载 BZOJ1433 ZJOI2009 假期的宿舍 网络流

题意:有三种人:1、该校回家生 2、该校不回家生 3、非该校住宿生。给出人的认识关系,假若a认识b,则b(a)可以睡在a(b)的床上,只有该校的学生有床,回家生不占床位,求是否能让所有留宿的人都有床睡题解:建二分图,左边是宿舍右边是学生。从S向需要宿舍的学生连边,从能提供宿舍的位置向T连边,如果某个学生能住某个宿舍则从学生向宿舍连边,跑最大流看是否满流即可。#incl...

2017-02-28 22:37:00 92

转载 BZOJ3996 TJOI2010 线性代数 网络流

题意:给出一个N*N的矩阵B和一个1*N的矩阵C。求出一个1*N的01矩阵A.使得D=(A*B-C)*A^T最大。其中A^T为A的转置。输出D题解:D=A*B*AT-A*C,逐项分析,减号前面那一项,是如果要拥有B[i][j]的价值,前提是A[i]=A[j]=1;减号后面那一项,是要让A[i]=1,就需要付出C[i]的代价。然后问题就很简单了,要拥有B[i][j]的利润,就要选择i ...

2017-02-28 22:34:00 85

转载 BZOJ1797 AHOI2009 Mincut最小割 网络流+连通性

题意:给定一张图,求每一条边:1、是否在一个最小割的方案里 2、是否在每一个最小割的方案里题解:先做最小割,然后在残余网络上缩点。对于一条边(u,v)如果f[u]!=f[v],则(u,v)可以在某个最小割上(缩点后的图上的边均为满流边)如果f[u]==f[S] && f[v]==f[T],则(u,v)在所有的最小割上(增大c(u,v)会导致最小割增大)...

2017-02-28 22:31:00 136

转载 BZOJ2007 NOI2010 海拔 网络流+最短路

题意:给定一个N*N的网格,每个格点均与周围的八个点连边,每条边有一个边权,求安排每个点的点权h,使$\sum\limits_{e \in G} {e.w \times \min \{ ({h_{e.u}} - {h_{e.v}}),0\} }$最小题解:所有高度一定不是0就是1,而且一定有一条线使得这条线一边是0,另一边是1。显然最小割。然后这是个平面图,Dijkstra随便跑。...

2017-02-28 22:27:00 88

转载 BZOJ1001 BJOI2006 狼抓兔子 网络流+最短路

题意:给定一张平面图,求其最小割题解:这里#include <queue>#include <functional>#include <cstdio>#include <climits>#include <cstring>#include <cstdlib>#include &...

2017-02-28 22:21:00 77

转载 BZOJ2561 最小生成树 网络流

题意:初始时给定一张图,然后往图上不断加边,每次加边后询问最少需要删除多少条边,使得新加入的边可以出现在最小和最大生成树上题解:如果u,v之间不存在路径,直接塞进去就好,着重讨论一下之前已经存在路径的情况。(以下以最小生成树为例,最大生成树随便YY一下就出来了- -)显然加入新的边之后会形成环(不一定只有一个,可能之前有多个u到v的路径),而只要环上存在比L小的边,那么就不会...

2017-02-28 22:19:00 79

转载 BZOJ1565 NOI2009 植物大战僵尸 拓扑排序+网络流

题意:N*M的网格中有K个植物,每个植物可以保护一些格点,如果该植物没被吃掉,则被保护的格点不可到达,每个僵尸只能从最右边进入,从右往左吃,每个植物有一定价值,求一个吃植物的顺序使得被吃植物价值和最大。题解:最大权闭合子图+拓扑排序的说……首先根据保护关系建边,由保护指向被保护,保护关系有两种:直接保护:就是输入里给定的间接保护:每个植物能保护其左侧的所有植物由于...

2017-02-28 22:16:00 132

转载 BZOJ1497 NOI2006 最大获利 网络流

题意:给定N个用户和M个基站,每个基站有建设费用,每个用户由(a,b,c)描述,表示a b基站都建好后能获得c的收益,求最大获利题解:推荐论文:胡伯涛-《最小割模型在信息学竞赛中的应用》然后说一下我的理解,我么按如下方式建图:每条边看作一个点,然后划分成二分图,左边一列是原图中的点也就是发送站,右边一列是原图中的边抽象成的点,然后建立原点s和汇点t,s向左边的所有点连容量为p...

2017-02-28 22:11:00 131

转载 BZOJ1823 JSOI2010 满汉全席 2-SAT

题意:有N种食材,每种食材有两种烹饪方法,存在M组约束关系——A用哪种手法烹饪,B用哪种手法烹饪——问是否存在烹饪序列满足要求。题解:所谓2-SAT问题,是指我们有多个集合,每个集合里只有两个元素A,A'(或者是B,B' C,C'……),某些集合之间存在约束关系,比如说选了A就必须选B,选了B'就不能选C之类的。根据题目要求建边,如果有一条有向边<u,v>,那么其...

2017-02-28 22:07:00 115

转载 BZOJ1191 HNOI2006 超级英雄Hero 二分图

题意:有N个问题和M种解法,每个问题可以用两种解法,每种解法只能用一次,求最多能解决的问题的数量题解:二分图裸题,另附二分图的一些性质:1 最小覆盖:最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数2 最小路径覆盖: 用尽量少的不相交简单路径覆盖有向无环图G的所有结点。解决此类问题可以...

2017-02-28 22:04:00 81

转载 BZOJ1059 ZJOI2007 矩阵游戏 二分图

题意:给定一个N*M的网格,每个格子均为白色或黑色,每次可以交换两行或两列,求是否可以通过有限次操作使得从左上到右下的对角线上所有的格子均为黑色题解:首先,同一列上的格子无论怎么变换都在同一列上,同一行上的格子无论怎么变换都在同一行上,因此问题转化为求既不在同一列也不在同一行上的黑色格子的数量与N的关系。我们建二分图,左边一列为行,右边一列为列,如果(x,y)是黑色则在左边的x和右边...

2017-02-28 22:01:00 97

转载 BZOJ1562 NOI2009 变换序列 二分图

题意:给定一个由1-N不重复组成的序列a,再给出N个数的序列b,求是否存在一个序列c,使得任意一个位置i均满足(ai+bi)%N=ci || (ai-bi+N)%N=ci,并求字典序最小的c题解:任意一个ai只能变成两个数,所以我们可以建二分图看是否存在完全匹配来确定是否存在合法序列。由于方案要求字典序最小,因此开邻接表的时候要越小的越在前面,匹配时从N开始匹配。这个比较显然...

2017-02-28 21:57:00 79

转载 BZOJ1045 HAOI2008 糖果传递 其他

题意:给定一个有N个点的环,每个点上有一个数字,每次可以让一个点--然后左边或右边的点++,求最少操作次数题解:定义第i个熊孩子向他左边(也就是第i-1个熊孩子)传递的糖果数为Ci,根据题意最后每个熊孩子手里都有A=sum(ai)/n个糖果,因此:a1-C1+C2=a2-C2+C3=……=an-Cn+a1=A因此C2=A+C1-a1,C3=A+C2-a2,C4=A+C2-a2...

2017-02-28 01:56:00 91

转载 BZOJ3174 TJOI2013 拯救小矮人 贪心+一般DP

题意:有N个小矮人,他们从脚到肩膀的高度Ai,胳膊长度为Bi。陷阱深度为H。如果我们利用矮人1,矮人2,矮人3……矮人k搭一个梯子,满足A1+A2+A3+….+Ak+Bk>=H,那么矮人k就可以离开陷阱逃跑了,一旦一个矮人逃跑了,他就不能再搭人梯了,问最多可以使多少个小矮人逃跑。题解:由于不管怎么排,总的高度是不变的,因此关键在于如何找出出洞的次序。考虑只有a和b两个小...

2017-02-28 01:52:00 95

转载 BZOJ2748 HAOI2012 音量调节 一般DP

题意:给定B,U和数组c,求在不超过U的情况下,从c中选择部分元素*(1或-1)使得B+所选元素之和最大题解:太水不想说什么了- -,f[i][j]记录第i个歌曲能否到达音量j#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream&...

2017-02-28 01:49:00 115

转载 BZOJ1049 HAOI2006 数字序列 一般DP

题意:有一个长度为n的整数序列A,将其变为严格单增序列,求:1、最少需要改变多少个数 2、在改变的数最少的情况下,每个数改变的绝对值之和的最小值题解:第一问太水,a[i]-=i之后直接跑最长上升子序列即可。第二问太神,完全没思路,正解#include <cmath>#include <cstdio>#include <cli...

2017-02-28 01:44:00 82

转载 BZOJ3997 TJOI2015 组合数学 一般DP

题意:给出一个网格图,假设每个格子中有好多财宝,每次从左上角出发,只能向下或右走,而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完。题解:为了方便我们将原矩阵处理一下,将每一行都反转,即swap(g[i][j],g[i][n-j+1])(读入g[i][j]的时候j=m->1就好)。那么对于符合题目要求的路径上的任意两点,一定满足x1<=x...

2017-02-28 01:41:00 132

转载 BZOJ1046 HAOI2007 上升序列 一般DP+贪心

题意:对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ax2 < … < axm)。那么就称P为S的一个上升序列。如果有多个P满足条件,那么我们想求字典序最小的那个。任务给出S序列,给出若干询问。对于第i个询问,求出长度为Li的上升序列,如有多个...

2017-02-28 01:38:00 112

转载 BZOJ1003 ZJOI2006 物流运输trans 最短路+一般DP

题意:一批货物从码头A运到码头B,需要n天才能运完,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。修改路线会带来额外的成本。物流公司希望能够订一个n天的运输计划,使得总成本尽可能地小。题解:首先定义cost[i][j]=从第i天到第j天都可以使用的港口所组成的最短路的费用和,初始化出来就好,如果不存在赋值为INF。定义f[i]为第i天可以...

2017-02-28 01:30:00 175

转载 BZOJ1078 SCOI2005 互不侵犯King 状压DP

题意:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。题解:对于任意一行,我们都可以将其压缩成一个二进制数,第a位是1表示放置国王,否则不放置。定义f[i][j][k]为到第i行已经放置了j个国王且第i行是k的状态下的方案数。状态转移方程:f[i][j][k]=sum...

2017-02-28 01:27:00 105

转载 BZOJ2822 AHOI2012 树屋阶梯 Catalan数+高精度

题意:(没图不好说……)题解:自己计算出前三种方案后,发现和Catalan数的前三项契合,因此就当Catalan数写了,最后竟然过了- -。(结论就是多背几个数列还是有好处的)AC之后看了题解,才知道具体是怎么证的。通过包含左下角那个方块的方块,可以将楼梯划成两个部分。也就是说,第i层楼梯和左下角的矩形会把整个楼梯划分成i-1层的楼梯和n-i层的楼梯,因此f[i]=sum...

2017-02-28 01:16:00 95

空空如也

空空如也

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

TA关注的人

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