Description 两个PACMAN吃豆豆。一开始的时候,PACMAN都在坐标原点的左下方,豆豆都在右上方。PACMAN走到豆豆处就会吃掉它。PACMAN行走的路线很奇怪,只能向右走或者向上走,他们行走的路线不可以相交。 请你帮这两个PACMAN计算一下,他们俩加起来最多能吃掉多少豆豆。 Inp ...
分类:
其他好文 时间:
2018-04-15 22:52:37
阅读次数:
185
初见杀…… 原题: 两个PACMAN吃豆豆。一开始的时候,PACMAN都在坐标原点的左下方,豆豆都在右上方。PACMAN走到豆豆处就会吃掉它。PACMAN行走的路线很奇怪,只能向右走或者向上走,他们行走的路线不可以相交。 请你帮这两个PACMAN计算一下,他们俩加起来最多能吃掉多少豆豆。 N < = ...
分类:
其他好文 时间:
2017-03-09 13:45:14
阅读次数:
237
一开始想DP做法。。发现不会QAQ 暴力费用流挺好想的。。就是拆点限制经过次数,然后每个点的出点往能到达的点的入点连边。。跑个最大费用最大流。 但显然边数能达到n^2。。显而易见的优化就是,如果存在路径点a->b->c,那么a就没必要连往c了。(虽然优化完极限情况下边数也差不多是n^2了。。。) 但 ...
分类:
其他好文 时间:
2016-07-04 22:13:31
阅读次数:
204
dp,首先建出图,f[i][j]表示a吃到了i点,b吃到了j点的最大值,转移的时候转移拓扑序小的那一维,如果i拓扑序小于j,那么转移到f[k][j],否则转移到f[i][k],建出的图边数也要优化,不然会超时。优化的方法是假如i,j连边,那么如果有一条边(i,k),x[k]>x[j]并且y[k].....
分类:
其他好文 时间:
2015-10-08 13:09:58
阅读次数:
187
SHOI出过这么鬼的题?、、跪首先我们可以想到费用网络流,找一个流量为2的最大费用流即可,问题是怎么建图因为针对点才有收益,而且收益只有一次,所以考虑拆点,不妨设一个点p拆成入点p1和出点p2则p1 -> p2连边流量为1,费用为1;再连边流量为1,费用为0;S向p1连边流量为1,费用为0;p2向T...
分类:
其他好文 时间:
2015-02-22 23:05:38
阅读次数:
195
题目大意:给定一个平面上的一些点,吃豆先生从原点出发,只能向右或向上走,求两个吃豆先生最多吃到多少豆
每个点拆成两个,之间连一条流量为1,费用为1的边;
如果从一个点出发可以到达另一个点,就将前一个点的出点连向后一个点的入点
跑费用流。但是这样显然是会TLE的
如果i能到j,j能到k,那么显然无需连i->k这条边 这是一个剪枝
加了这个剪枝之后可能会WA 因此还要考虑一个点经过多次的情况...
分类:
其他好文 时间:
2015-01-06 10:09:51
阅读次数:
169
题目大意:在二维平面上有若干个点,求出两条不相交的二维LIS,使得上面包含的点的数目最多。
思路1:暴力建图
注意到不相交这个条件根本没用,画图可以发现如果相交的话,我们总可以通过交换一些点使得两个序列不相交。
那么问题转化为求出两个没有公共点的上升子序列,使得长度之和最大。
对于这种情况我们利用最大费用流求解。
设(a,b)分别表示一条有向边的流量和费用。
S->S' (2,...
分类:
其他好文 时间:
2014-10-29 13:04:49
阅读次数:
265