做题记录高一下
ARC154
A
和定,差大,积小
B
删掉S开头,放入S任意一个位置,求多少次操作后和T相等
这里随着$i$的增大,在某一个点变成相等,$\color{red}有单调性,二分$
C
两个序列,$A$,$B$,操作$A[i]=A[i+1]$,求是否可以让A等于B,是个环
这里可一以发现,只有B是A的子序列满足要求
D
交互:一个被打乱的$1$到$N$的序列,告诉你$P[i]+P[j]$是否大于$P[k]$,要求你输出每个数的值
首先思考特例$1,\frac{N}{2},N...$
发现$P[i]+1>P[j]$可以推出$P[i]>P[j]$,所以要找$1$
$P[i]+P[i]<=P[j]$,则$i$,更优
过程用归并排序减少比较次数,也可以用$stable_sort()$
ARC153
B
有一个 $H$ 行 $W$ 列的矩阵,矩阵中每个位置都有一个小写字母。每次操作给出 $a,b$,含义是在第 $a,a+1$ 行之间切一刀,再在 $b,b+1$ 列之间切一刀,这样能得到四个矩阵;每个矩阵旋转半周,最后把四个矩阵拼起来得到新矩阵。有 $n$ 次操作,每次形如 $a_i,b_i$,希望输出操作后的矩阵。
$对于x_i,y_i关于a_i,b_i的操作,如果x_i<a_i,x_i=a_i-x_i+1,否则H+a_i-x+1,都mod\ H$
多次操作式子为$a_k-[a_j-(a_i-x+1)+1]+1$
我们可以把和$a$有关的提取出来单独算,那么对于每个点的位置$O(1)$计算
C
给定 $n$ 和一个长度为 $n$ 的序列 $A$,满足 $A_i \in {-1,1}$。
你要尝试求出一个长度为 $n$ 的序列 $x$,满足以下限制:
-
$|x_i| \leq 2 \times 10^{12}$;
-
序列严格递增,即 $\forall 1 \leq i < n$,$x_i < x_{i+1}$;
-
$\sum_{i=1}^n{A_ix_i} = 0$。
如果存在这样的序列,输出 Yes 和一个满足条件的序列 $x$;如果不存在,则输出 No。
这道题,$emmm...$,当我看到数据范围还是很惊讶的,这不是乱切吗?
对于第一个数,降低是可以把后面所有数的正值拖下去的
D
定义 $f(x)$ 为其十进制意义下各位数字之和,比如 $f(1)=1,f(123)=6$。
给定长度为 $n$ 的序列 $A$,请找到一个非负整数 $x$ 使得 $\sum\limits_{i=1}^nf(A_i+x)$ 最小,并输出这个最小值。
$dp[i][j]$表示当前枚举到第$i$位,向前进位$j$个的最小贡献,第一遍计算贡献,第二遍计算向前进位的贡献,当前是第$i$位,按照第$i-1$位排序
2月1日
烤串
$Q$次查询,每次查找一个区间,求区间中回文串数量
对于以每个点为中心的回文串,$logN$可以解决,通过$Hash$二分
对于每个点,是一条线段,查询线段长度,用区间修改主席树,标记永久化
乘积筛
$$
ans=\sum_{1\le x\le N,1\le y\le M,ic+jy=C}a_xb_y
$$
$\color{red}可以用exgcd?得看看$
暴力记忆化
2月3日
饼干
有$n$种饼干,第$i$种饼干有$a_i$块。你需要尽快吃掉这些饼干,但是你吃饼干时必须满足一个特殊限制:
假设你第$i$天吃掉第$j$种饼干$b_{i,j}$块,则$\forall i,2\max_{1\le j\le n}b_{i,j}=\sum_{j=1}^nb_{i,j}$。
构造一个吃完饼干的方案或者报告无解(当你不能吃完这些饼干时)。如果有解,你需要在$\lceil\frac{n}{2} \rceil $天内吃完饼干以得到满分。
被吃完只可能其中最大的不超过一半,对着这个目标选择加上删减

浙公网安备 33010602011771号