arc板刷记录
希望不鸽。
arc104
C. 注意一个条件是每层只能有一个人上或下。于是同一个ci相等的连续段一定是前一半上后一半下。那就很好判断一个区间是否能划成一个连续段。暴力dp。
D. (没写)设平均数是x,那么把所有数字减去x后比x小的数和比x大的数和互为相反数,于是避免了对选择数字个数的讨论。设fij是选1~i,和为j的答案,大力dp。
Upd: 大力 DP 是n^5 的,前缀和优化到n^4 。 blog
arc105
C. (没写)注意到n=8所以间隔不超过8个。首先枚举全排列肯定要,然后对于每个连续段我考虑承重最大的受不住这个连续段的桥,那么承重比它小的所有桥上都必须把这个连续段拆了。那么这些桥里长度最大值就是我拆掉以后中间的距离。分成两个部分之后继续做即可。复杂度只要不带m都行。
Upd: 还真能大力m2^n维护这个东西。
D. 分n是奇数和偶数。n是偶数那么先手先取石子,所以后手赢的条件就是他能模仿先手的放石子方式,就是每个数量成对。n是奇数的话明显地后手必胜,因为石子不能成对。
E. 好像还是个博弈+猜结论,还不会
Upd: 最后的操作次数是n(n-1)/2-m-xy,xy是1和n所在块的大小,然后奇偶性讨论一下。
arc106
C. 傻逼构造。
D. 先把式子变成 $$ \frac{\sum_{i=1}^n \sum_{j=1}^n (a_i+a_j)^x - \sum_{i=1}^n ( 2a_i )^x}{2} $$
然后后面那一项求解的时候直接暴力 O(nk) 干掉
前面那个东西把x次展开变成 $$\sum_{i=1}^n \sum_{j=1}^n \sum_{k=0}^x \frac{ x! }{ k! (x-k)! } ( a_i^k a_j^{x-k}) $$
然后给他组合一下变成 $$x! \sum_{k=0}^x ( \sum_{i=1}^n \frac{ a_i^k }{ k! } ) ( \sum_{j=1}^n \frac{ a_j^{x-k} }{ (x-k)! } )$$
然后右边两项是一个东西,大力O(nk)预处理即可。然后就可以O(k^2)算。
总时间复杂度是一个 O(nk) 带一个巨大常数可能还有一个log
arc107
C. 显然行和列独立。如果ab,bc能换,abc就能两两任意换,就一个全排列n!。并查集维护即可
D. 设fij是i个数和为j的答案,那如果我放一个1进去,就是fi-1j-1,否则我把所有数字乘2就是fi2j,大力dp即可。
arc108
C. 随便找一棵生成树然后随便搞搞
D. 分类讨论
arc109
C. 一轮结束之后肯定还是最多n个数的循环,暴力做k轮即可
D. 首先x1+x2+x3和y1+y2+y3可以确定一组位置。然后给他打个表就找到规律了。
arc110
C. 暴力把1,2,3,...,n换到它应在的位置,然后看每对数是否被交换过即可。
D. 考虑组合意义
arc111
A. [10^n/m] % m=[10n%m2 / m] % m
B. 每次给 ai 和 bi 连一条边,不难发现每一棵树答案减 1。
C. 每次暴力把重量最大的物品换走。显然正确。没写
D. Cu!=Cv 的直接定向,其他的边从任何一个点跑dfs就行,因为保证有解所以最后肯定能回去。
arc112
C. 设 fi 是 i 为根子树先手-后手的值,然后对于每个 i 贪心的规划它子树的访问顺序。
D. 每个#都是联通一行和一列。并查集维护让看要加多少条边使得所有行或者所有列均连通即可。
arc113
D. 条件就是说对于每个 i 和 j 有 ai<=bj。暴力统计即可。注意 n=1 和 m=1 的情况。
arc114
C. 可以考虑从 i 个数到 i+1 个数的时候不需要增加一次操作的情况数。也可以大力推式子。
arc115
D. blog
arc116
C. 枚举 an,然后对 an 的所有因数做一个组合数
D. 拆位,然后做背包。
arc117
C. 把三种颜色看做012,然后找规律
D. 把每个位置的ei排序之后ei-e(i-1)一定是i点和i-1点的距离.所以ei的最大值一定是dis(p1,p2)+dis(p2,p3)+..+dis(pn-1,pn).然后因为上面式子加一项dis(p1,pn)就变成了2(n-1),所以我们需要dis(p1,pn)最大来保证maxe最小.所以取一条直径并且按照dfs序跑一遍即可
arc119
C. 一个区间成立当且仅当交错和为 0,前缀和维护
arc120
C. 将每个数看做ai+i,然后计算逆序对个数
D. 首先贪心法可知答案一定是最大的n个数减最小的n个数。后面的实现
arc121
C. 第i次操作从左到右把n-i+1放到他的位置.如果奇偶性不对那么前面几位操作一下.最后剩三个数的时候暴力操作直到排好序
arc122
C. 考虑把每次操作映射到斐波那契数列.详情可一件洛谷上第一篇题解
arc123
C. 设dpi是i的答案.则对i最后一位分类:13的话fi可以取1,26可以取2,39可以取3,49(0~2借位)可以取4.然后考虑dp i/10的值,最终dpi是两个取max
D. 可以证明必定有bi=bi+1或者ci=ci+1.然后大力三分b1即可求解
arc124
C. 对着质因子跑
D. blog
arc125
C. blog
D. 考虑dp,那dpi就是上一个i到当前位置总和,然后把dp lasi置为0,线段树维护一下