bzoj1930】的更多相关文章

[BZOJ1930][Shoi2003]pacman 吃豆豆 Description 两个PACMAN吃豆豆.一开始的时候,PACMAN都在坐标原点的左下方,豆豆都在右上方.PACMAN走到豆豆处就会吃掉它.PACMAN行走的路线很奇怪,只能向右走或者向上走,他们行走的路线不可以相交. 请你帮这两个PACMAN计算一下,他们俩加起来最多能吃掉多少豆豆. Input 第一行为一个整数N,表示豆豆的数目. 接下来 N 行,每行一对正整数,表示第i个豆豆的坐标.任意两个豆豆的坐标都不会重合. Outp…
 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]>y[j]那么(i,k)这条边就没有必要存在了.因为先取(i,j)在去(j,k)会比直接取(i,k)要好. 代码 #include<cstdio> #include<algorith…
一开始我觉得这不是一个弱弱的费用流吗? 每个豆豆拆点,入点出点随便连连 由于肯定是DAG图,边权为正的最大费用肯定能增广出来 于是我们只要跑总流量为2的最大费用最大流不就行了吗 但是 这样会TLE,因为会出现稠密图,spfa跑稠密图太慢 既然这样,能不能换一个找增广路的方法呢? 最大路径更快的方法就是DAG图的拓扑排序+dp 但好像无法处理反向弧导致带来的环啊 那既然这样,反正总流量很小, 我们可以用DAG解决最大路径特有的dp找第一条增广路(因为这时候是肯定的DAG),跑出一个较大费用 然后再…
初见杀…… 原题: 两个PACMAN吃豆豆.一开始的时候,PACMAN都在坐标原点的左下方,豆豆都在右上方.PACMAN走到豆豆处就会吃掉它.PACMAN行走的路线很奇怪,只能向右走或者向上走,他们行走的路线不可以相交. 请你帮这两个PACMAN计算一下,他们俩加起来最多能吃掉多少豆豆. N < = 2000 一眼秒掉,拆点费用流 然后发现内存64M???减少边的数组,提交,RE…… 看chty的题解,更换建图方式,减少边数,提交,WA…… 然后我的上午没了 解题思路很简单,拆点费用流即可,关键…
counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZOJ1084 BZOJ1295 BZOJ3109 BZOJ1085 BZOJ1041 BZOJ1087 BZOJ3038 BZOJ1821 BZOJ1076 BZOJ2321 BZOJ1934 BZOJ…
沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道就行了. BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZOJ1084 B…