#LQ0511. 供水设施no
供水设施no
当前没有测试数据。
题目描述
X 星球的居民点很多。Pear 决定修建一个浩大的水利工程,以解决他管辖的 N 个居民点的供水问题。现在一共有 N 个水塔,同时也有 N 个居民点,居民点在北侧从 1 号到 N 号自西向东排成一排;水塔在南侧也从 1 号到 N 号自西向东排成一排。
N 条单向输水线(有水泵动力),将水从南侧的水塔引到北侧对应的居民点。
我们不妨将居民点和水塔都看做平面上的点,居民点坐标为 (1,K) ~ (N,K),水塔为 (1,0) ~ (N,0)。
除了 N 条纵向输水线以外,还有 M 条单向的横向输水线,连接 (Xi,Yi) 和 (Xi,Yi+1) 或者 (Xi,Yi)和 (Xi,Yi−1)。前者被称为向右的水路,而后者是向左的。不会有两条水路重叠,即便它们方向不同。
布局的示意图如下所示。
显然,每个水塔的水都可以到达若干个居民点(而不仅仅是对应的那个)。例如上图中,4 号水塔可以到达 3、4、5、6 四个居民点。
现在 Pear 决定在此基础上,再修建一条横向单向输水线。为了方便考虑,Pear 认为这条水路应当是自左向右的,也就是连接了一个点和它右侧的点(例如上图中连接 5 和 6 两个纵线的横向水路)。
Pear 的目标是,修建了这条水路之后,能有尽可能多对水塔和居民点之间能到达。换句话说,设修建之后第 i 个水塔能到达 Ai 个点,你要最大化 A1+A2+⋯+An。
根据定义,这条路必须和 X 轴平行,但 Y 坐标不一定要是整数。注意:虽然输入中没有重叠的水路,但是你的方案可以将新修的输水线路与已有的水路重叠。
输入描述
输入第一行包含三个正整数 N,M,K,含义如题面所述。
接下来 M 行,每行三个整数。前两个正整数 Xi,Yi 表示水路的起点坐标。
接下来一个数 0 或者 1,如果是 0 表示这条水路向左,否则向右。
保证水路都是合法的,也就是不会流向没有定义的地方。
其中,N,K≤5×104,M≤105,1≤Xi≤N,0<Yi<K。
输出描述
输出一行。是一个正整数,即:题目中要求的最大化的 A1+A2+⋯+An。
输入输出样例
示例
输入
4 3 2
1 1 1
3 1 0
3 1 1
输出
11