0%

2021.10.17模拟赛

If I have never known the sore of farewell and pain of sacrifices

2021.10.17模拟赛

A. 牛表

牛表

暴力连边是 P3P^3 的复杂度,但是考虑到代价是线性加的,但是每次是乘的,所以猜想答案可能不超过 log\log 级别?

打个表答案不超过 1717 所以每个点只连前后十七条边即可

B. 牛牛和数组操作

牛牛和数组操作

c[l,r]c[l,r][l,r][l,r] 区间的最小代价, t[l,r]t[l,r][l,r][l,r] 区间的最小代价数量

暴力区间 dp,发现区间肯定是取最大值最优,卡卡常就过了

C. 与巨

与巨

操作是取 cici 的后几位,发现二进制下乘法能用的性质不多,所以转换成模意义

若当前最高的 11 位是 xx 需满足 cii(mod2x+1)ci \equiv i \pmod {2^{x+1}}

(c1)i0(mod2x+1)(c-1)i \equiv0 \pmod {2^{x+1}} 如果 (c1)=b2m(c-1)=b2^m 那么必然有 2x+1mi2^{x+1-m}|i

因为做了个前缀 max\max 所以要考虑每个能取到值往后会有 2x+1m2^{x+1-m} 的贡献

u=x+1mu=x+1-m 则这个 xx 的答案为 (2x+k2u)(2u)\sum (2^x+k2^{u})(2^u) kk 的范围是 [0,2m1)[0,2^{m-1})

等差数列求和即可

对于 x=nx=n 的位置单独处理 2x+k2unk=n2u2xu2^x+k2^u \le n \Rightarrow k=\lfloor\dfrac{n}{2^u}\rfloor-2^{x-u}

会有一小部分算超出 nn 减去即可

D. 矩阵学说

矩阵学说

发现这个东西显然具有单调性,二分,快速判定正方形内的不同个数可以用 bitset RMQ 判定

二分 k\le kk1\le k-1 做差即可

O(n2lognm)O(n^2\log nm)

May all the beauty be blessed