#P6641. 「BalticOI 2024」Tiles

「BalticOI 2024」Tiles

题目描述

题目译自 BalticOI 2024 Day2「Tiles

据信,立陶宛第一位也是唯一一位国王明道加斯在皈依基督教后不久就下令修建维尔纽斯大教堂。工程已基本完工,只是地面上还需要铺上陶瓷装饰釉面砖。

维尔纽斯大教堂的地面是二维平面直角坐标系下的一个多边形。多边形有 NN 个不同的顶点,编号为 11NN。对于 1iN1\le i\le N 的每个 ii,顶点 ii 位于点 (X[i],Y[i])(X[i],Y[i]),其中 X[i]X[i]Y[i]Y[i] 均为非负整数。有一条边连接顶点 ii 和顶点 i+1i + 1(对于每个 1iN11 \le i \le N - 1),还有一条边连接顶点 NN 和顶点 11。顶点按顺时针或逆时针顺序排列。

大教堂是一个轴对齐的多边形,意味着每条边要么平行于 xx 轴,要么平行于 yy 轴。此外,大教堂还是一个简单多边形,也就是:

  • 在每个顶点处恰好有两条边相交;
  • 任意一对边只能在顶点处相交。

大教堂的建造者有无限多块瓷砖。每块瓷砖都是边长等于 22 的正方形。建造者希望用这些瓷砖覆盖大教堂的大部分。具体地说,建造者希望选取某条垂直线,并覆盖该线左边的大教堂部分。对于任意整数 kk,令 LkL_k 表示由 xx 坐标等于 kk 的点组成的垂直线。覆盖 LL 左侧大教堂的部分就是在平面上放置一定数量的瓷砖,使得:

  • 位于多边形内部且 xx 坐标小于 kk 的每个点都会被某块瓷砖覆盖;
  • 位于多边形外部或 xx 坐标大于 kk 的点都不会被某块瓷砖覆盖;
  • 铺设的瓷砖不会重叠。

大教堂中任何顶点的最小 xx 坐标都是 00,令 MM 表示大教堂中任何顶点的最大 xx 坐标。

帮助维尔纽斯大教堂的建造者找出最大的整数 kk,使得 kMk \le M,并且大教堂在 LkL_k 左边的部分存在一个覆盖。请注意,根据定义,大教堂在 L0L_0 左边的部分存在一个覆盖(使用了 00 块瓷砖)。

输入格式

第一行包含两个整数 NNMM,分别表示顶点个数和所有顶点 xx 坐标的最大值。

接下来 NN 行,第 ii 行包含两个整数 xix_iyiy_i,表示第 ii 个顶点的坐标。顶点按顺时针或逆时针顺序排列。

输出格式

输出满足 kMk\le M 的最大 kk,使得 LkL_k 左边存在一个覆盖。

14 6
0 1
0 3
2 3
2 4
0 4
0 6
3 6
3 7
4 7
6 7
6 5
3 5
3 2
3 1

2

4 3
0 0
0 3
3 3
3 0

0

18 9
0 2
2 2
2 1
4 1
4 0
9 0
9 2
4 2
4 4
7 4
7 3
9 3
9 6
4 6
4 5
2 5
2 4
0 4

6

数据范围与提示

对于所有数据,满足:

  • 4N21054\le N\le 2\cdot 10^5
  • 1M1091\le M\le 10^9
  • 0yi1090\le y_i\le 10^9(对于每个 1iN1\le i\le N
  • 大教堂形成了一个轴对齐的简单多边形
  • x1,x2,,xNx_1,x_2,\ldots,x_N 的最小值为 00,最大值为 MM

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
11 N=4N=4 44
22 N6N\le 6 99
33 xN=0,yN=0,xixi+1,yiyi+1x_N=0,y_N=0,x_i\le x_{i+1},y_i\ge y_{i+1}(对于 1iN21\le i\le N-2 1111
44 M1000M\le 1000 且所有 yi1000y_i\le 1000 1919
55 所有 yiy_i 都是偶数 2222
66 所有 xix_i 都是偶数 2525
77 无附加限制 1010