bzoj2132圈地计划】的更多相关文章

bzoj2132圈地计划 题意: 一块土地可以纵横划分为N×M块小区域.于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益.而如果区域(i,j)相邻(相邻是指两个格子有公共边)有K块(显然K不超过4)类型不同于(i,j)的区域,则这块区域能增加k×Cij收益.已知收益矩阵A,B,C,求收益最大值. 题解: 因为附加收益不是两两之间的,所以不用考虑除以2的问题.由于需要两块土地属性不同,所以对整个棋盘进行黑白染色.如果一块土地A为黑色,则s->A :c[A商] A->T…
2132: 圈地计划 题目:传送门 简要题意: 给出一个矩阵,一共n*m个点,并给出三个收益矩阵.A矩阵表示这个点建A的可取收益,B矩阵表示这个点建B的可取收益,C矩阵表示如果相邻(有且仅有一条公共边)的点和自己所建的建筑不一样,则可获得C[i][j]的收益,如果相邻的有k个点和自己不一样,则收益为k*C[i][j].求最大收益. 题解: 日常一模最小割%%%ORZ 本蒟蒻其实也看出是最小割什么的,但是怎么割啊... 可能有人会和我有一样的疑惑: 按照正常的割法建图:st到x连A收益,x到ed连…
要分成两坨对吧.. 所以显然最小割 但是不兹辞啊.. 最小割是最小的啊 求最大费用怎么玩啊 那咱们就把所有费用都加起来,减掉一个最小的呗 但是两个属于不同集合的点贡献的价值是负的啊 网络流怎么跑负的啊 那咱就交换一下呗 原图是二分图啊,把另一部分与S和T连边的流量换一下就好啦. 注意哦 n和m可能为1 所以累加C的时候写成ans += C[i][j] * (4 - (i == 1 || i == n) - (j == 1 || j == m));就错啦. 要么在加边的时候累加,要么写成ans +…
传送门 看来以后见到矩形就要黑白染色冷静一下了…… 首先,如果它的要求时候相邻的选择相同,那么就是和这一题一样了->这里 然后考虑不同的要怎么做 那就把矩形黑白染色一下吧 然后令其中一种颜色的A,B反过来,那么就和上面那道题一样了 //minamoto #include<iostream> #include<cstdio> #include<cstring> #include<queue> #define inf 0x3f3f3f3f #define…
题目 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解, 这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根 据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域, 建造商业区将得到Aij收益,建造工业区将得到Bij收益.另外不同的区域连在一起可以得到额外的收益,即如果区 域(I,j)相邻(…
[BZOJ2132]圈地计划(最小割) 题面 BZOJ 题解 对我而言,不可做!!! 所以我膜烂了ZSY大佬 他的博客写了怎么做... 这,,...太强啦!! 完全想不到黑白染色之后反着连边 然后强行把同侧转化成异侧求最小割... #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm…
[BZOJ2132]圈地计划 Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益.另外不同的区域连在一起可以得…
网络流/最小割 Orz Hzwer 这类大概是最小割建模中的经典应用吧…… 黑白染色,然后反转黑色的技巧感觉很巧妙!这个转化太神奇了…… /************************************************************** Problem: 2132 User: Tunix Language: C++ Result: Accepted Time:0 ms Memory:6252 kb ***********************************…
圈地计划 Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益.另外不同的区域连在一起可以得到额外的收益,即如果…
题目描述 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益.另外不同的区域连在一起可以得到额外的收益,即如果区域(I,j)相邻(相邻…
题面 思路: 一开始以为和为了博多一样,两边连一样的,后来发现中间连负边的话根本不会割,即割断两块收益为负,所以WA的起飞…… 正解是先黑白染色,每个点和它周围的点连边方式不同.对于黑点A,S-->A表示商业区的价值,A-->T表示工业区的价值,白点相反,对于相邻的情况,边权表示相邻的价值和,这样割断相当于选择同一用途,代价为正. #include <map> #include <set> #include <cmath> #include <queu…
两种版本的题面 Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益.另外不同的区域连在一起可以得到额外的收益,…
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2132 题意:n*m的格子染色黑白,对于格子(i,j)染黑色则价值为A[i][j],白色为B[i][j].若一个格子四周不同颜色的有x个,则额外的价值为x*C[i][j].求最大价值. 思路:将格子黑白染色分成两个集合X和Y.S集合为X中的A和Y中的B,T为X中的B和Y中的A.相邻的连边为两个格子的C值之和.总权值减去最小割即是答案. struct node { int v,cap,ne…
#include<cstdio> #include<iostream> #include<cstring> #define M 100009 #define inf 2139062143 using namespace std; ][],b[][],c[][],tot,cnt=,T,ans,head[M],d[M],q[*M],next[*M],u[*M],v[*M]; ]={,,,-},yy[]={,-,,}; bool bfs() { memset(d,,)); ,…
Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益.另外不同的区域连在一起可以得到额外的收益,即如果区域(I,…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2132 [题意] 给定n*m个区域,建工业区价值A,建商业区价值B,如果(i,j)有k个相邻区域与之所建不同则价值为k*C,求最大获益. [思路] 首先将图黑白染色,使(i+j)&1的为白点X,其他为黑点Y,满足白/黑点集之内无相邻关系. 对于白点,连边(S,X,A)(X,T,B) 对于黑点,连边(S,Y,B)(X,Y,A) 两相邻黑白点之间连无向边(CA+CB) 表示A格C与B格C之…
类似于happiness的一道题,容易想到最小割的做法. 但是不同的是那一道题是相邻的如果相同则有收益,这题是相邻的不同才有收益. 转化到建图上面时,会发现,两个相邻的点连的边容量会是负数.. 有一种转化的办法,把图进行黑白染色后,把白点的S-T倒转过来,这样就转化成了happiness那道题了... # include <cstdio> # include <cstring> # include <cstdlib> # include <iostream>…
题目 最近房地产商 GDOI (Group of Dumbbells Or Idiots) 从 NOI (Nuts Old Idiots) 手中得到了一块开发土地. 据了解,这块土地是一块矩形的区域,可以纵横划分为 \(N\times M\) 块小区域.GDOI 要求将这些区域分为商业区和工业区来开发. 根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第 \(i\) 行第 \(j\) 列的区域,建造商业区将得到 \(A_{ij}\) 收益,建造工业区将得到 \…
对于网格图,尤其是这种要求相邻各自不同的,考虑黑白染色 对于这张染色后图来说: 对于每个黑格: 表示初始时选择商业区: s点向它连商业区收益的流量,它向t点连工业区收益的流量: 割断S侧的边说明反悔,则保留T侧边的边权(工业区),割断T侧的边说明维持原样,保留S侧边权(商业区) 对于每个白格: 表示初始时选择工业区: s点向它连工业区收益的流量,它向t点连商业区收益的流量: 割断S侧的边说明反悔,则保留T侧边的边权(商业区),割断T侧的边说明维持原样,保留S侧边权(工业区) 对于相邻格子: 相邻…
题2链接:https://www.luogu.org/problemnew/show/P1935 Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地.据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域.GDOI要求将这些区域分为商业区和工业区来开发.根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值.更具体点,对于第i行第j列的区域,建造商业区将得到…
题目大意: 有个\(n*m\)的网格图 每个点可以选择\(A\),获得\(A[i][j]\)或选\(B\)获得\(B[i][j]\)的收益 相邻点有\(k\)个不同可以获得\(C[i][j]\)的收益,求最大收益 类似与文理分科那题,不过这次是相邻不同有额外收益,需要稍微变形一下 我们把网格黑白染色 对于黑色点向\(S\)连\(A[i][j]\)边,向汇点连\(B[i][j]\)边 对于白色点向\(S\)连\(B[i][j]\)边,向汇点连\(A[i][j]\)边 然后对于相邻点互相连\(C[x…
正解:最小割 解题报告: 传送门 就文理分科模型嘛$QwQ$?所以就,跑个最小割呗,然后就做完辣?仔细想想细节发现并麻油那么简单嗷$QwQ$ 先考虑如果没有这个$k\cdot C_{i,j}$的贡献就是个裸的最小割呗?就建两排点分别和$ST$相连表示商业区$or$工业区 然后现在说,四连通中每有一个不同就会增加一个$C_{i,j}$? 考虑到如果相同就是文理分科模型了,就可以增加节点表示同为商业$or$同为工业然后瞎连下就好$QwQ$ 然后现在问题就在它是问相邻不同$QAQQQQQ$ 这里有个很…
04/17  目前做了:题 由于目前六道都是1A感觉非常爽... BZOJ1412: [ZJOI2009]狼和羊的故事 “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈可以看作一个n*m个矩阵格子,这个矩阵的边缘已经装上了篱笆.可是Drake很快发现狼再怎么也是狼,它们总是对羊垂涎三尺,那首歌只不过是一个动人的传说而已.所以Orez决定在羊狼圈中再加入一些…
OTL@assassain 反转源汇的模型: 给定一个二分图,同时选择集合中的两个点会有一个代价,选择每一个点有一个收益,问最大收益是多少 (即两个点在不同的集合中是有冲突关系的) 解法: 用最小割模型解决,通过反转源汇来表示冲突关系,用源S汇T表示选或不选,左边的黑点向S连黑点选择的收益(如果这条边割掉了就代表没有选择这个黑点,要减掉这个代价),向T连黑点不选择的收益(可以没有).右边的白点向S连白点不选择的收益,向T连白点选择的收益(此时把S,T和上述反转了一下).那么原图中两个点共同选择的…
1976: [BeiJing2010组队]能量魔方 Cube Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 832  Solved: 281[Submit][Status] Description 小C 有一个能量魔方,这个魔方可神奇了,只要按照特定方式,放入不同的 能量水晶,就可以产生巨大的能量. 能量魔方是一个 N*N*N 的立方体,一共用 N3 个空格可以填充能量水晶. 能量水晶有两种: ·一种是正能量水晶(Positive) ·一种是负能量…
不知不觉AC100题了,放眼望去好像都是水题.在这里就做一个存档吧(特别感谢各位大神尤其是云神http://hi.baidu.com/greencloud和丽洁姐http://wjmzbmr.com/的blog提供的题解) 代码什么的有时间在放. 1000: A+B Problem 好吧,这也算题,记得我第一次直接copy然后他不给我加库然后就CE了= = 1001: [BeiJing2006]狼抓兔子 一道经典的最小割对偶图转spfa,参见白书,第一次打时按边建图然后TLE得很惨,然后又重打了…
  写在前面  ​ 大家好,我是作者尼恩.目前和几个小伙伴一起,组织了一个高并发的实战社群[疯狂创客圈].正在开始 高并发.亿级流程的 IM 聊天程序 学习和实战,此文是:   疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之 -30    Spring Netty 整合实战 疯狂创客圈 死磕Netty 系列之11 主要介绍的是SpringBoot整合Netty.在使用Netty之前,建议先了解Netty的基本原理,请参阅疯狂创客圈. 这里仅仅是使用Netty的第一步,这里介绍一个最简…
[正文]Protobuf 消息设计 疯狂创客圈 死磕Netty 系列之12 [博客园 总入口 ] 本文说明 本篇是 netty+Protobuf 实战的第二篇,完成一个 基于Netty + Protobuf 实战案例. 本篇简单说明一下,实例中,设计Protobuf 消息的大致原则和思路. 消息的大致类型 网络通信涉及到消息的定义,不管是直接使用二进制格式,还是 xml.json等字符串格式.消息都可以大体的分为3大消息类型: 请求消息 应答消息 命令消息 一般情况下,每个消息还会包含一个序列号…
Protobuf 语法简明教程 疯狂创客圈 死磕Netty 亿级流量架构系列之12 [博客园 总入口 ] 在protobuf中,协议是由一系列的消息组成的.因此最重要的就是定义通信时使用到的消息格式. 一个Protobuf 消息(对应JAVA类),由至少一个字段(对应Java类属性)组合而成. 每个Protobuf 消息的 字段 都有一定的格式. 字段格式: 限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤] ①.限定修饰符包含 required\opt…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…