P3546 [POI2012] PRE-Prefixuffix 做题记录
对于两个字符串 A,B,若能将 A 的一个后缀整体移动到 A 的前面则称它们是循环同构的。
给定一个长 n 的字符串,求最大的 L 使得 S[1,L] 和 S[n−L+1,n] 是循环同构的。
1≤n≤106。
【PR #15】二叉搜索树 做题记录
有一棵 n 个点的树,每个点上有一个二叉搜索树。
然后依次进行 m 次操作:
1 u v x
:在 u→v 路径上每个点的二叉搜索树中插入元素 x,即 ∀p∈{u→v} 执行 insert(rtp,x):void insert(int&p,int x){ if(!p) return p=x,void(); if(x<p) insert(ch[p][0],x); else insert(ch[p][1],x); }
0 u w
:在点 u 上的二叉搜索树中执行 ask(rtu,w),求其返回值:long long ask(int p,int x){ if(x==p) return x; if(x<p) return ch[p][0]?ask(ch[p][0])+p:p; else return ch[p][1]?ask(ch[p][1])+p:p; }
1≤n,m,x,w≤2×105,每次 1 操作的 x 互不相同。
QOJ2211 IOI Problem Revised 做题记录
有 n 个人在一个长 L 的环上,第 i 个人位于坐标 ai 处。你要选择 k 个关键点,最小化每个人到最近的关键点的距离的和。输出方案。
1≤k≤n≤2×105,1≤L≤1012。
0%