#22 2024.4.28

817. loj4143 「CCO 2019」Sirtet

818. loj3364 「IOI2020」植物比较

819. loj3367 「IOI2020」装饼干

820. loj3389 「NOIP2020」微信步数

?

计算第 \(kn + i\) 步还没死的人的个数。每一维是个一次函数,卷起来是个 \(k\) 次函数,前缀和是 \(k+1\) 次函数。做完了???

821. uoj569 【IOI2020】Stations

822. loj3830 「IOI2022」鲶鱼塘

想一想,发现 \(x> y < z,y> 0\) 这种情况是不存在的,因为可以是 \(x,0,z\)

所以一定是单峰和 0 交替。

那就设 \(f_{i,j}\) 表示 \(a_{i-1} < a_i = j\)\(g_{i,j}\) 表示 \(a_{i-1} > a_i = j\),转移好算。

823. loj3831 「IOI2022」囚徒挑战

考虑一个最暴力的东西:\(b\) 进制,存一个二元组 \((x,y)\),表示这是 \(b\) 进制第 \(x\) 位,某个数的值是 \(y\)。查询的时候看另外一个数,然后递归到 \((x-1,z)\)。至于到底看哪个数,可以在外面记。

注意到我们可以干这么一个事情。建立一个树形结构,每个节点是 \([L,R]\)。假设它的深度为 \(d\)。它有 \(a_d\) 个子节点,它们长度相等且不交,拼成了 \([L+1,R-1]\) 这个段。于是我们只需要记录 \(([L,R],sonid)\) 这个二元组就行了。进一步地,我们可以让同一层长得一样,所以我们只需要记 \((d,sonid)\) 这个二元组。关于 \(a\) 随便 dp 一下就能卡进去。

824. xsy5435 图修改(graph)

825. xsy5436 序列计数(sequence)

826. xsy5437 黑白路径(path)

827. loj3832 「IOI2022」无线电信号塔

十分感谢这个题,特别奇妙。

828. loj3833 「IOI2022」数字电路

829. loj3835 「IOI2022」千岛

830. qoj1305 第七届中国大学生程序设计竞赛 桂林站(CCPC 2021 Guilin)

831. luogu1742 最小圆覆盖

832. xsy5438 梅子(maze)

833. xsy5439 城市(city)交互题

834. xsy5357 南瓜(pumpkin)

835. xsy5359 序列(seq)

836. qoj819 Petrozavodsk Winter 2022. Day 1. Kyoto U Contest 2

837. luogu5397 [Ynoi2018] 天降之物

posted @ 2024-05-03 13:29  ZSH_ZSH  阅读(38)  评论(0编辑  收藏  举报