摘要:
闲话 本文同步发布在 cnblogs。 正题 容易发现此题要求花必须一高一低摆放。 最优化问题,看不出怎么贪心,遂 DP。 设计状态 \(f_{i, 0}\) 表示当前为上升形势最长花序列,\(f_{i, 1}\) 表示当前为下降形势最长花序列。 状态转移 由于需要一高一低,易得: \[f_{i,
阅读全文
posted @ 2025-01-11 22:12
zhangzirui66
阅读(7)
推荐(0)
编辑
摘要:
条件第一步,要能到达 \(t\) 点,建反图跑一遍。记录哪些点可行。 第二步,扫描每个点,若其旁边均为标记过的,说明点的出边所指向的点都直接或间接与终点连通。记录这个点第二次 第三步,在原边枚举每条边,若两个节点均被记录了第二次,加入一个新图,否则扔掉。 对新图进行 BFS 即可。 代码: #inc
阅读全文
posted @ 2025-01-11 15:09
zhangzirui66
阅读(7)
推荐(0)
编辑
摘要:
组合数,还是多测,考虑预处理所有答案。 组合数的递推公式如下,证明在本文底部: \[C_{i,j} = C_{i - 1, j} + C_{i - 1, j - 1} \]由于求的是是否能被 \(k\) 整除,转化式子为: \[C_{i,j} = (C_{i - 1, j} + C_{i - 1,
阅读全文
posted @ 2025-01-11 14:37
zhangzirui66
阅读(2)
推荐(0)
编辑
摘要:
day -1 找不到队友,很着急( day -0.1 有 ilibilib 大佬带,临时组个 \(2\) 人队。 day 1 开局我开 C,ilibilib 大佬开 A,发现不对先签了个 M。 M AC! 中途招募令有了人,sbh2012 入队。 C 题 The NIT 的方案是明确的,找到除 \(
阅读全文
posted @ 2025-01-11 14:37
zhangzirui66
阅读(16)
推荐(0)
编辑
摘要:
首先进行观察,发现第 \(i\) 块区域分为两种情况: \(a_i \le a_{i-1}\),此时 \(a_{i-1}\) 操作时可以带上它,无需额外操作,答案不变。 \(a_i > a_{i-1}\),此时前面带完后还需降低,答案补上差值 \(a_i - a_{i-1}\)。 枚举 \(i\)
阅读全文
posted @ 2025-01-11 14:19
zhangzirui66
阅读(8)
推荐(0)
编辑
摘要:
有点暴力的模拟做法。 观察到 moo 形式的字符串只会有 \(2\) 种字符,我们进行暴力枚举。 枚举 moo 叫的位置,分两种情况分讨: 理想情况,无损坏,判断即可,并记录此处已有 moo 叫。 坏掉了,由于只坏了一个,使用变量记录是否修复过,若没有,检查是否可修。 时间复杂度显然为 \(O(|s
阅读全文
posted @ 2025-01-11 14:18
zhangzirui66
阅读(3)
推荐(0)
编辑
摘要:
一道小分讨。 坑点在于交换可以不相邻且不能自己交换。 观察到只要 \(k \ge 1\) 就一定能将最大值换到最前面,剩下的随便换就行。但 \(n=2\) 是例外,此时没有剩余可交换的,手动特判 \(k\) 的奇偶性即可。 若 \(k=0\),则直接计算答案。 整合即可得出代码: #include<
阅读全文
posted @ 2025-01-11 14:18
zhangzirui66
阅读(3)
推荐(0)
编辑
摘要:
首先观察到对于每个记忆只需满足它是独特的,所以当我们选择一个值时,除了 \(l=r\) 的所有记忆都能躲开它,当 \(l=r\) 时,记录一次 \(l\) 即可。 预处理每个记忆类型到 \(f\) 数组后(题面中限制了 \(1 \le l,r \le 2\times n\)),我们就得到了一个很有前
阅读全文
posted @ 2025-01-11 14:17
zhangzirui66
阅读(62)
推荐(0)
编辑