原文地址:http://www.cnblogs.com/GXZlegend/p/6808268.html 题目描述 输入 输出 仅包含一个整数,表示可以获得的最大能源收入.注意,你也可以选择不进行任何攻击,这样能源收入为0. 样例输入 3 2 10 0 20 0 -10 0 -5 1 0 0 100 1 2 1 100 0 样例输出 25 题解 拓扑排序+最大权闭合图 一个坑点卡了半年.. 由题目描述易知如果某些植物保护关系成了环,那它们都不能吃掉.所以若A能保护B,则A向B连边,再用拓扑排序判…
图中的保护关系就类似于最大权闭合子图.即你想杀x,你就一定要杀掉保护x的点,那么把x向保护它的点连边.那么题目就转化成了最大权闭合子图的问题. 但是这个图有点特殊啊... 考虑有环的情况,显然这个环以及指向这个环的点都不能选. 所以还要把这个图的反图进行一遍拓扑排序,这样忽略掉了这些点了... # include <cstdio> # include <cstring> # include <cstdlib> # include <iostream> # i…
1565: [NOI2009]植物大战僵尸 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1972  Solved: 917[Submit][Status][Discuss] Description Input Output 仅包含一个整数,表示可以获得的最大能源收入.注意,你也可以选择不进行任何攻击,这样能源收入为0. Sample Input 3 2 10 0 20 0 -10 0 -5 1 0 0 100 1 2 1 100 0 Sample…
题意:N*M的矩阵 每个点上都有一颗植物 僵尸只能从每一行的最右边向左进攻 每个植物有攻击范围 可以保护在攻击范围内的植物 同时每一颗植物也保护他左边的植物 摧毁每个植物能获得价值 如果这个植物被保护着就无法摧毁 求最大收益 题解:看了题解说 一个物品被若干物品保护着 要摧毁它必须先摧毁保护它的东西这种模型 反向建边就是有向图中的闭合子图这个模型 求闭合子图的最大权十分套路 把所有正权和源点连容量为权值大小的边 把负权点和汇点连容量为权值的绝对值大小的边 权值等于0的点连谁都不影响 然后不同点之…
一上来以为是裸的最大权闭合子图,上来就dinic -然后没过样例.不得不说样例还是非常良心的给了一个强连通分量,要不然就WA的生活不能自理了 然后注意到有一种特殊情况:每个植物向他保护的植物连边(包括被其挡在后面的),当植物的保护范围连成一个强连通分量时,这个强连通分量上的植物以及从这个强连通分量连出去的植物,都不会在任何情况下被攻击 如下图: 12345所形成的强连通分量不会被攻击,所以它所延伸出来的植物也不会被攻击,即图上所有点都不会被攻击 对于这种情况,用tarjan缩点,对于每个缩后的点…
b2OJ_1565_[NOI2009]植物大战僵尸_拓扑排序+最大权闭合子 题意:n*m个植物,每个植物有分数(可正可负),和能保护植物的位置.只能从右往左吃,并且不能吃正被保护着的,可以一个不吃,求获得的最大分数. 分析:把每个植物向能保护它的植物连边.源点连正权点,负权点连汇点. 考虑在一个环上的植物是吃不到的,我们可以用拓扑排序确定哪些是能吃的. 然后求一遍最大权闭合子图就是答案. 代码: #include <stdio.h> #include <string.h> #inc…
bzoj1565: [NOI2009]植物大战僵尸 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1565 思路 很容易的想到最大权闭合子图 但这个图是有环的 有环的地方当然是都过不去的地方 显然他所保护的地方也是过不去的 他保护的地方的保护的地方也是过不去的 等等 还有这个这一行的[1,i]也是过不去的 tarjan之后递归判一下就行了 错误 好菜欧,调试了半天 其实我一开始以为环上就有了他所保护的地方 改了之后又没想到他保护的地方的保…
题目 Source http://www.lydsy.com/JudgeOnline/problem.php?id=1565 Description Input Output 仅包含一个整数,表示可以获得的最大能源收入.注意,你也可以选择不进行任何攻击,这样能源收入为0. Sample Input 3 2 10 0 20 0 -10 0 -5 1 0 0 100 1 2 1 100 0 Sample Output 25 分析 题目大概说n*m的格子上有植物,僵尸从某行最右边开始进攻,消除各个植物…
题目描述 Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies对Plants发起进攻. 现在,我们将要考虑的问题是游戏中Zombies对Plants的进攻,请注意,本题中…
植物大战僵尸 bzoj1565 题目大意:给你一张网格图,上面种着一些植物.你从网格的最右侧开始进攻.每个植物可以对僵尸提供能量或者消耗僵尸的能量.每个植物可以保护一个特定网格内的植物,如果一个植物被保护,那么如果僵尸想吃掉该植物就必须先吃掉保护它的植物.问:僵尸最多能获得多少能量. 注释:1<=N(网格的宽)<=20,1<=M(网格的长)<=30,-20,000<=代价和收益<=20,000. 想法:前置题目([NOI2006]最大获利).这道题和最大获利比较相像,如…