#7 2023.12.4

419. arc137c Distinct Numbers

注意到如果 an1+1an,显然是先手必胜的。

然后一个人显然不会主动走到这个状态,于是 [0,an] 之内的每个数都要被遍历一遍。于是答案就和 nan 的奇偶性有关了。

420. arc137d Prefix XORs

大概只跟 nij 的 and 有关。fmt 一下就做完了。

421. arc137e Bakery

怎么不会做呢?急眼了。怎么不会做呢?急眼了。怎么不会做呢?急眼了。怎么不会做呢?急眼了。

大概就是假装全都选,然后是区间覆盖模型!

422. arc136c Circular Addition

423. arc136d Without Carry

424. arc136e Non-coprime DAG

425. arc136f Flip Cells

大概是设 F 表示答案的 PGF,G 表示从终止态开始到终止态的 PGF,H 表示从起始态开始到终止态的 PGF。显然 H=FG,答案是 F(1)。所以只需要求出 G(1),H(1),G(1),H(1) 即可。

大概可以通过奇技淫巧搞出式子,要注意上述几个值是否都有意义。如果不是,就同乘点东西让它有意义,然后暴力推式子就草过去了。感觉很牛!

426. arc135d Add to Square

427. arc135e Sequence of Multiples

序列可以贪心。令 bi=aii,则 bibi1 只有 O(n3) 种。找连续段需要奇技淫巧,每个连续段可以 O(1) 算。

428. loj3636 「2021 集训队互测」机器

直接费用流对偶,发现形式很好看。

大概是要求一个 f(xi),然后 xuxv 之类的。盲猜他能套上保序回归之类的东西,那就做完了。证明不看了(我连保序回归的证明都没看,怎么会看这个呢 2333)。

429. loj3637 「2021 集训队互测」数列重排

430. arc135f Delete 1, 4, 7, ...

431. arc134e Modulo Nim

史。

大概是先通过神秘分析/打表,发现必败态长成同一个样子,并且有些小的状态是特例。并且很巧的是必败态的样子很好看,可以当场状压。然后暴力统计,做完了。

432. arc133d Range XOR

相当于 sl1sr=V。枚举 i 的后两位,发现 si 是能算的。

容斥一下之后数位 dp 即可。

433. arc133e Cyclic Medians

大概可以发现很多情况是对称的,把和 A 有关的东西拉出来,发现每个模 gcd 相等的位置有性质。

434. arc133f Random Transition

看作 n 个硬币,大概是把每一位的贡献搞出来,变成一个二元 GF。暴力化简 GF 的式子,最后得到若干个形态很好看的式子,提取一下,然后发现可以直接分治 NTT 之类的做。

推式子过程和 arc136f 似乎差不多,感觉不难,所以不管了。

435. arc132d Between Two Binary Strings

436. arc132f Takahashi The Strongest

把字母看作 1,2,3。构造串 M(i,j),如果 ai,d=bj,dM(i,j)d=ai,d。否则 M(i,j)d=0。定义 0 是 1,2,3 的子集,1,2,3 互不包含。

我们想要对每个串 S 求出答案,等价于对串 T 求出所有 (i,j) 的个数,满足 TM(i,j) 至少一位相同,其中 T 是每把都被 S 击败的字符串。

cntS 表示 i,j[M(i,j)=S]。发现变换矩阵是

[1 0 0 01 1 0 01 0 1 01 0 0 1]

那逆矩阵就是

[1 0 0 01 1 0 01 0 1 01 0 0 1]

直接高维前缀和即可。

求出 cntS 之后再做一次高维前缀和即可得到答案。

437. arc131d AtArcher

显然箭的间隔一定是 d,所以 [0,d) 的范围内一定有一枝箭。把这支箭从 0d 移动,会有 O(m) 个贡献变化时刻。暴力扫就行了。

438. arc131e Christmas Wreath

厉害题。不妨令所有 (i,j)i<j 的边权都为点 j 的权值。这样每个三角形一定合法。问题转化为将 [1,n1] 分割成三个集合,使得每个集合的和相等。可以手摸出 n=6,7,9,10 的解,后面可以用 n6 的方案递归构造。

439. arc131f ARC Stamp

考虑用问号把整个串塞满,那就把串用 ARC,AR,A,RC,C,R 贪心划分。每次一定是填满一整段。为了划分区域,要在相邻两个 ARC 中间塞一个 X。

之后就是 fi,j,0/1,0/1 表示自己这一位和下一位的选择状态。

440. arc130d Zigzag Tree

大概看看每个点是比旁边大还是比旁边小,然后就 dpu,i,0/1 就可以了。

441. arc130e Increasing Minimum

考虑按照 v 把序列分段。

fi 表示 i 恰为某段结尾的最小层数。i 的前驱不超过 1 个。算答案时挑一个合法 ifi 最小的最靠后的 i 即可。

442. arc130f Replace by Average

443. xsy5071

444. xsy5072

445. arc129d -1+2-1

xii 的操作次数。发现 (xixi1)(xi+1xi)=ai 之类的神奇东西。然后可以求出 (xixi1)。然后解出 x0 就行了。

446. arc129e Yet Another Minimization

典中典切糕题。不管了。

447. ctt2023 不知道哪个题

建出两个序列的括号树。操作相当于删掉一个点,然后它的儿子成为它的兄弟。

matu,v 表示 a 的点 u 能否匹配 b 的点 v。要么是 matson,v,要么是 u 的每个儿子贪心匹配 v 的每个儿子。

448. arc129f Let's Play Tag

先要搞清楚题解里那个奇怪式子是怎么来的。记第 i 次调头时遇到的人的初始位置的绝对值为 ai,抓到这个人的时间为 ti

在抓到 i1 时,第 i1 个人位置的绝对值是 ai1+ti1,第 i 个人位置的绝对值是 ai+ti1,所以 ti=ti1+(ti1+ai1)+(ti1+ai)=3ti1+ai1+ai,那就得到了题解里奇怪的贡献式子了。

得到式子之后就可以奇技淫巧算贡献了(?不管了。

449. arc128d Neq Neq

fifjok(i,j)ok(i,j) 是能不能把 [i,j] 区间删成 {i,j}

ji+13 的情况特判,其他情况下,ok(i,j) 等价于 [i,j] 里至少有三种数,并且没有连续两#个相同的数。

450. arc128e K Different Values

判无解是容易的。大概就是每一位挑能放或者一定要放的集合里最小的一个。

451. arc128f Game against Robot

orz lh!

考虑一个 p 怎么搞!把序列按照 p 从小到大排序,然后不断塞序列的前两个数进一个 set,然后把 set 里最大的数拿出来扔给 snuke。

01 分段,数一下扔出来的 0,发现相当于二维走路,右上右下 coef = 1,右 coef = 2。强制把 y<0 的地方改到 y=0,数这个的个数。发现就相当于没有这个限制,路径最低点的绝对值。然后可以用卡特兰数的方法数出方案,加起来是个奇异式子,瞎搞搞可以前缀和。

452. arc127d Sum of Min of Xor

posted @   ZSH_ZSH  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示