Problem A
签到题(数学)
Problem B
签到题(数学)
Problem C
简单位运算
Problem D
简单组合数学
Problem E
组合数学 + $dsu$
F 和 G 咕咕咕
签到题
签到题
简单构造
正解是建立在 $C1$ 的基础上的。易知 $n=2^x+r$,其中 $r$ 为偶数且 $r<2^x$。
考虑在原本构造的基础上交换 $p_1$ 与 $p_r$,则 $p_1=r+1<n$,指向 $p_{r+1}$
而 $p_r=2^x+r$,同样指向 $p_{r+1}$
虽然我没有往正解的方向想,但我利用正解大部分位置都指向 $n$ 的特性反向爆搜过了
不含 $?$ 的版本,即原序列固定。
考虑从小到大向序列中插入数字,即可发现 $w$ 对应的贡献的规律。
承接上文考虑策略,不难发现选择 $w_i=1$ 比 $w_i=0$ 带来的代价更小
从而要考虑 $c$ 的因子及其 $2$ 的因子数。
这样大体思路就差不多了……
E,F 咕咕咕
CF1073-div1 & div2 / Contest 2190
签到题
$Mex$ 签到题
简单贪心
发现规律即可
题意概述:合法的 括号序列 $a$ 优于 合法的 括号序列 $b$ 的判定只需满足如下条件之一:
$b$ 是 $a$ 的一段前缀,且 $b\not=a$
最小的 $i$ 满足 $a_i\not=b_i$ 处,$a_i=(,b_i=)$
给定一个 不一定合法 的括号序列 $p$(长度 $n\leq100$),其任意一子序列 $r$ 的价值如下:
如果存在 $r$ 的某一子序列 $x$ 优于 $r$,则 $r$ 的价值为 $|x|_{max}$
如果不存在则为 $0$
统计 $p$ 的所有子序列的价值总和,模数 $998244353$
重要性质:
价值只有 $0$ 和 $len - 2$ 两种。
有价值的子序列一定包含 $)(($ 结构(不一定连续)
据此展开 $DP$ 即可。我的设计为 $f[i][j][k][l]$,意为处理完前 $i$ 个字符,$)(($ 的进度为 $j\in[0,3]$,子序列长度为 $k$,括号平衡性为 $l$。
交互题,题意较复杂,不做概述。
1.题意转化
通过思考 & 模拟得出,正向序列操作的位置一定是最大的 $i$ 满足 $p_i<p_{i+1}$(因为操作更小的 $i$ 会导致前面的字典序变大)
在此基础上,我们要将 $i$ 的位置上改为最小的大于 $p_i$ 的值,后面 $[i+1,n]$ 的位置上单增。(并非反向修改最小的 $j$ 满足 $p_j>p_{j+1}$)
2.性质发现
一般情况,我们是无法在 $2n$ 次内将未知序列排序的,但有一个很重要的条件:
这意味着 [i + 1, n] 的序列中只可能有谷(或者退化成单减)
这样的排序就可行了。
$Summary$:很好的思维题,难度待评价
题意概述:给一个森林,求满足连成一个树后,对其进行 $prufer$ 序列操作后,最后剩下的两个点为 $x\in(1,n-1)$ 和 $n$ 的方案数。
发现性质:
只需令 $n-1$ 和 $n$ 直接相连即可。
由于 $n-1$ 的存在,经过一些操作后肯定会剩下 $n-1$ 到 $n$ 这样一条链。只需让 $x$ 与 $n$ 直接相连,再将 $n-1$ 接到 $x$ 下即可。
这里统计涉及 $n-1$ 的部分时,可以将 $x$ 与 $n$ 所在联通快视作整体,$n-1$ 连到 $x$ 下的概率为 $\frac{siz[x]}{siz[x] + siz[n]}$
E F G 咕咕咕
弱智题
弱智题
$Mex$ 签到题
时间戳签到题
STL练习题
我用的倍增+位运算
$mex$ 问题考虑贡献,未知有无其他方法
题解只使用了前缀和 + 二分,理论复杂度为小常数 $O(n\log n\log m)$
我的实现比较复杂,涉及前缀和、二分、单点加 & 按排名查询,理论复杂度为 $O(n\log n)$,常数可小可大(我懒得优化)
$Summary$:有思维要求,有很多细节需要理清楚,如果用了可能会比较恶心人……
签到题
签到题
基础前缀和
注意到 $L$ 很小,$4^L\approx 1e6$。基础队列
模板题,单点加区间和
双向背包模板
题目大意:每个位置有 $0$(初始) 和 $1$ 两个状态,有如下三种操作:
区间上逐一加,且仅在状态为 $0$ 的位置上加。
区间上逐一翻转,即每个位置上的值清空且状态切换
询问区间 max
一般题解 的大致思路:对于某确定区间,所有操作可以归纳成若干次翻转和一次赋值。记录操作 tag $(a,b)$ 分别为翻转次数、赋值大小,从而可以实现 $tag$ 间的合并。再记录区间状态 $0$ 的数量,进而确定区间 max。
还有一种操作可以避免 tag:用两颗平衡树分别记录两种状态的点集。
$Summary$:不错的线段树 tag 练习,需要设计合适的存储状态,约为蓝色水准