P17210 【模板】半在线决策单调性
题目描述
给定一个长度为 $n$ 的序列 $a_1\cdots a_n$ 以及一个序列 $b_1\cdots b_n$。
定义一个区间 $[l,r]$ 的权值 $w(l,r)$ 为
$$b_r+\sum\limits_{i=l}^r\sum\limits_{j=i+1}^r[a_i=a_j]$$
其中 $[\text{cond}]$ 当且仅当 $\text{cond}$ 为真时 $=1$ 否则 $=0$。
对于每一个 $p=1,2\cdots n$,请你将 $1\cdots p$ 划分成若干段,使得每段的权值之和最小,形式化的,你要找出若干下标 $x_0\cdots x_k$,使得:
- $x_1=0,x_k=p$
- $\forall i=0,1,\cdots k-1,x_i
输入格式
第一行一个整数 $n$ 代表序列长度。
第二行 $n$ 个整数描述一个长度为 $n$ 的序列 $a_1\cdots a_n$。
第三行 $n$ 个整数描述一个长度为 $n$ 的序列 $b_1\cdots b_n$。
输出格式
一行 $n$ 个整数依次代表每一个前缀的答案。
说明/提示
- 对于 $20\%$ 的数据,$n\leq 5000$。
- 对于 $50\%$ 的数据,$n\leq 10^5$。
- 对于 $100\%$ 的数据,$n\leq 5\times 10^5,1\leq a_i\leq n,0\leq b_i\leq 10^9$。