日记 2023.2.25:2023 syzx 春季训练 1
https://vjudge.csgrandeur.cn/contest/544563
A CodeForces 1491E 斐波那契树
B CodeForces 1622E 期末考试
C CodeForces 1606D 红蓝矩阵
D CodeForces 1586E 加权
E CodeForces 1633E 生成树
F CodeForces 1168A 周而复始
G CodeForces 1739E 扫地机器人
H CodeForces 1736C2 序列II
I CodeForces 1736C1 序列I
J CodeForces 1598F 括号列
K CodeForces 1606E 打枪
dsy 的题:维护序列,单点修改,区间查询乘积的莫比乌斯函数,十万。
如果区间内有人莫比乌斯函数是零,直接再见
对于 \(>\sqrt w\) 的质因子有且只有一个,所以维护 \(last\) 表示上一次出现这个质因子的地方,询问显然,修改用 set
对于 \(<\sqrt w\) 的,竟然只有 65 个,那么 bitset 暴力就是了,不对直接 unsigned long long 都行
A. CF1491E 斐波那契树
暴力。
考虑一棵树,最多有两个能切的边。经过一些归纳,得出两条边随便切一条就行。(反证一条能切一条不能切)
复杂度:递归 \(40\) 层,每层遍历满,\(O(n\log n)\)。
https://codeforces.com/contest/1491/submission/194870422
B. CF1622E 期末考试
\(|a-b|=\max(a-b,b-a)\)
枚举每个学生高了还是低了,拆掉绝对值
用一个桶统计每个题得分对答案的影响,对着这个权值排序后从大到小给分值。
\(O(2^n(nm+m\log m))\) 大概是 \(10^3\times 10^5\)。
https://codeforces.com/contest/1622/submission/194871124
C. CF1606D 红蓝矩阵
枚举 \(k\),将好多好多数字压缩成两个最值。
考虑如果是 \(n\) 个区间红蓝染色,假设蓝 < 红,那么按照 \(r\) 从小到大枚举加一个区间,动态维护一下剩下没选的(红)的最小值(后缀),然后比较一下,把所有合法方案存下来。
左右都搞完之后,要比较方案是不是一样的,简单的,异或哈希。
https://codeforces.com/contest/1606/submission/195229419
D. CF1586E
考虑树。简单路径固定,所以暴力一波。把每条边的两个端点加一的权值。
如果每个点的度数是偶数:
- 树上查分:因为操作相当于 \(a,b\) 加一,边权保龄的条件是差分保龄,所以搞完了。
- 欧拉回路:考虑这是一个欧拉回路,但是因为树上没有环,所以所谓回路就是对于一些边反复走,那一定有解了。
注意到这个结论和树的形态无关,那么连通图就搞一棵生成树就是了。有解就输出树上路径,无解就数一下多少个奇数度数。
https://codeforces.com/problemset/submission/1586/195230867
E. CF1633E
只有 \(O(m)\) 的生成树形态:一条边被抛弃后,以后就再也不用了。
假装我们有指针 \(q\),一开始 \(q=0\) 找出生成树,然后二分找下一次它发生改变的位置。\(O(m^2\log k)\)。
或者枚举所有 \(|w_i-x|=|w_j-x|\) 的位置。
总之就是找出每个生成树的对应区间,然后直接查询。一定是连续的。
F. CF1168A
二分操作次数:每个数可以加最多 \(k\) 次。
贪心使得每一个数尽可能小。
https://codeforces.com/problemset/submission/1168/194870492
G
只会向右走
DP
H&I(没听)
J. CF1598F
每日折线
状压
考虑加入一个,二分找到他什么时候不合法,然后数一下有多少个零,通过维护每一个串的前缀和 min 和 mincnt 实现
记忆化搜索:如果不合法马上跑路
https://codeforces.com/problemset/submission/1598/194877011
K. CF1606E
\(f_{i,j}\) 表示 \(i\) 个人,血量上限是 \(j\)。
枚举有 \(k\) 个人死掉,那么这些人血量 \(\leq i-1\),所以他们的血量的方案是好求(记得组合数),剩下了 \(f_{i-k,j-i+1}\)
算有胜者的方案数,则 \(0\leq k<i\),最终 \(f_{1,j}=j\)。
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/17153760.html