2023.6.27 闲话

「jijidawang的符号学为什么起步这么早。」但是,符号学是啥啊。

语录

纯悦:你是屎吧。

纯悦:你去屎吧。

纯悦:我要成为内鬼!(指 S2)

纯悦:APJ 这个,很持久啊。

纯悦:我是 0↗

纯悦:你也知道你只会贺啊。

纯悦:别自闭啊,我还要找乐子呢。

纯悦:我老婆只有一个,剩下都是妾。

纯悦:xht 你怎么还卷 ABC 啊。这么简单的 ABC 你还卷,xht。

纯悦:让我来给他们讲状压 DP,插头 DP,各种 DP!所有 DP 全让我讲!

纯悦:所有神给我站一边!Keven_He 我就是帅!

纯悦:你怎么全是闲话,傻逼。

纯悦:(Kaguya)她怎么刚关注我!
纯悦:郭佩奇关注了我!

纯悦:德与行不可兼备。

纯悦:我草,我好牛逼,我怎么认识这么多人。

纯悦:(jijidawang)估计每个人看到你 id 都会想锐评。

K8He 怒 d 喵喵给他关机浪费了他 10min,呃呃 .

STAOI 来了个大神 zifanwang,膜拜!

Akira Complex 自杀了?????? 好像是真的。昨天晚上我九点回去然后过了不到十分钟就有消息。感觉是昨天最大的事。(选自 gtm1514)

ARC111C Too Heavy

首先如果初始状态有不是自己的行李换不出去的肯定无解,那么先排掉这种情况 .

pi 构成若干个置换环,那么让每个置换环内体重最大的做中转给每个人换,不难发现只需要考虑体重最大的会不会中间操作不了了,但是根据前面的讨论这种情况已经被排除,所以此时一定有解 .

每个非环内体重最大的人都交换了恰一次,于是可以发现这种操作方案肯定是最优的 . 时间复杂度 Θ(n),可以通过 .

ARC112C DFS Game

有点麻烦的题目,题面也很容易让人读错 . 思路并不困难,不难想到设计树形 DP,转移类似 Minimax 搜索 .

dpu 表示先手在 u 的子树最多获得多少硬币,那么转移就是把儿子 v 分成三类:

  • size(v) 为偶数且 dpv<size(v)dpv .
  • size(v) 为偶数且 dpvsize(v)dpv .
  • size(v) 为奇数 .

依此转移即可,注意第三类最后决策,时间复杂度 Θ(nlogn),比较精细实现应该可以线性 .

ARC112D Skate

这种东西为啥我总想不到 . 如果 (x,y) 位置是 # 则连边 xy,于是问题可以改成最少加多少条边使得整张图连通 .

并查集行列分别算连通块数量即可,不算反 Ackermann 函数时间复杂度 Θ(nm) .

ARC112E Cigar Box

将终止状态分为三部分,分别是移到左边的,没动过的和移到右边的 .

于是枚举一段递增区间,设其左边有 l 个数,右边有 r 个数,则考虑计数移动方案 . 每个数看成一种颜色,那么就是先把 m 次操作染 l+r 个颜色,每个颜色都要有至少一个 . 那么就是有标号小球放到无标号盒子(因为合法的盒子顺序肯定只有恰一种)里,这是第二类斯特林数 . 然后还需要考虑哪些操作移到左边哪些移到右边,这个组合数算就行了,注意只有最后一次操作有效,所以剩下的 mlr 次操作随便选就行,综合起来,方案数就是:

f(l,r)={ml+r}(l+rl)2mlr

直接计算即可,时间复杂度 Θ(n2) 其中假定 n,m 同阶 .

ARC114C Sequence Scores

考虑依次加入元素以生成序列 {a},那么加入一个元素 x 使得操作次数增加当且仅当 x 没有出现过或者 x 到他上一个出现的位置有一个比它小的 .

不难想到单步容斥改成所有位置都比它大,那么枚举上一个出现的位置可以得到在 n 处加元素 x 的方案数:

f(n,x)=mn1i=1n1(mx)ni1mi1

答案就是

i=1nk=1mg(i,k)

要求 g 的一行,可以递推处理,时间复杂度 Θ(nm),可以通过 .

ARC114E Paper Cutting 2

根据拒绝采样法原理,改成不割矩形、矩形内随便选直线不影响答案 .

那么可以根据期望线性性,考虑计算矩形内每一条和边界平行的线段产生的贡献 . 设矩形上下左右分别有 u,d,l,r 条线,总共 s 条 . 不妨令目前考虑左边的第 i 条线,则选中其他线的概率就是 u+d+r+i1s,选中这条线的概率就是:

k0(u+d+r+i1s)k1s=1s(u+d+r+i1)

直接算即可,不算求逆元时间复杂度 Θ(h+w) .

ARC115D Odd Degree

流汗 .

对于每个连通块考虑,首先想树咋做,然而叶子确定之后显然可以推出整棵树的连边情况,所以树的答案就是 (nk) .

那么如果是任一无向图就先随便整一棵生成树出来,这样非树边随便选后面根据上面的方法构造即可,所以就是 2mn+1(nk) .

合并就是卷积,用背包暴力做就是 Θ(n2),用科技就是 O(nlog2n)(大概吧).

ARC116C Multiple Sequences

虽然简单但是还是想记一下 .

首先考虑改成元素不能重复的,枚举本质不同元素个数后乘组合数即可计算答案 .

然后朴素 DP 即可,可以注意到本质不同元素个数肯定不大于 logm,于是时间复杂度为 O(n+mlog2m),可以通过 .

ARC116D I Wanna Win The Game

考虑拆位处理异或,那么令 dpi 表示元素和为 i 时的方案数,枚举最后一位是 1 的个数即可得到转移:

dpi=[2i]2j(nj)dpij2

直接计算即可,时间复杂度 O(n2) .

ARC116E Spread of Information

首先二分答案,就变成对于一个覆盖半径问至少需要多少点 .

这个问题可以贪心处理,按 DFS 序考虑,如果子树内覆盖不到就选上,可以发现这样肯定最优 .

于是就在 Θ(nlogn) 的复杂度内解决了问题 .

ARC117C Tricolor Pyramid

把三种颜色标号为 0,1,2,则如果底层的两种颜色为 c1,c2,则上层的颜色可以表示为 (c1+c2)mod3 .

那么根据类似杨辉三角的推导可以得到顶层的颜色就是:

((1)n+1i=0n1(n1i)ci+1)mod3

其中 {c} 是底层颜色序列 .

那么直接计算即可,组合数需要使用 Lucas 定理计算,时间复杂度 Θ(nlogn) .

ARC117D Miracle Tree

将点权从小到大排序,让标号排列为 {p},则只需要满足相邻的项的距离限制,也就是 Epi+1Epidist(pi,pi+1),别的位置可以用三角形不等式调整得到满足限制 .

关于限制,显然全部取等是可以的,于是可以导出的是 Epk=1+i=1k1dist(pi,pi+1) .

那么问题就变成了找到排列 {p} 使得 i=1n1dist(pi,pi+1) 最小了,看起来比较经典 .

首先加上 dist(pn,p1) 之后按 DFS 序选就可以取到下界 2(n1),那么只需要最大化 dist(pn,p1),取直径端点即可 .

时间复杂度 Θ(n) .

具体有一些实现技巧,可以看 Creater_157 大神的博客 .

ARC118D Hamiltonian Cycle

考虑把 [0,p) 每个数写成 aibjmodp 的形式 .

具体地,令 n=ordp(a), m=arg minj{bjH},其中 H={aiiZ} . 则构造一个 n×m 的矩形 Ga,b,第 i 行第 j 列放 aibjmodp .

结论:对于每个 xGa,b,都有唯一的 i[0,n),j[0,m),使得 x=aibjmodp .

存在性用带余除法即可简单证明,考虑证明每个数出现次数不超过 1

假设存在 i1,i2,j1,j2(范围同上)满足 ai1bj1ai2bj2(modp) .

不妨令 j1j2,则 ai1i2bj2j1(modp),可以发现 bj2j1H,根据 m 的定义可以知道 j2j1=0,也就是 j2=j1,那么就可以得到 ai1=ai2,因为 i1,i2<n,所以肯定有 i1=i2 . 由此就证明了每个数出现次数不超过 1 .

这样的话,如果 nmp1 无解,否则考虑构造一组解 . 也就是考虑在 Ga,b 中构造一条哈密顿回路 .

首先特判 n=1m=1 . 那么剩下的情况 p 肯定是奇数,从而根据 nm=p1 可以得到 nm 中至少有一个偶数 . 后面的构造就不困难了,放一个官方题解的图,其余可以看官方题解 .

posted @   yspm  阅读(107)  评论(5编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2022-06-27 叫高二上一调?简要题解 (ACD)
2022-06-27 暴力の多项式全家桶
😅​
点击右上角即可分享
微信分享提示