自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Icefox的博客

生活不止眼前的苟且,还有诗和远方。

  • 博客(104)
  • 资源 (3)
  • 收藏
  • 关注

原创 luogu3877 [TJOI2010]打扫房间(二分图染色+最大流)

要求判断是否能用若干环路覆盖所有空地,环大小>2,我们发现环一定是偶环,然后每个点入度均为2,可以直接二分图染色,然后最大流看是否满流。

2017-12-30 19:58:13 350

原创 hdu4160 Dolls (最小路径覆盖)

hdu4160 Dolls (最小路径覆盖)

2017-12-30 18:40:53 308

原创 CF908D New Year and Arbitrary Arrangement(期望dp+数学)

官方题解说的比较清楚了。dp[i][j]表示前缀有i个a,j个ab的期望个数。则显然有转移:$dp[i][j] = (pa * dp[i + 1][j] + pb * dp[i][i + j]) / (pa + pb).$答案就是dp[0][0]。问题在于边界如何确定。首先我们根据题意有$dp[i][j]=j ,j>=k$。

2017-12-30 15:40:54 596

原创 Codeforces Good Bye 2017

CF908A New Year and Counting Cards(模拟)CF908B New Year and Buggy Bot(枚举+模拟)CF908C New Year and Curling(几何+枚举)CF908D New Year and Arbitrary Arrangement(期望dp+数学)

2017-12-30 14:23:21 346

原创 bzoj2895 球队预算(同bzoj1449)

双倍经验。题解:传送门

2017-12-29 23:06:39 291

原创 bzoj1449 [JSOI2009]球队收益(拆边费用流)

做过一道边费用为A*x*x,x为容量的题,这种题一般都要拆边。每条边容量为1,花费为增量。因为增量是递增的,最小费用流,所以保证了正确性。这道题不同的地方在于负场也有贡献。怎么办呢?一开始先假设所有队伍都是负场,算出初始贡献,然后i每赢一场贡献的增量为C*(w+1)^2+D*(l-1)^2)-(C*w^2+D*l^2)=2w*C-2l*D+C+D。建边就可以了。以下摘自hzwer: 首先假设每场比

2017-12-29 23:03:51 318

原创 bzoj1520 [POI2006]Szk-Schools(费用流)

裸的一个费用流。

2017-12-29 22:12:09 283

原创 bzoj2324 [ZJOI2011]营救皮卡丘(Floyd+费用流,DAG最小权路径覆盖)

首先我们考虑最后的k条路线可能长成什么样子: 一定是0->x1->…->xn,x1< x2<…< xn的样子。也就是说我们只需用最多k条这样的路径,覆盖所有点即可。我们一定可以通过安排顺序,使得所有访问都合法。每个点都可以经过多次,我们想到需要预处理两点之间最短距离,且还要满足合法条件。可以用floyd预处理,在用mp[i][k]+mp[k][j]更新mp[i][j]时,保证k< j即可。mp[i

2017-12-29 21:56:30 437

原创 poj2125 Destroying The Graph(二分图最小点权覆盖集,最小割输出割边)

把每个点分成入和出,显然是张二分图,就是求最小点权覆盖集,可以用最小割解决。问题在于输出最小割的割边。蒟蒻才发现以前自己的理解是不正确的。 最小割的割边一定满流是没有错的,但是反过来,满流的边就是割边是错误的。比如你看s->x->y->t,容量都相同。则割边一条即可,无需所有满流的三条边。那如何找到割边呢? 在残余网络上从s开始跑一遍dfs,可以到的点都是属于S集合的。然后枚举每一条边x->y,

2017-12-28 15:50:31 426

原创 bzoj1324 Exca王者之剑(构造+最小割)

论文题。 大概就是首先可以发现只有偶数时刻才有可能吃到宝石,然后相邻的格子内的宝石不可能都吃到。然后就想到了最大点权独立集,然后构造证明任意独立集都可以实现。详见2007Amber国家队论文。

2017-12-28 14:12:28 357

原创 bzoj4514 [Sdoi2016]数字配对(数学+费用流)

考虑怎样的两个数x,y符合条件(x>y),首先x要是y的倍数。然后x/y要是一个质数,则x的质因数个数应该比y的质因数个数恰多1.因此我们预处理出g[i],表示a[i]的质因数个数,如果x,y合法则x是y的倍数且g[x]=g[y]+1.可以发现,有边相连的两个点的g[i]一定是一奇一偶!因此我们可以根据g[i]的奇偶性黑白染色,就得到了一张二分图。然后s向左边的点连边,容量为个数,费用为0,右边的点

2017-12-28 11:05:13 322

原创 bzoj2561 最小生成树(最小生成树+最小割)

首先考虑让L出现在最小生成树中。则边权比L小的所有边不能使得u,v联通。否则加入L,在环上一定是去掉L最优。所以跑个最小割就是答案。最大生成树同理,两个答案相加就是答案。

2017-12-28 09:32:33 338

原创 bzoj3504 [Cqoi2014]危桥(最大流)

首先建图很直观:双向边的网络流,危桥容量为1,普通桥容量为inf。s向两个起点建边,容量为往返次数,两个终点向T建边,容量为往返次数。看是否满流。但是这样可能存在a1->b2的流被我们算进了答案,不合法。所以我们要把b1,b2交换一下起终点,再重新跑一遍,看是否还是满流。如果还满流,则一定合法。因为s1->t2存在合法路径,t2->t1存在合法路径,则s1->t1也可以构造出合法路径。#includ

2017-12-26 14:48:35 322

原创 bzoj3396 [Usaco2009 Jan]Total flow 水流(最大流)

板子题。

2017-12-26 11:43:34 328

原创 bzoj1532 [POI2005]Kos-Dicing(二分答案+最大流)

二分答案,最大流判是否满流。

2017-12-26 10:47:55 365

原创 bzoj2661 [BeiJing wc2012]连连看(拆点费用流)

这题很奇怪呀x 只有在6000以内满足这样性质的点之间建边才是个二分图。范围再大可能就会出现奇环了。 拆点费用流。 把每个点拆成xl,xr,源向所有左点建边,容量为1,费用为0,所有右点向汇建边,容量为1,费用为0.对于有关系的两点(x,y),建边xl>yr,容量为1,费用为x+y,yl->xr,容量为1,费用为x+y。然后跑最大费用最大流,最大匹配就是最大流/2,边权和就是最大费用/2.因为你

2017-12-26 10:08:13 350

原创 bzoj1061 [Noi2008]志愿者招募(线性规划/费用流)

这题太神了!但是听说是单纯形法求解线性规划裸题???看样子网络流和线性规划有着莫大的联系啊,待研究。 此题基本就是用网络流求解了一个等式的最优解? 附上大神题解:https://www.byvoid.com/zhs/blog/noi-2008-employeeupd:单纯形确实很强orz,因为要求的这个东西不是标准型线性规划,我们把他对偶了就可以了。 附上大神题解:portal#in...

2017-12-26 09:06:55 539

原创 bzoj1930 [Shoi2003]pacman 吃豆豆(费用流)

很标准的费用流,但是在建图时需要优化一下。否则spfa跑这种稠密图会T到飞。 贪心的想,如果x可以先到z再到y,则不建边(x,y)。 然后因为经过一个点只有1的贡献,所以要拆点,建图就是S->s,1,0 t->T,1,0 对于每一个点x,建边s->x,1,0 x’->t,1,0 x->x’,1,1 x->x’,1,0.对于每一条边(x,y),建边x’->y,2,0.

2017-12-25 20:11:12 308

原创 bzoj3280 小R的烦恼(费用流,类似餐巾计划)

把每一天拆成两个点,像餐巾计划那题一样的建图,跑最小费用流就可以了。

2017-12-25 14:02:16 283

原创 bzoj3275 Number(最大点权独立集)

显然是求个最大点权独立集。数学一下,肯定是一奇一偶才能凑成合法。所以可以根据奇偶二分染色。然后就是套路了。传送门

2017-12-25 12:59:35 300

原创 bzoj2768 [JLOI2010]冠军调查(最小割,和bzoj1934一模一样)

bzoj2768 [JLOI2010]冠军调查(最小割,和bzoj1934一模一样) 传送门:http://blog.csdn.net/icefox_zhx/article/details/78888901

2017-12-25 11:27:42 314

原创 bzoj1391 [Ceoi2008]order(最小割)

思想类似最大权闭合图,但不是很一样。源向所有工作建边,容量为获利,所有机器向汇建边,容量为价格,所有工作向所需机器建边,容量为租金。正权和-最小割就是答案。正确性比较显然。

2017-12-25 11:13:09 398

原创 bzoj2127 happiness(最小割)

这题好神啊orz。 hzw题解传送门:http://hzwer.com/2422.html利用最小割考虑。对于原图中所有相邻的两个人A,B,我们建边:s->A:cost[A文]+c[文][A][B]/2,s->B:cost[B文]+c[文][A][B]/2;A->t:cost[A理]+c[理][A][B]/2,B->t:costB[理]+c[理][A][B]/2;A<–>B:c[文][A][B]/

2017-12-25 10:16:49 263

原创 bzoj2132 圈地计划(最小割)

首先假设我们把所有收益都吃了x。然后删掉最少的收益使得方案合法。 二分图染色,黑点向T建边,容量为a,s向黑点建边,容量为b,白点向T建边,容量为b,s向白点建边,容量为a,白点向相邻的黑点建双向边,容量为两点c之和。全部收益-最小割就是答案。因为这样的话你至少会删掉每个点的其中一种建筑,保证每个位置只建了一个。而且如果你使得相邻的两个位置建了相同的建筑,一定还会删掉他俩之间的边的贡献。

2017-12-25 09:07:12 284

原创 bzoj1934 [Shoi2007]Vote 善意的投票(最小割)

s向1的点建边,容量为1,0的点向T建边,容量为1,对于所有朋友关系:如果原来意见相同,就建双向边,容量为1,否则建边由1指向0,容量为1。最小割就是答案。最后s集合都是1,T集合都是0.

2017-12-25 08:09:24 292

原创 bzoj1412 [ZJOI2009]狼和羊的故事(最小割)

显然就是要把狼和羊隔开,源向狼建边,容量为inf,羊向汇建边,容量为inf,保证他俩最后肯定被隔开。然后一个格子向四周建边,容量为1.最后最小割就是答案。

2017-12-24 21:46:04 378

原创 bzoj1497 [NOI2006]最大获利(最大权闭合图,最小割)

和loj6001一模一样,就是求一个最大权闭合图。做法:传送门

2017-12-24 21:21:18 255

原创 poj2455 Secret Milking Machine(二分答案+最大流)

二分答案,双向边网络流,反向边容量直接设为val即可。可以选择的边容量为1,跑最大流,看是否满流(是否存在K条路径)。

2017-12-24 20:50:52 301

原创 poj2516 Minimum Cost(费用流)

每种商品都跑一遍最小费用流就好了。

2017-12-24 18:09:30 322

原创 poj2195 Going Home(费用流)

裸题。

2017-12-24 15:43:47 274

原创 poj1698 Alice’s Chance(最大流)

每一天一个点。

2017-12-24 15:34:43 255

原创 CF589F Gourmet and Banquet(二分答案+最大流)

二分答案,每个时间段一个点,每个菜一个点,连边跑最大流,看是否满流即可。

2017-12-24 14:50:25 331

原创 CF512C Fox And Dinner(数学+二分图+最大流)

%%%Elijahqi,秒题的神犇。 首先我们发现,如果两个数的和是质数,则一定是一奇一偶,所以环一定是偶环,我们可以根据奇偶性黑白染色,变成一张二分图。题目保证环的大小一定大于等于3,所以每个点的度一定是2。那么我们就可以直接建图跑最大流来判断是否可行了。S向白点建边,容量为2,黑点向T建边,容量为2,白点向能相邻的黑点建边,容量为1。看是否满流即可。

2017-12-23 23:07:41 371

原创 CF546E Soldier and Traveling(最大流)

把每个点拆成两个点跑最大流即可。注意a的和可能和 b的和不相同!

2017-12-23 22:51:56 473

原创 bzoj1026 [SCOI2009]windy数(数位dp)

dp[i][j]表示长度为i,最高位为j的windy数有多少个。则显然有 dp[i][j]=∑kdp[i−1][k]∗[abs(k−j)>=2]dp[i][j]=\sum\limits_{k} dp[i-1][k]*[abs(k-j)>=2]。 那么答案就是calc(b)-calc(a-1)。 如何计算1~x的windy数呢? 假设x有n位,从低到高第i位为a[i]。 则首先所有长度为1~

2017-12-22 23:00:36 196

原创 bzoj5017 [Snoi2017]炸弹(tarjan缩点+拓扑序dp+线段合并+线段树优化建图)

首先我们可以发现每个点能引爆的炸弹是一个连续的区间。相邻的点能引爆的区间肯定不会相离。每个点向他能引爆的点连边,建出一张有向图,Tarjan缩点(一个scc内的点都可以互达,合并他们能到达的区间即可),然后拓扑序倒序dp即可。转移相当于线段合并。每个点记录他最后能引爆的区间,答案就是区间大小。 可是我们最坏情况有O(n2)O(n^2)条边,无论是时间上还是空间上都是无法接受的。还好我们每个点能连向

2017-12-22 22:07:41 833

原创 bzoj1013 [JSOI2008]球形空间产生器(高斯消元)

第一道高斯消元。嗯。特判啥的还都没写。待改进。 题意比较简单,n+1个点,可以列出n个方程,所以就是要解一个线性方程组。我们用高斯消元来解。首先线性方程组可以表示成A.X=C的形式,其中A为系数矩阵,X为未知数矩阵(一个列向量),C为常数矩阵。现在我们已知A和C,求解X。大概就是加减消元的思想。时间复杂度O(n3)O(n^3). 讲解:https://www.cnblogs.com/candy9

2017-12-22 14:18:12 266

原创 bzoj4213 贪吃蛇(二分图染色+有源汇有上下界最小费用流)

hzwer这篇题解写的已经很不错了:传送门 首先二分图染色,我们发现对于环形蛇,每个点都连接了两个点。对于非环形蛇,除了头尾两个点以外,每个点也都连了两个点。于是乎,我们就是要把空点都连接上两个点。所以源向所有白点连边,容量为(2,2),所有黑点向汇连边,容量为(2,2)。所有白点可以连接他周围的黑点,所以所有白点向四周的黑点建边,容量为(0,1)。这些边都没有花费。然后我们允许边界上的点只连接一

2017-12-22 11:14:56 591

原创 bzoj2055 80人环游世界(有源汇有上下界最小费用流)

当且仅当,所以拆点,容量上下界相等。把源也拆了,容量为[0,m],表示最多m个人,源向所有第一层的点连边,表示每个人可以从任意城市开始,所有第二层的点向汇连边,表示可以在任意城市结束旅行。然后对于所有航线建边,有费用。跑有源汇上下界最小费用流即可。方法见:传送门

2017-12-22 09:47:59 357

原创 bzoj3698 XWW的难题(有源汇有上下界最大流)

建图类似poj2396。告诉你每行每列的和,于是我们这样建图:每行是一个点,源向他连边,每列是一个点,他向汇连边,对于a[i][j],建图i->j+n,容量为(下取整,上取整)。要注意如果原来就是整数,则上下界相同。有源汇上下界最大流做法见:传送门

2017-12-22 09:42:18 753

zjoi2015.zip

浙江省选 2015 zjoi 数据 题目zjoi2015.zip 2015浙江省省赛数据。

2018-02-23

国家集训队2004论文集

国家集训队 论文集 2004 OI。

2017-08-05

2013国家集训队清华集训

2013国家集训队清华集训资料。

2017-07-30

空空如也

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

TA关注的人

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