发现我的 Ynoi 还没做过几道,根本不想写。

Ynoi 1998 Problems

Frühlingsbeginn

有区间 ,询问 ,求 时刻是否能选出区间并为

序列分治。

对于跨过 的区间,求最多能覆盖 两边多远,扫时间维,线段树下标 ,维护右端点的最小值,线段树二分。

检查在两边的区间能不能补上剩下的。扫 ,线段树下标时间维,维护右端点最远能覆盖到哪里,区间取 max,弹出 min 的询问。

复杂度

Marchen

询问 数。

ZYPRESSEN

询问 是能组成三角形的

Ynoi 2000 Problems

rspcn

升或降序排序;询问一个前缀有多少个不同值。

强制在线。

仿照颜色段均摊,维护若干个升或降序段。

权值线段树维护每个值出现次数和是否第一次出现,线段树分裂合并。

复杂度

pmpkmp

树,树边上有一个字符。

的路径替换为给定的字符串,保证长为 ;查询 路径的字符串与给定字符串的匹配次数。

树剖,枚举轻边直接查询,重链上一共 次修改 次询问,离线,维护哈希值。

复杂度

Ynoi 2009 Problems

rpdq

range pair distance query.

莫队二次离线一下, 次路径加, 次路径和。

树分块平衡一下。Top Cluster 树分块,将树分为 的簇,每个簇只有两个界点,至于另外两个簇通过上下界点相连,上界点可能有多个簇,每个边一个簇。一个替代方法是,对 且子树内 的点撒点,然后建虚树,同样效果。