E. K Multiple Longest Commom Subsequence
题意
两个数组 $1\le k,n,m\le 1e3$, 问最长 $k$ 倍公共子序列是多少, $k$ 倍子序列指的是, 将子序列等分, 每份为 $k$ 个数, 且这 $k$ 个数相同. 如 $1,1,2,2$ 是一个 $2$ 倍子序列
题解
$\text{pre_a[i]}$ 表示从 $i$ 开始往前数, 第 $k$ 个 $a[i]$ 的下标
代码
1 | int pre_a[N],pre_b[N]; |
F. Defending Plan Support
题意
给一棵树, 每个点有权值 $\omega(i)$, 每条边有权值 $d(i,j)$, 找一个点 $x$ 使 $F(x)=\sum \omega(i)\times d(x,i)$ 最小
题解
以 $1$ 为根节点画出这棵树, 设 $j$ 的父节点为 $i$, $tot=\sum\omega(i)$, $sum[i]$ 表示以 $i$ 为根节点的子树的权值和
代码
1 | ll dp[N],ans,tot; |
K. Bitmap
题意
给一个 $n\times n(1 \leq n \leq 2000)$, 一个 $m\times m(1 \leq m \leq 1000,m\le n)$ 的矩阵, 值的范围为 $[0,255]$, 问 $A$ 中有几个 $B$, 只要每个元素相差一个定值就视为相同
题解
hash, 枚举 $A$ 中 $B$ 的左上角
代码
1 | const int M=1.1e3; |
I. Beautiful Array
题意
长度为 $y$, 乘积为 $x$ 的序列的个数
如 $x=2,y=2$, $[1,2],[2,1],[-1,-2],[-2,-1]$
题解
分解 $x$,
对方案数来说, 不同素因子是独立的, 对于 $p_i$, 其贡献相当于将 $a_i$ 个相同的球放进不同的盒子, 且允许有空, 为
再考虑负数, 负号只能为偶数个, 其贡献为
代码
1 | ll qPow(ll a, ll b, ll c) { //求(a^b) % c |