能拘 发表于 2025-9-18 03:33:38

ABC310E NAND repeatedly 题解

https://atcoder.jp/contests/abc310/tasks/abc310_e

一个奇怪的递归式 + \(N \le 10^6\), 试试动态规划
设 \(dp_{i,j}\) 为对于所有 \(1 \le l \le i\) 满足 \(f(l, i)=j\) 的数量, 其中 \(j \in \{0,1\}\).
最后答案就是 \(\sum\limits_{i=1}^{n}dp_{i,1}\)
分情况讨论:

[*]当 \(A_i=0\) 时, 考虑 \(dp_{i, 0}\):
[*]对于任何 \(x \in \{0, 1\}, x \barwedge 0 \neq 0\), 所以加上 \(0\)
[*]对于新增的 \(f(i, i)\), \(f(i,i) = A_i = 0\), 所以加上 \(1\)
所以此时 \(dp_{i, 0} = 0 + 1 = 1\)

[*]当 \(A_i = 1\) 时, 考虑 \(dp_{i,0}\):
[*]对于 \(x = 1\), \(x \barwedge 0 = 0\), 所以加上 \(dp_{i-1,1}\)
[*]对于新增的 \(f(i, i)\), \(f(i,i) = A_i = 1\), 所以加上 \(0\)
所以此时 \(dp_{i, 0} = dp_{i - 1, 1} + 0 = dp_{i - 1, 1}\)

[*]当 \(A_i=0\) 时, 考虑 \(dp_{i, 1}\):
[*]对于任何 \(x \in \{0, 1\}, x \barwedge 0 = 1\), 所以加上 \(dp_{i - 1, 1} + dp_{i - 1, 0}\)
[*]对于新增的 \(f(i, i)\), \(f(i,i) = A_i = 0\), 所以加上 \(0\)
所以此时 \(dp_{i, 1} = dp_{i - 1, 1} + dp_{i - 1, 0} + 0 = dp_{i - 1, 1} + dp_{i - 1, 0}\)

[*]当 \(A_i = 1\) 时, 考虑 \(dp_{i,1}\)
[*]对于 \(x = 0, x \barwedge 1 = 1\), 所以加上 \(dp_{i-1, 0}\)
[*]对于新增的 \(f(i, i)\), \(f(i,i) = A_i = 1\), 所以加上 \(1\)
所以此时 \(dp_{i, 1} = dp_{i-1, 0} + 1\)

总结一下, 就是

\

\
还有最后一个问题, 初始化. 显然当 \(A_1=1, dp_{1, 1} = 1\), 当 \(A_1 = 0, dp_{1,0} = 1\). 换句话说就是 \(dp_{1,A_1}=1\)
CODE

#include #include #include #include #include using namespace std;#define DLN(x) cout

啪炽 发表于 2026-1-14 12:15:33

感谢分享,下载保存了,貌似很强大

剧拧并 发表于 2026-1-15 15:30:31

感谢分享

边书仪 发表于 2026-1-16 07:45:26

懂技术并乐意极积无私分享的人越来越少。珍惜

计海龄 发表于 2026-1-17 22:18:20

收藏一下   不知道什么时候能用到

窖咎 发表于 2026-1-18 08:15:06

感谢发布原创作品,程序园因你更精彩

昝沛珊 发表于 2026-1-18 16:59:30

感谢分享,学习下。

貊淀 发表于 2026-1-19 23:56:09

这个好,看起来很实用

连热 发表于 2026-1-20 09:12:42

收藏一下   不知道什么时候能用到

忌才砟 发表于 2026-1-24 09:52:17

分享、互助 让互联网精神温暖你我

决台 发表于 2026-1-26 12:29:22

谢谢楼主提供!

髡芯 发表于 2026-1-28 05:21:51

很好很强大我过来先占个楼 待编辑

段干叶农 发表于 2026-1-28 05:51:35

用心讨论,共获提升!

穆望 发表于 2026-1-28 09:02:31

喜欢鼓捣这些软件,现在用得少,谢谢分享!

晚能 发表于 2026-1-29 08:29:54

谢谢分享,辛苦了

揿纰潦 发表于 2026-2-4 05:33:11

很好很强大我过来先占个楼 待编辑

阕阵闲 发表于 2026-2-7 07:35:12

yyds。多谢分享

蒲善思 发表于 2026-2-7 23:16:33

热心回复!

揉幽递 发表于 2026-2-8 09:25:18

过来提前占个楼

窝酴 发表于 2026-2-9 14:02:57

前排留名,哈哈哈
页: [1] 2
查看完整版本: ABC310E NAND repeatedly 题解