发现我的 Ynoi 还没做过几道,根本不想写。
有区间 ,询问 ,求 时刻是否能选出区间并为 。
序列分治。
对于跨过 的区间,求最多能覆盖 两边多远,扫时间维,线段树下标 ,维护右端点的最小值,线段树二分。
检查在两边的区间能不能补上剩下的。扫 ,线段树下标时间维,维护右端点最远能覆盖到哪里,区间取 max,弹出 min 的询问。
复杂度 。
询问 求 且 的 数。
询问 求 且 是能组成三角形的 。
对 升或降序排序;询问一个前缀有多少个不同值。
强制在线。
仿照颜色段均摊,维护若干个升或降序段。
权值线段树维护每个值出现次数和是否第一次出现,线段树分裂合并。
复杂度 。
树,树边上有一个字符。
将 的路径替换为给定的字符串,保证长为 ;查询 路径的字符串与给定字符串的匹配次数。
树剖,枚举轻边直接查询,重链上一共 次修改 次询问,离线,维护哈希值。
复杂度 。