thuwc2024

T1

\(n\times m\) 的正整数矩阵 \(a\),以及正整数数组 \(a_{1\sim n}\)

任取 \(\{1,2,\dots,n\}\) 的子集 \(S\),求 \(\sum_{j=1}^m\max_{i\in S}(a_{i,j})-\sum_{i\in S}c_i\) 的最大值。

\(n\le 3000,m\le 15,a,c\le 100\)

你考虑就是支付代价选一些列出来,然后得到每一行的最大值这么多贡献。

这个最大值我们给它松一松,变成每一行任选一个支付过代价的数。这样就好 dp 了。

你考虑记 \(dp_{i,S}\) 表示当前考虑前 \(i\) 行,目前 \(S\) 这些行已经选过数了。转移考虑如果要选择这一列,就枚举 \(S\) 的超集,复杂度 \(O(n3^m)\),原地升天。

然后你发现有点蠢了。考虑转移的时候,先 \(dp_{i,S}\leftarrow dp_{i-1,S}\),然后我们枚举 \(S\) 去真正计算 \(dp_{i,S}\),这只需要枚举一个元素就可以了,复杂度降为 \(O(nm2^m)\),还是非常爆炸。

你再感受一下,我们是每一列选出一点位置,然后就要支付这一列的代价。如果你知道哪些行选的在同一列,那事实上是很好做的,所以你就先预处理一下 \(f_S\) 表示我选了 \(S\) 这些行最好的一列是多少,然后你 \(3^m\) 转移就可以了,复杂度 \(O(n2^m+3^m)\),这次肯定能过了。

感觉最后这部分优化我还不是完全清楚原理。

哦最后这部分是不是贪心啊,原理还是去除了很多无用转移。但是这原理没用啊。

T2

给定长为 \(n\) 的顺时针环形序列 \(a_{0,\dots,n-1}\)

一次操作定义为:等概率选取 \(0\le l,r<n\),把 \(a_l\) 顺时针至 \(a_r\) 的元素等概率打乱。

\(m\) 次操作后,\(a_{0,\dots,n-1}\) 的期望。对 \(998244353\) 取模。

\(n\le 131072,m\le 10^9\)

感性理解发现一次操作会把 \(0,i\) 交换的概率 \(p_i\) 只和 \(0,i\) 之间的距离有关。

一次操作交换的概率显然可以大力讨论。

考虑怎么做 \(m\) 次交换。你发现 \(0,i\) 交换的概率是 \(\sum\limits_{d_1+d_2+\dots+d_m\bmod n=i}\prod p_{d_i}\),这是循环卷积的形式,我们分治 NTT 即可?

T3

有一个 \(n\times m\) 的 01 矩阵 \(a\)

你可以询问任意矩形内是否有 \(1\),你需要求出 \(a_{i,j}=1\) 满足 \(i+j\) 最大,输出最大的 \(i+j\)

设询问次数为 \(x\),每次询问的矩形长边之和为 \(y\),要求 \(x\le 8192,y\le 7.4\times 10^4\)

\(n,m\le 4096\)

\(n,m\) 给得这么整肯定要分治/二分!

你先把 \(i+j=x\) 的线画出来,是一堆对角线对吧。

初步想法是划分成四个部分,然后询问一些,排除一些。你发现很寄。

考虑一个暴力,你先问右下角,如果有就 win 了,否则靠左上走一步,然后再问,如果有就说明在这个角形里,暴力问就行了。

这样询问次数是 \(3n\),长边之和爆了。

但是显然可以改成二分对吧,询问次数变成 \(\log n+2n\),长边之和是 \(n\log n+2n\)。大概就可以过了。

实在不行把里头这个也改成二分,询问次数 \(3\log n\),长边之和 \(n\log n+4n\)

真是这东西吗???

这个假完了。

额但是你发现,我们继续做,相当于可以递归到两个 \(\frac n2\) 的子问题,解一下发现询问次数大概是 \(4n\) 次,长边之和我不好说。不过常数好像大得一匹。

T4

初始全 \(0\)\(n\times m\) 矩阵 \(a\),你要进行 \(q\) 次操作。

定义 \(b_{i,j}\) 为,若 \(a_{i,j}=0\)\(b_{i,j}=\infty\);否则为从 \(a_{i,j+1}\) 向右最长连续 \(1\) 的个数。

  • 1 x y1 y2\(a_{x,y_1},\dots,a_{x,y_2}\) 赋为 \(1\)
  • 2 x1 y1 x2 y2\(a_{x_1,y_1}\to a_{x_2,y_2}\) 的路径,设权值为经过的点中 \(b\) 最小值,求这些路径权值的最大值。

\(n\le 10^5,q\le 3\times10^5,m\le 10^9\),操作 \(1\) 次数 \(\le 10^5\)

posted @ 2024-06-18 20:33  PYD1  阅读(7)  评论(0)    收藏  举报