费用流
文章平均质量分 51
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 4977: 跳伞求生 线段树模拟费用流
题意小Q最近沉迷于《跳伞求生》游戏。他组建了一支由n名玩家(包括他自己)组成的战队,编号依次为1到n。这个游戏中,每局游戏开始时,所有玩家都会从飞机上跳伞,选择一个目的地降落,跳伞和降落的时间有早有晚。在某局游戏降落前,他们在空中观察发现地面上一共有m间房子,编号依次为1到m。其中每间房子恰好有一名敌人早于他们到达。小Q战队的第i名玩家拥有aia_i发子弹,地面上第i间房子里的敌人拥有bib_i发子原创 2017-08-22 07:40:28 · 1234 阅读 · 0 评论 -
bzoj 3197: [Sdoi2013]assassin 树哈希+树形dp+费用流
题意给定一棵树和两组权值,求第一组权值最少改变多少个之后这棵树经过重标号之后与第二组权值相同。 n<=700分析我们可以按照3162的套路来搞,以树的重心作为根。而如果有两个重心的话就新建一个节点作为根。 设f[x,y]表示以x为根的子树最少需要需要多少步操作使得其与y为根的子树权值相同,且满足x的子树与y的子树是重构的。 因为树x与树y是重构的,所以它们的所有子树的形态也都是一样的。那么我们原创 2017-10-07 16:56:46 · 386 阅读 · 0 评论 -
bzoj 3171: [Tjoi2013]循环格 费用流
题意一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子。每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0)。给定一个起始位置(r,c) ,你可以沿着箭头防线在格子间行走。即如果(r,c)是一个左箭头,那么走到(r,c-1);如果是右箭头那么走到(r,c+1);如果是上箭头那么走到(r-1,c);如果是下箭头那么走到(r+1,c);每一行和每一列都是循环的,即如果走出边界,你会出原创 2017-10-20 20:43:44 · 243 阅读 · 0 评论 -
BZOJ 2597: [Wc2007]剪刀石头布 费用流
题意给你一个竞赛图,有的边还没被定向。要你求一种定向方案,使得简单三元环的数量最多。 n<=100分析果然还是我太菜。。。注意到任选三个点,若不能组成三元环,则必然有一个点的出边数量位2,所以简单三元环的数量即为C3n−∑ni=1C2degree[x]C_n^3-\sum_{i=1}^nC_{degree[x]}^2 考虑转化成费用流模型: 把每条边看做一个点。 s往每个点连流量为1,费用为原创 2017-10-12 19:15:19 · 339 阅读 · 0 评论 -
51nod 1338 找格子 费用流
题意两个人玩一个游戏。一开始,A从一个100000*100000的网格中挑选出N个格子出来,这些格子都有二维坐标(xi,yi)且这些坐标两两不同,这个过程B并不在场,所以B并不知道有哪些格子。然后,A将这些坐标的x坐标值放入一个多重集X中,同时将它们的y坐标值放在另一个多重集Y中,例如A选的格子为{(1,2),(1,10),(10,2)},那么X={1,1,10},Y={2,2,10}。接下来,A将原创 2017-12-21 20:39:45 · 322 阅读 · 0 评论 -
bzoj3638/3272 Cf172 k-Maximum Subsequence Sum 线段树模拟费用流
题意给一列数,要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段,最大的和是多少。 1 ≤ n,m ≤ 105分析考虑费用流建模,就是每次找和最大的子段取反。用线段树模拟增广过程即可。 由于是第一次打,便去学习了一波黄学长的程序。代码#include<iostream>#include<cstdio>#include<cstdlib>#inc原创 2017-12-16 17:03:53 · 315 阅读 · 0 评论 -
Codeforces 884F Anti-Palindromize 费用流
题意定义“反回文串”为一个字符串S[1..|S|]S[1..|S|]S[1..|S|],对于任意1<=i<=|S|1<=i<=|S|1S[i]≠S[|S|−i+1]S[i]≠S[|S|−i+1]S[i]\not=S[|S|-i+1]。 现在给定长度为偶数的字符串SSS,你需要吧SSS的字符顺序打乱得到字符串TTT,满足它是反回文串,并且最大化其价值。 价值定义为:所...原创 2018-03-14 20:10:30 · 327 阅读 · 0 评论 -
bzoj 5154: [Tjoi2014]匹配 费用流+最短路
题意有N个单身的男孩和N个单身女孩,男孩i和女孩j在一起得到的幸福值为Hij。一个匹配即对这N个男孩女孩的安排:每个男孩恰好有一个女朋友,每个女孩恰好有一个男朋友。一个匹配的幸福值即这N对男女朋友的幸福值的和。经典的问题是计算幸福值最大的匹配,即完美匹配。然而完美匹配有时候并不唯一,你需要计算,对于所有的完美匹配,其交集是什么。 N ≤ 80分析先找到某个最大权匹配,然后枚举每条...原创 2018-03-26 10:22:36 · 186 阅读 · 0 评论 -
Codeforces 717G Underfail 费用流
题意有一个母串s和若干个字符串ai,每个字符串有一个权值wi,若某个ai在s的某个位置[l,r]中出现,则可以用ai把[l,r]覆盖一次,并得到权值wi。每个位置只能被覆盖不超过x次,问最大权值。 n<=500分析注意到最优答案一定可以被分成不超过x层,那么新建s和t,s向1连流量为x费用为0的边,1向2连流量为x费用为0的边,如此类推,然后n向t连费用为0的边。若ai在位...原创 2018-05-11 23:37:58 · 373 阅读 · 0 评论 -
LibreOJ #2321.「清华集训 2017」无限之环 费用流
题意有一个n*m的矩阵,每个格子有些方向上会有接口。设把格子顺时针或逆时针旋转90度的代价为1,且所有格子恰好在相反两端的格子不能旋转,现在要求所有的接口一一配对,问最小代价。 n∗m≤2000n∗m≤2000n*m\le2000分析挺妙的建图。 首先把矩阵黑白染色,然后每个点拆成四个点,分别表示四个位置,源点向所有白点的接口连边,所有黑点的接口向汇点连边。所有相邻格子的对应位...原创 2018-06-21 17:52:09 · 302 阅读 · 0 评论 -
bzoj 4842: [Neerc2016]Delight for a Cat 费用流
题意有n个时刻,每个时刻可以打游戏或跟妹子聊天。如果时刻i选择打游戏的话收获的愉悦值是a[i],否则是b[i]。且对于每段连续的k个时刻,都要满足至少t1个时刻在打游戏,t2个时刻在跟妹子聊天。问最多能获得多少愉悦值。 n≤1000n≤1000n\le1000分析我们先强制每个时刻都在跟妹子聊天,那么打游戏的愉悦值就变成了a[i]-b[i],且每k个连续的时刻,打游戏的时刻数量必...原创 2018-07-08 15:05:11 · 428 阅读 · 0 评论 -
bzoj 2424: [HAOI2010]订货 费用流
题意某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为零,问如何安排这n个月订购计划,才能使成本最低?每月月初订购,订购后产品立即到货,进库并供应市场,于当月被售掉则不必付存贮费。假设仓库容量为S。 n<=50分析看的第一眼以为是dp,发现好像未必满足单调性,优化不懂。查了原创 2017-07-28 15:51:46 · 313 阅读 · 0 评论 -
bzoj 4849: [Neerc2016]Mole Tunnels 模拟费用流
题意鼹鼠们在底下开凿了n个洞,由n-1条隧道连接,对于任意的i>1,第i个洞都会和第i/2(取下整)个洞间有一条隧 道,第i个洞内还有ci个食物能供最多ci只鼹鼠吃。一共有m只鼹鼠,第i只鼹鼠住在第pi个洞内,一天早晨,前k只 鼹鼠醒来了,而后n-k只鼹鼠均在睡觉,前k只鼹鼠就开始觅食,最终他们都会到达某一个洞,使得所有洞的ci均大 于等于该洞内醒着的鼹鼠个数,而且要求鼹鼠行动路径总长度最小。原创 2017-08-02 22:07:04 · 664 阅读 · 0 评论 -
bzoj 2879: [Noi2012]美食节 费用流+动态加边
题意:有n种菜和m个厨师,第i种菜有sum[i]个,每种菜给每个厨师做有一个花费时间a[i,j],每个厨师一次只能做一道菜。每道菜的等待时间为这道菜完成的时间。求最小的等待时间之和。分析:一个费用流的经典模型,对于这种问题,我们可以认为,对于一个厨师,最后一个道菜完成的时间,只有他一个在等待,总答案贡献为 Time*1,倒数第二道菜为 Time*2,一次类推,于是我们可以建立出一张费用原创 2016-08-19 21:49:48 · 774 阅读 · 0 评论 -
bzoj 1070: [SCOI2007]修车 zkw费用流模板
Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。Input 第一行有两个m,n,表示技术人员数与顾客数。 接下来n行,原创 2016-09-29 19:23:15 · 855 阅读 · 0 评论 -
bzoj 1834: [ZJOI2010]network 网络扩容 网络流+费用流
题目传送门分析第一问随便搞搞就好了。第二问要在跑完最大流之后的残余网络上建图。其实一开始也想到了跟正解很类似的方法,只是空间比正解大一点而已(貌似常数也比正解大一丢丢)但是费用流打错了,然后就以为这个方法是错的,然后就去看了题解……正解其实就是在残余网络上继续加边,从s到1连一条流量为k费用为0的边,从n到t连一条流量为k费用为0的边,然后在每条边之间连一条流量为k费用为w的边,再跑一边费用流就好了原创 2016-10-21 18:03:30 · 322 阅读 · 0 评论 -
bzoj 4514: [Sdoi2016]数字配对 费用流
题意有 n 种数字,第 i 种数字是 ai、有 bi 个,权值是 ci。 若两个数字 ai、aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci×cj 的价值。 一个数字只能参与一次配对,可以不参与配对。 在获得的价值总和不小于 0 的前提下,求最多进行多少次配对。 n≤200,ai≤10^9,bi≤10^5,∣ci∣≤10^5分析设f(原创 2017-03-23 21:53:12 · 673 阅读 · 0 评论 -
bzoj 4819: [Sdoi2017]新生舞会 二分答案+费用流
题意有n对男女要配对,每对不同的男女会产生两个不同的权值a和b,求一种搭配方案使得(a’1+a’2+…+a’n)/(b’1+b’2+…+b’n)最大。 n<=100分析二分答案,设其为ans,则必然所有的(a’1+a’2+…+a’n)/(b’1+b’2+…+b’n)<=ans都满足,化简一下可以得到(a1-ans*b1)+(a2-ans*b2)+…+(an-ans*bn)<=0 那么将二分图每条原创 2017-04-11 19:45:52 · 1073 阅读 · 0 评论 -
bzoj 3308: 九月的咖啡店 费用流
题意深绘里在九份开了一家咖啡让,如何调配咖啡民了她每天的头等大事我们假设她有N种原料,第i种原料编号为i,调配一杯咖啡则需要在这里若干种兑在一起。不过有些原料不能同时在一杯中,如果两个编号为i,j的原料,当且仅当i与j互质时,才能兑在同一杯中。现在想知道,如果用这N种原料来调同一杯咖啡,使用的原料编号之和最大可为多少。 n<=200000分析有个很不那么显然的结论就是,如果一个数出现了,那么其最多原创 2017-06-04 20:21:12 · 340 阅读 · 0 评论 -
bzoj 4276: [ONTAK2015]Bajtman i Okrągły Robin 线段树优化建图+费用流
题意有n个强盗,其中第i个强盗会在[a[i],a[i]+1],[a[i]+1,a[i]+2],…,[b[i]-1,b[i]]这么多段长度为1时间中选出一个时间进行抢劫,并计划抢走c[i]元。作为保安,你在每一段长度为1的时间内最多只能制止一个强盗,那么你最多可以挽回多少损失呢? n<=5000,ai,bi<=5000分析每个小偷往线段树对应区间上连边然后费用流就好了。代码#include<iost原创 2017-06-17 12:03:21 · 492 阅读 · 0 评论 -
bzoj 1283: 序列 费用流
题意给出一个长度为 的正整数序列Ci,求一个子序列,使得原序列中任意长度为 的子串中被选出的元素不超过K(K,M<=100) 个,并且选出的元素之和最大。 N<=1000,k,m<=100。Ci<=20000。分析之前碰到有一题跟这题是一样的,但数据范围小了,于是随便搞个单纯形就水过去了。。。这题的话,我们可以考虑分k次来取数,每次在每个长度为m的子串内最多取一个数,那么显然最后取出来的一定是最优原创 2017-06-20 20:52:53 · 448 阅读 · 0 评论 -
bzoj 2324: [ZJOI2011]营救皮卡丘 费用流,最小路径覆盖DAG
题意:给一个无向图,一开始有k个人在0点。在经过编号小的点之前不能经过编号更大的点,问最少走多少路才能使得至少有1人到达n点。n分析:一开始想的是动态加边和点,然后发现这样子会挂。其实可以先预处理出f[i,j]表示i走到j且不经过编号大于max(i,j)的点的最短路径。那么这样就变成了一个DAG。现在要求的是要用不超过不相交k条路径覆盖这个DAG且权值和最小。原创 2017-07-09 15:43:02 · 302 阅读 · 0 评论 -
UOJ #455.【UER #8】雪灾与外卖 堆模拟费用流
题意有n个人和m家商店,每个人都要买一道菜。第i个人的坐标是a[i],第j家商店的坐标是y[i],有c[i]道菜且每道菜价格为w[i],每个人还要花费其到商店距离的路费,问最小花费。n,m≤105,a[i],y[i],c[i],w[i]≤109n,m\le10^5,a[i],y[i],c[i],w[i]\le10^9n,m≤105,a[i],y[i],c[i],w[i]≤109分析显然可以...原创 2019-02-07 15:45:39 · 426 阅读 · 3 评论