#P16643. [GKS 2018 #B] King's Circle

    ID: 19006 远端评测题 20000ms 1024MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>2018树状数组扫描线Google Kick Start

[GKS 2018 #B] King's Circle

题目描述

在 Kickstartia 王国,人们记忆所及以来,第一次到处洋溢着庆祝的气氛:新国王的加冕日到了。按照加冕仪式的惯例,皇家游行队伍将穿过首都的街道。

首都可以看作是一个无限的二维平面,其中有无穷多条无限长的街道,相互间隔 1 米,水平方向和垂直方向贯穿整个平面。水平街道从上到下用从负无穷到正无穷的整数标记,垂直街道从左到右也用从负无穷到正无穷的整数标记。

首都有 NN 家咖啡馆,第 ii 家位于垂直街道 ViV_i 与水平街道 HiH_i 的交汇处。没有两家咖啡馆位于同一交叉口。为了让游行技术人员感到满意且吃饱喝足,你将恰好选择三家咖啡馆,供他们在途中停留。

为了在混乱中引入一些秩序,你额外决定游行必须从起点回到终点,并且其路径必须形成一个正方形(直边,所有边长相等)。咖啡馆可以位于正方形的任意位置(边上或角上)。

这立即带来了一个问题:根据你选择的三家咖啡馆,可能无法构造出一个经过这三家咖啡馆的正方形游行路线。因此,你的任务是找出:有多少个不同的三家咖啡馆的集合,使得至少存在一个包含该集合中全部三家咖啡馆的正方形游行路线?(两个集合不同当且仅当其中一个包含另一个所没有的咖啡馆。)

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例由一行包含十个整数组成:NN、V1V_1、H1H_1、AA、BB、CC、DD、EE、FF 和 MM。

NN 是咖啡馆的数量。第一家咖啡馆位于垂直街道 V1V_1 与水平街道 H1H_1 的交汇处。

剩余咖啡馆的位置 ViV_i、HiH_i(i=2i = 2 到 NN)可按如下方式生成:

  • $V_i = (A \times V_{i-1} + B \times H_{i-1} + C) \bmod M$
  • $H_i = (D \times V_{i-1} + E \times H_{i-1} + F) \bmod M$

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是满足上述条件的咖啡馆集合的数量。

3
4 1 1 4 1 1 4 2 4 5
6 3 1 1 0 1 0 1 0 9
3 7 24 34 11 17 31 15 40 50
Case #1: 3
Case #2: 20
Case #3: 0

提示

在样例 #1 中,有四家咖啡馆,分别位于 (1,1)(1, 1)、(1,0)(1, 0)、(0,3)(0, 3) 和 (4,0)(4, 0)。如图所示,存在正方形游行路线经过以下咖啡馆集合:(1,1)(1, 1)、(1,0)(1, 0)、(0,3)(0, 3);或 (1,1)(1, 1)、(1,0)(1, 0)、(4,0)(4, 0);或 (1,0)(1, 0)、(0,3)(0, 3)、(4,0)(4, 0)。不存在经过 (1,1)(1, 1)、(0,3)(0, 3)、(4,0)(4, 0) 这三个咖啡馆的正方形游行路线。

:::align{center} :::

在样例 #2 中,有 66 家咖啡馆,分别位于 (3,1)(3, 1)、(4,1)(4, 1)、(5,1)(5, 1)、(6,1)(6, 1)、(7,1)(7, 1) 和 (8,1)(8, 1)。由于它们都在同一条垂直街道上,任意三个咖啡馆都存在经过它们的正方形游行路线。因此答案为 (63)=20\binom{6}{3} = 20。

在样例 #3 中,有 33 家咖啡馆,分别位于 (7,24)(7, 24)、(19,17)(19, 17)、(0,34)(0, 34)。不存在经过这三家咖啡馆的正方形游行路线,因此答案为 00。

注意: 对于本题的大数据集,我们不建议使用解释型/较慢的语言。

限制条件

1≤T≤1001 \le T \le 100。

0≤A<M0 \le A < M。

0≤B<M0 \le B < M。

0≤C<M0 \le C < M。

0≤D<M0 \le D < M。

0≤E<M0 \le E < M。

0≤F<M0 \le F < M。

0≤V1<M0 \le V_1 < M。

0≤H1<M0 \le H_1 < M。

对于所有 i≠ji \neq j,(Vi,Hi)≠(Vj,Hj)(V_i, H_i) \neq (V_j, H_j)。

小数据集(测试集 1 – 可见)

3≤N≤10003 \le N \le 1000。

2≤M≤10002 \le M \le 1000。

大数据集(测试集 2 – 隐藏)

3≤N≤5×1053 \le N \le 5 \times 10^5。

2≤M≤1062 \le M \le 10^6。

翻译由 DeepSeek V4 Pro 完成