智慧题

trick 整合

题目

P15377 询问 / sosoo \(\checkmark\)

题目大意

给定函数 \(f_i(a,b)=(\max(2b-i,a+i),\max(2a-i,b+i))\),求 \(f_n(f_{n-1}(\cdots f_1(a,b)\cdots))\) 的两个分量分别对 \(10^9+7\) 取模的结果。
\(T\le 100,\ 1\le n\le 10^{18},\ 0\le a,b<10^9+7\)。

解题思路

看到数据范围吓哭了,直接硬转不行,这个范围启发我们用矩阵快速幂之类的来转移,但是这个取 \(max\) 操作无法进行矩阵快速幂,怎么办呢?

一个很重要的观察:每次 \(a,b\) 的增长都是翻倍的,而 \(i\) 的增长很缓慢,因此,到一定程度的时候,\(2b-i\) 一定 \(>a+i\)。

这道题做法便是:先进行若干次硬转移,次数最好是 \(\log V\) 附近的,然后对后面的 \(f_i={2b-1,2a-1}\)
进行矩阵快速幂转移。

posted @ 2026-09-18 15:15  lcx_OIer  阅读(15)  评论(0)    收藏  举报