YZOJ P1868 土地划分

YZOJ P1868 土地划分

时间限制:1000MS      内存限制:131072KB

难度:\(5.1\)

  • 题目描述

在 \(Y\) 国有 \(N\) 座城市,并且有 \(M\) 条双向公路将这些城市连接起来,并且任意两个城市至少有一条路径可以互达。\(Y\) 国的国王去世之后,他的两个儿子 \(A\) 和 \(B\) 都想成为新的国王,但他们都想让这个国家更加安定,不会用武力解决问题。于是他们想将这个国家分成两个小国家 \(A\) 国和 \(B\) 国。现在,\(A\) 拥有 \(1\) 号城市,\(B\) 拥有 \(N\) 号城市,其他的城市还尚未确定归属哪边。

由于大家都想让国家变得更好,而某些城市的人民愿意国王的 \(A\) 儿子作为他们的领袖,而某些城市更看好 \(B\),而为了交通的便捷,如果划分后的公路连接两个同一个国家的城市,那么更利于城市之间的交流。于是大臣们设计了一种对土地划分的评分机制,具体如下:

1,对于城市 \(i\) ,如果它划分给 \(A\) 国,将得到 \(VA[i]\) 的得分;划分给 \(B\) 国,将得到 \(VB[i]\) 的得分。

2,对于一条公路 \(i\) ,如果它连接两个 \(A\) 国的城市,将得到 \(EA[i]\) 的得分;连接两个 \(B\) 国的城市,将得到 \(EB[i]\) 的得分;否则,这条公路将失去意义,将扣除 \(EC[i]\) 的得分。

现请你找到最优的土地划分,使得这种它的评分最高。

  • 输入格式

第一行包含两个整数 \(N\),\(M\),含义如问题描述所示。

接下来一行 \(N-2\) 个非负整数,表示 \(VA[2..N-1]\) 。

接下来一行 \(N-2\) 个非负整数,表示 \(VB[2..N-1]\) 。

接下来 \(M\) 行,每行五个非负整数描述一条公路:\(X, Y, EA[i], EB[i], EC[i]\),含义如问题描述所示。

  • 输出格式

输出一个整数,表示最高评分。

  • 样例输入

  • 样例输出

  • 数据规模与约定

\(100\%\) 的数据 \(N \leq 10000, M \leq 40000\);

保证运算过程中及最终结果不超过32位带符号整数类型的表示范围。

 

 

Source: BZOJ 3511


 

 

 

听说是贾教流的模板题???

传说中的论文:浅析一类最小割问题(pty).pdf

其实我不是很看得懂 QAQ(太菜

还有一种奇怪的做法:

\(S\) 向 \(1\) 连 \(\infty\) 的边,\(N\) 向 \(T\) 连 \(\infty\) 的边。

\(S\) 向 \(i\) 连 \(VA_i\) 的边,\(i\) 向 \(T\) 连 \(VB_i\) 的边。

对于原图中的一条边 \(i, \; x \leftrightarrow y\) :新建一个点 \(NA\) ,\(S\) 向 \(NA\) 连 \(EA_i+EC_i\) 的边,\(NA\) 分别向 \(x, y\) 连 \(\infty\) 的边;再新建一个点 \(NB\) ,\(NB\) 向 \(T\) 连 \(EB_i+EC_i\) 的边,\(x, y\) 分别向 \(NB\) 连 \(\infty\) 的边。

跑最小割,取没有被割掉的边权(指权值中 \(VA,VB,EA,EB\) 的部分),最后加上 \(\sum {EC}\) 就是本题的答案。

 

假设原图中的点有 \(1,2,3,N\) ,边有 \(2 \leftrightarrow 3, 3 \leftrightarrow N\) ,那么建出来的图是这样的:

(注:图中未注明边权的为 \(\infty\))

 

若同时割掉 \(VA_2, VB_3\)(或 \(VA_3, VB_2\)),那么有

要使 \(S \rightarrow T\) 不连通,必须同时割掉 \(EA+EC, EB+EC\) ,对真正答案贡献了 \(VA_3+VB_2-EC\)(或 \(VA_2+VB_3-EC\)) 。

 

若同时割掉 \(VA_2, VA_3\),那么有

要使 \(S \rightarrow T\) 不连通,必须割掉 \(EA+EC\) ,对真正答案贡献了 \(VB_2+VB_3+EB\) 。

 

若同时割掉 \(VB_2, VB_3\),那么有

要使 \(S \rightarrow T\) 不连通,必须割掉 \(EB+EC\) ,对真正答案贡献了 \(VA_2+VA_3+EA\) 。

 

以此类推,可证其正确性。

就是点数变成 \(N+2M\) 有点慢而已。

 

 

 

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注