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,线段树维护一下

posted @ 2024-08-23 22:05  1358id  阅读(22)  评论(0编辑  收藏  举报