摘要:
淀粉质的板子题吧。 考虑处理一颗子树答案时拿其他子树的答案来更新。 具体来说是维护一个桶,记录到分治点距离为$s$的点的最短路径。 要记得用队列来清空,不然复杂度挂飞。 Race ``` #include #include #include #include #define ll long long 阅读全文
摘要:
平衡树维护序列的板子题。 用$fhqTreap$ 考虑在分裂时,用子树大小来分,因为我们相当要分裂出三个区间$[1,l - 1][l,r][r + 1,n]$这个区间是按$k_$分的,这个$k_$指的的坐标序列。 文艺平衡树 #include<iostream> #include<cstdio> # 阅读全文
摘要:
开始被毒瘤数据卡了几个点,没有一下$AK$ \(A\) 考虑答案为$n - \lfloor n / x \rfloor$ A ``` #include #include #define ll long long inline ll abs(ll x){ return (x < 0) ? -x : x 阅读全文
摘要:
有一个分块做法: 考虑先求出原始序列的答案。 然后考虑交换两个数$a_l,a_r$ 那么答案的变化区域肯定在$[l,r]$ 于是考虑答案的变化贡献量。 \(i \in [l,r]\) \(a[i] > a[l],ans + 1\) \(a[i] < a[l],ans - 1\) \(a[i] > a 阅读全文
摘要:
权值线段树合并裸题。 [HNOI2012]永无乡 #include<iostream> #include<cstdio> #define ll long long #define N 100005 ll head[N]; ll n,m; ll v[N << 5],ls[N << 5],rs[N << 阅读全文
摘要:
半小时打完了$A~D$,想要一发$F$冲进前$100$,结果平衡树常数大$T$了。据说$G$是矩阵树定。 \(A\) 放代码吧。 A ``` // code by Dix_ #include #define ll long long inline ll read(){ char C=getchar( 阅读全文
摘要:
开始被标签带骗了。 考虑一个$dp$,$f[i][j]$代表有一个棋子在$x_i$,另外一个$j$的最小答案。 那么考虑转移。 如果$j != x_{i - 1}$ 那么答案自然贡献上$\vert x_i - x_{i - 1} \vert$ 否则考虑在 该点的答案贡献是最小的$f[i - 1][j 阅读全文
摘要:
在考场上因为一些原因,系统编译不了。 于是在最后$1h$把$T3$得重打一遍,所以这题的暴力没有写完。 不过也确实很蠢,没想到做法。 考虑搜索原串中的字母的对应取值,然后计算出结果的柿子。 考虑把柿子中原字母不替换,否则从左到右替换成新字母(相同取值一样的)。 然后插入$hash$. 查询时考虑非关 阅读全文
摘要:
生成函数版题。 考虑对于这些条件写出$OGF$ \(1 + x^6 + x^{12} + x^{18}..... = \frac{1}{1 - x^6}\) \(1 + x + x ^ 2 + x^3 + ..... x^9 = \frac{1 - x^{10}}{1 - x}\) \(1 + x 阅读全文
摘要:
发现了$FJOI$原题 没什么想法,想到自己考场上连$n^2$做法都不会就很感慨。 考虑如果只选择一个序列的任务,那么肯定全部选择会更加优秀。 那么考虑如果我们选择了两个序列的一部分。 如果$A$中选择的部分的权值和小于$A$权值和的一半,且$B$也如此,那我们不如只选择一个序列来的优。 我们考虑强 阅读全文