~11-13 部分题解。

密码xoi。

因为前几周太摆了。所以题解从后往前写。


11-12

T1 euclid

根号分治,值得注意的是复杂度形式为:

\[ \sum_{p,q} \frac{n}{\max(p,q)}=\sum_{p} \frac{n}{p}*p \]

很是神奇。

T2 euclid

dp。

首先考虑 \(dp\),我们发现如果记录 \(m!\) 的顺序的信息其实很亏。

那么很经典的拆贡献,考虑 \(x\) 会在那些地方产生贡献。

如果当前这个位置大于等于 \(x\) 的集合为 \(s\),那么 \(x\) 会在 \(u\subset s,x\in u\) 的集合产生贡献。

考场时我直接对于每一个 \(x\) 开了个mask。

实际上这个可以直接差分一下,在 \(s\) 处加, \(s-x\) 处减。这样再次计算超集和的就是真实答案了。

T3 euclid

to do

我是傻逼考场时候还在“建图”,,没看直接转移。。

首先发现有用的只有这样的向量 \((0,x),(x,0)\)

然后我们对每一个位置计算最右覆盖他的矩形,最下覆盖他的矩形。

这里你可以发现适当顺序的扫描线可以每次区间取max,全局询问,这样是 \(\sum nm+q\log n\) 的。

然后转移呢?转移形如区间Max和区间=Max的数。这个可以单调队列来做。。。很是震撼。没想到。。

代码没时间写呀/kk

T4 keter

to do

hall 定理,但是没倒出空想。。


11-11

T1 safe

进行了几步转化,首先考虑什么情况不合法?

yy了一下,可以感受到存在四元环是充分必要的,证明不难。

然后看给你了 \(p\) 那我就把 \(p\) 给排成 \([1,2,\cdot n]\) 的。

然后发现从大往下插入 \(q\) 的数,那么每次操作变成了选择一个位置,然后决策是选上还是选下,然后选上就是强制让后面的也选上了。

然后发现我们可以只对 有效的“伸出来的”计数。然后从大往下,从后往前的dp就好了。

(对于阶段的前缀和)。

T2 keter?

没写呀,很懵逼的一个构造题。

正解。。。每次随机若干个前面的小的数,然后用剩余的凑出 \(0\)

话是这么说,大概是前面的那些组成的情况,很有可能背包出来询问?不太懂。

一个比较让我眼前一亮的做法是:设 \(w(s)\)\(s\) 的答案。

那么 \(w(ks_1+s_2)=w(s_1)\times w(s_2)\) 。感觉很有道理呀。

然后每次乘法,加法,,,,类推。。。

T3 safe

比较萌萌的一个题,可以边跑边记录答案,可是有点难写。

所以最后popc分块做的。\(2\log\) 的。

T4 safe?

没写。考虑求出 \((a,b)\to (a+1,b)\) 这样相邻的能走过去的最大宽度。

然后大概就是最小生成树了?

11-10

T3

数学题。不知道如何想到最最最key的point。

单位元三角形的内心=将角分线延长后,与圆的交点形成的三角形的垂心。

然后典中典垂心坐标 \(\alpha+\beta+\gamma\)

然后角分线对应的单位复数就是 \(\sqrt{(\alpha\beta)}\) (角分线同样将弧也分成两半)。

然后发现很好拆贡献,完事了。

T4

未写

CF1517G

只能说这个题太牛逼了,我也不太知道是怎么想到的。

这样有限制的题,我们就要去考虑描述限制。

网络流的最小割模型就是可以理解成,选择割的边云云。

这个题呢?乍一看,如果直接转成集合的话,那也太难了。

考虑一条边平行于 \(x\) 轴的平四可以被描述成啥。当时我考场时候在想染色,可惜呀没想到最后的。

George1123 哥哥对染色说的很明白

然后??你会发现我现在要删点呀,那我就拆点,连权值的边,割掉就表示选择,如果选择,那么平四的限制也就没了。。。

所以就是一个分层然后最小割。

11-8

T1 safe?

基础dp?

还是考虑双射,对于每一个结束状态,我们考虑如何得到这个状态的。

我们强制让这个按顺序得到。

这样限制变成了,这个数不小于前一个数。所以记录一下前一个数加了多少就好了。

T2 safe?

还是考虑最终情况。运输过程肯定形成一颗有向树。

并且我们希望对于一个集合,如果他们的需要,真实值差大于最小生成树就能合法。

原因大概就是对于每条树边,左右必有一个集合权值大于0(因为加和减去这条边边权后大于0).然后变成更小的子问题。归纳就行。

然后找到所有合法的集合,SOSdp合并。

T3 euclid

感觉很经典的题呀,还是没有考场做出来,

首先考虑让一个点合法的区间,大概发现是一个 L 字型的。

然后每次加上的贡献就是这个区间内的。

其实就不难发现这样这可以看成二维平面,然后扫描线。

我当时以为 \(dp\) 这样不规范的更改就做不了,现在发现确实很好做。

T4 keter。

首先二分,判定性问题就是贪心,把 \(\le mid/2\) 的全选,剩下的在区间里选一个最小的。

很有趣的一点是我们确实可以随便选,但是选最小的的确更好刻画。

然后 \(2\log\) 不难了。

然后熊熊说要转化一下限制,一个中间的点合法当且仅当,他的上一个比它小的数,下一个比它小的数和他加起来小于 \(k\)

现在更加神奇的事情发生了,我们找到了一种判据,或者说每个点的“属性”。

这样通过整体二分,就能 \(1\log\)

实际上发现如果信息可以减去的话,我们的整体二分,每次可以看成每次向左走,集合分裂,信息不变;向右走,集合分裂,信息与向左走的合并。

如图: img1 ----

一个更加精妙的做法是,现在问题就是多少个判据<=mid 这种,我们甚至可以不二分,转化为查询区间 \(k\) 大这种问题。 很是厉害。


~11-13 部分题解。
https://proton-z.github.io/2022/11/13/AA1113/
作者
Imitators
发布于
2022年11月13日
许可协议