2024.11.19 闲话

歌:ふせっしょー - 晴いちばん feat. 初音ミク .

集合 \(C=\{0,1,2\}\)\(C\) 上有二元运算 \(\times\)(最后告诉你 \(\times\) 是什么)。

对于 \(C\) 上的长度为 \(n\) 的序列 \(a\),定义 \(f(a)\) 是长度为 \(n-1\) 的序列且 \(f(a)_i=a_i\times a_{i+1}\)

定义 \(V(a)\)\(a\) 执行 \(n-1\)\(f\) 后得到的序列中唯一一个数。

现在给你一个 \(C\) 上的序列,每次给一个区间问它的 \(V\) 是多少。

第一种 \(\times\)

\(\times\) 0 1 2
0 0 0 1
1 1 1 2
2 1 1 2

第二种 \(\times\)

\(\times\) 0 1 2
0 0 0 2
1 0 1 1
2 2 1 2

沟槽的 012 Pyramid 我也是服了

以下是做法由于是 NOIP 难度题所以最好不看:

第一种

nfls T1 (a.k.a. 正在生产三叶虫)

所有数全部减一:

\(\times\) -1 0 1
-1 -1 -1 0
0 0 0 1
1 0 0 1

然后变成 \(a\times b\) 如果 \(a=1\) 产生 \(1\) 的贡献,如果 \(b=-1\) 产生 \(-1\) 的贡献,两种贡献相撞消除

这样大概就是一个括号匹配的问题最后是线性的

第二种

Rock-Paper-Scissors Pyramid

然后拿线段树维护一下

唉其实本质上好像长得都是这种各种直线碰一碰的东西

我让你看看到底哪里不一样

图 1

图 2

posted @ 2024-11-19 15:41  Jijidawang  阅读(121)  评论(5编辑  收藏  举报
😅​