P0972

[CTSC2005]合并正方形combine

[CTSC2005]合并正方形combine

一个二维平面初始为空,现有一系列向平面中加入点的命令。加入的点分为 AA 类点和 BB 类点。AA 类点一定位于 xx 轴上,且任意两个 AA 类点不会重合;BB 类点可以出现在平面上的任意位置,也可以相互重合。每个 BB 类点都有一个权值 WW。

对于当前平面上的所有 AA 类点,首先在每两个相邻的 AA 类点之间构造一个边与 xx 轴成 4545 度角的正方形。之后,每次可以将任意两个有公共点的正方形合并成一个大正方形,原来的两个小正方形随之消失。每进行一次合并,由 AA 类点形成的正方形数量就会减少 11,直到只剩下一个正方形。

设某个正方形在 xx 轴上的左、右顶点坐标分别为 aa、bb,其中 a<ba<b。对于平面上的点 (x,y)(x,y),定义

u=x−y,v=x+y。u=x-y,\qquad v=x+y。

该正方形的内部满足

a<u<b,a<v<b。a<u<b,\qquad a<v<b。

合并后的正方形将平面划分为 99 个区域。与正方形的 44 条边相邻的 44 个区域分别为:

  • 区域 I:u<au<a 且 a<v<ba<v<b;
  • 区域 II:v<av<a 且 a<u<ba<u<b;
  • 区域 III:u>bu>b 且 a<v<ba<v<b;
  • 区域 IV:v>bv>b 且 a<u<ba<u<b。

区域 I、II、III、IV 中所有 BB 类点的权值和依次记为 w1w_1、w2w_2、w3w_3、w4w_4。正方形内部,即满足 a<u<ba<u<b 且 a<v<ba<v<b 的所有 BB 类点的权值和记为 w5w_5。保证 BB 类点不会出现在上述区域的边界上。

本次合并的费用为

w1+2w2+3w3+4w4+5w5。w_1+2w_2+3w_3+4w_4+5w_5。

位于其他区域的 BB 类点不计入本次合并费用。每次合并都不会改变 BB 类点的位置及其权值。合并总费用为所有合并操作费用之和,不同的合并顺序可能产生不同的总费用。

所有点按照命令顺序逐个加入平面。加入第 ii 个 AA 类点后,平面上共有 ii 个 AA 类点,以及在此之前加入的所有 BB 类点。设此时完成全部合并所需的最小总费用为 f(i)f(i)。

给定费用限制 LL,请求出 AA 类点数目的最大值 KK,使得前 KK 个 AA 类点对应的最小合并费用不超过 LL,即 f(K)≤Lf(K)\le L。

输入格式

第一行包含两个数 MM、LL,分别表示加入点的命令数和费用限制。

接下来 MM 行,每行描述一条加入点的命令。

若该行以字符 A 开头,则后面包含一个数,表示该 AA 类点的 xx 坐标。

若该行以字符 B 开头,则后面包含三个数,依次表示该 BB 类点的 xx 坐标、yy 坐标和权值 WW。

所有点的坐标均为整数。BB 类点的权值 WW 为非负数。LL 和 WW 均为十进制数,小数部分不超过 33 位。

输出格式

输出一个整数 Kmax⁡K_{\max},表示满足 f(K)≤Lf(K)\le L 的最大 KK。

样例输入

8 30.0
A -2
A 0
B 7 8 5.0
B 4 -3 2.0
B -3 4 1.0
A 2
B -4 5 1.0
A 4

样例输出

3

样例解释

前 33 个 AA 类点的最小合并费用为 f(3)=27f(3)=27,前 44 个 AA 类点的最小合并费用为 f(4)=36f(4)=36。

由于 f(3)<30f(3)<30,而 f(4)>30f(4)>30,因此满足要求的最大 KK 为 33。

数据范围

  • 所有 AA 类点和 BB 类点的坐标均为整数;
  • BB 类点的权值满足 W≥0W\ge 0;
  • LL 和 WW 均为十进制数,小数部分不超过 33 位。

来源与许可

本题为 CTSC 2005 试题「合并正方形」,题面与测试数据整理自 BZOJ。

样例 1

输入

8 30.0
A -2
A 0
B 7 8 5.0
B 4 -3 2.0
B -3 4 1.0
A 2
B -4 5 1.0
A 4

输出

3