bzoj 3232: 圈地游戏】的更多相关文章

bzoj 3232: 圈地游戏 01分数规划,就是你要最大化\(\frac{\sum A}{\sum B}\),就二分这个值,\(\frac{\sum A}{\sum B} \geq mid\) \(\sum A-mid\sum B \geq 0\) 然后把所有的B中的权值乘一个mid再跑一个什么算法就星了 这就是道裸题(雾) 二分一个\(mid\),就是一个网络流问题了 选一个点的集合,如果两个方格相邻,一个选了一个没选,总和就要减去中间这条边的权值 然后用最小鸽,如果选就没有损失,不选有格子…
3232: 圈地游戏 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 966  Solved: 466[Submit][Status][Discuss] Description DZY家的后院有一块地,由N行M列的方格组成,格子内种的菜有一定的价值,并且每一条单位长度的格线有一定的费用. DZY喜欢在地里散步.他总是从任意一个格点出发,沿着格线行走直到回到出发点,且在行走途中不允许与已走过的路线有任何相交或触碰(出发点除外).记这条封闭路线内部的格…
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=3232 题解: 首先我们看到这道题让我们最优化一个分式. 所以我们应该自然而然地想到01分数规划 首先我们考虑如何恰当地计算所有在封闭多边形内部的权值 我们可以首先假定DZY一定沿着逆时针走,然后我们发现: 我们可以对所有向右,向上的边的\(a\)值都设为在这条边的左侧的同行的价值和. \(b\)值即为经过这条边的花费 剩下的两条边对应着这两条边将价值取反即可. 我们发现把路线上所有边的…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3232 当然是0/1分数规划.但加的东西和减的东西不在一起,怎么办? 考虑把它们合在一起.因为边围成的形状像一个环,所以把格子的贡献也放到边上,然后正常判环. 放到边上的方法就是:比如竖着的边,可以在每一行上维护该行格子值前缀和,然后指定那个围成的形状是,比如,逆时针的,那么向上的边就加上到它为止的前缀值,向下的边就减去到它为止的前缀值,然后就能判环了! 这样一定只有一个环.但多个环答案不会…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3232 心烦意乱的时候调这道题真是...越调越气,就这样过了一晚上... 今天再认真看看,找出几处小错,就A了... 关于题解:https://www.cnblogs.com/CQzhangyu/p/6790404.html 关于最大权闭合子图:http://www.cnblogs.com/wuyiqi/archive/2012/03/12/2391960.html 对于这道题,首先,可以0…
数组开小导致TTTTTLE-- 是分数规划,设sm为所有格子价值和,二分出mid之后,用最小割来判断,也就是判断sm-dinic()>=0 这个最小割比较像最大权闭合子图,建图是s像所有点连流量为格子价值的边(相当于最大权闭合子图中的正权点),然后考虑边缘,两个相邻的格子,如果一个选一个不选那么中间这条边就有负的贡献,所以两个相邻的格子之间连两条边权为mid*边权的边,注意是两条,要互相连一下,然后所有边界上的点像t连边权为mid*边界边权的边,相当于假装外面还有一层点全标为t,然后跑最小割判断…
题解: 神题一道... 题解戳这里:http://hi.baidu.com/strongoier/item/0425f0e5814e010265db0095 分数规划可以看这里:http://blog.csdn.net/hhaile/article/details/8883652 无限orzzzzz 代码:实数网络流真蛋疼... #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring&…
[BZOJ3232]圈地游戏(分数规划,网络流) 题面 BZOJ 题解 很神仙的一道题. 首先看到最大化的比值很容易想到分数规划.现在考虑分数规划之后怎么计算贡献. 首先每条边的贡献就变成了\(mid*C\),这个显然啊.考虑一个封闭图形如何计算答案. 发现被计算入答案的边一定是一侧有一个格子被圈进去了,另外一侧的格子没有被圈进去.那么这很像一个最小割.假设格子和源点相连表示被选进了答案,和汇点相连表示在答案以外.那么很明显把一条边两侧的格子给连起来,流量为\(mid*C\).怎么越来越像一个最…
目录 题目链接 题解 代码 题目链接 bzoj 3991: [SDOI2015]寻宝游戏 题解 发现每次答案就是把虚树上的路径*2 接在同一关键点上的点的dfs序是相邻的 那么用set动态维护dfs序列 每次删点加点就好了 代码 #include<set> #include<cstdio> #include<algorithm> #define gc getchar() #define pc putchar #define LL long long inline int…
[BZOJ3232]圈地游戏 Description DZY家的后院有一块地,由N行M列的方格组成,格子内种的菜有一定的价值,并且每一条单位长度的格线有一定的费用. DZY喜欢在地里散步.他总是从任意一个格点出发,沿着格线行走直到回到出发点,且在行走途中不允许与已走过的路线有任何相交或触碰(出发点除外).记这条封闭路线内部的格子总价值为V,路线上的费用总和为C,DZY想知道V/C的最大值是多少. Input 第一行为两个正整数n,m. 接下来n行,每行m个非负整数,表示对应格子的价值. 接下来n…