首页 > 其他分享 >arc133,arc134,arc135题解

arc133,arc134,arc135题解

时间:2023-08-17 11:11:05浏览次数:32  
标签:arc134 arc135 相同 表格 于是 题解 即可 绝对值 dfrac

ARC133 A-E

A Erase by Value

扣掉一个数当且仅当这个数后面有更小的数。特判单增即可。

B Dividing Subsequence

相对比较有启发性。发现有倍数关系的数对只有 \(O(n\log n)\) 对,于是可以把对应下标攒成一堆二元组,于是一个合法的取数方案就变成了两个维度分别严格上升的元素集合。按其中一维排序,给第二维做最长上升子序列即可。为了第一维严格,第一维相同的元素按第二维降序排列即可。

C Row Column Sums

正难则反。考虑每个数被扣除的和的最小值,可以发现有方案使得和是行和列的较大值(前提是要合法,即余数相同),随便构造即可。于是就没有了。

D Range XOR

前缀异或和差分一下,问题变成了一个区间内异或和特定的数对数量。整理可以得到后面两位的值,而前面的值等于本身或者等于零,于是枚举最后两位前面搞数位 DP 即可。写起来没什么。

E Cyclic Medians

妈的感觉被诈骗了。

考虑最后答案 \(\ge k\) 的方案数,发现最后的值只和最有一个相同的夹层的颜色有关,如果没有相同的夹层,那么将会保持初始值不变。于是有些人开始了对夹层期望的探寻,许久之后被告知这玩意是对称的,蛤蟆麻了。就和之前的某个题一样,\(k=x,k=n+1-x\) 两个阶段下黑色和白色的数目是相同的,因为概率是相反的。所以只需要把不存在夹层的方案找出来,剩下的情况除以二贡献即可。

ARC134 A-E

A Bridge and Sheets

顺序结构题。

B Reserve or Reverse

简单题。

C The Majority

把重要角色和次要角色一一绑定,然后暴力计算组合数即可。

D Concatenate Subsequences

首先应该保证前半部分字典序最小,所以第一个数应该贪心地选最小的。此时如果发现对应的数有比最小的数还小的(或者相等),那么选择保留这一对显然是最优的。如果没有,那么应该选择前面所有的最小数对应该不劣,最后考虑前半部分后面一丢丢的数对就可以了,即什么时候选进来可以让答案更优。发现后面那个数无关紧要,选择前面的数即可,分类讨论一下和后面第一个选择的数的大小关系即可。

E Modulo Nim

很具象的一道题。

有一些显然的确定态,比如如果存在奇数(并且并不是全都是 \(1\))那么先手选择模 \(2\) 即可让后手去世。接下来就是全都是偶数的情况了,似乎并不是很好分析的样子,于是考虑对 \(4\) 取模再进行讨论。如果存在余数为 \(2\) 的,那么模 \(4\) 即可让对手去世。于是问题就变成了如果全都是 \(4\) 的倍数的情况,然后再对 \(12\) 取模。如果有余数为 \(4\) 或者 \(8\) 的,那么可以对 \(12\) 取模,最后剩下一堆 \(4\) 和 \(8\)。分讨一波:全都是一个数,那么显然有必胜的策略(模 \(3\) 即可),即先手必败;混杂的情况如果对方模 \(3,5,7\),存在奇数先手必胜;如果对方模 \(6\),那么只剩 \(2,4\),先手必胜,其它情况显然。最后只剩全都是 \(12\) 倍数的情况了。由于 \(a_i\le 200\),可能的数的数量不是很大,直接状压即可。方案统计是简单的。

ARC135

A Floor, Ceil - Decomposition

尽量分割成 \(2,3\) 时最优,于是暴力记忆化搜索即可,感官上状态数很少,可以通过。

B Sum of Three Terms

随便做。

C XOR to All

发现任意操作都相当于是整个数列异或上一个数,于是枚举每个数考虑对每一位的影响暴力计算答案取最大值即可。

D Add to Square

首先需要做一个转化。把原来的表格黑白染色,并把黑色的格子取反。这样做有两个好处:一个是新表格的答案和原表格的答案是一样的,因为一个数取反之后绝对值不变;另一个是说这样一来每次操作中每一行每一列都恰好涉及一个白格子和一个黑格子,也就是说这一排的数的和是不变的。

于是答案就很显然了,即每行绝对值之和和每列绝对值之和的较大值。当然可以尝试着去大概证明一下。

首先有一个结论是任意满足行和列和和原表格相同的数都可以由原表格通过一系列操作得到,大概就是可以从一个角落向其它角落操作,最后只有一行一列没被确定,由于和是相同的,所以最后的那一行一列和原表应该也是相同的,这是必要性。

充分性可以通过构造过程来证明,此时问题就变成了希望找到一个表使得其行列和合法并且元素绝对值之和等于我们的答案。思考一下什么时候前者满足而后者不满足,肯定是存在一行中存在两个数一正一负,加起来抵消了,绝对值就产生了浪费。避免这种浪费的方法就是让元素和所在行列和的符号保持一致,于是每次暴力找到一对行和列符号相同就能避免这种浪费。如果找不到了,那么说明有一方已经全零了,剩下的就填充相反数即可,容易发现这样构造出来的表格元素绝对值之和就是前文的答案。

E Sequence of Multiples

多头说得好,这玩意一看就具有阶段性,看不出来打表也能打出来。

量化分析一下。显然贪心地来做,即 \(a_{i}=(\lfloor\dfrac{a_{i-1}}{i}\rfloor+1)i\),记 \(b_i=\dfrac{a_i}{i}\),那么可以得到 \(b_i=\lfloor\dfrac{b_{i-1}(i-1)}{i}\rfloor+1=i-\lfloor\dfrac{b_{i-1}}{i}\rfloor+1\),于是发现将 \(b\) 差分之后的值只和 \(\dfrac{b_{i-1}}{i}\) 有关。

首先给一个比较松的上界。由于每走 \(k\) 个数必定遇到倍数,所以 \(a_i<x+i^2\),故而有 \(b_i<\dfrac{x}{i}+i\)。考虑分治,令 \(B=x^{\frac{1}{3}}\),那么前 \(B\) 个点的段数显然是 \(O(B)\),而 \(B\) 处 \(b\) 的取值都已经是 \(x^{\frac{2}{3}}\) 级别的了,差分值是在 \(x^{\frac{1}{3}}\) 级别的,后面的值只会减不会增,所以段数也是 \(O(B)\) 级别的。所以二分每个段的端点计算贡献复杂度是对的。

二分条件,考虑 \(b\) 的差分数组变化的条件。假设当前计算出来的公差是 \(d\),合法的右边界 \(r\) 应该满足 \(\dfrac{b_{r-1}}{r}=\dfrac{b_l-x(r-l)}{r}=\dfrac{b_l}{l+1}\)。即没有下降的空间即可。然后通过楼上的分析可以得到更加简洁的柿子从而去掉一只 \(\log\),在这里就不写了。

然后来考虑贡献问题。假设当前左右边界为 \(l,r\),\(b\) 是一个首项为 \(c\),公差为 \(d\) 的等差数列,令 \(f(l,r)\) 为等差数列求和,\(g(l,r)\) 是一个区间的平方和,那么贡献应该是:

\[\sum\limits_{i=l}^r(c-ld+id)i=(c-ld)f(l,r)+dg(l,r) \]

计算即可。另外发现 998244353 能被 \(6\) 整除。比较强。

标签:arc134,arc135,相同,表格,于是,题解,即可,绝对值,dfrac
From: https://www.cnblogs.com/Feyn/p/17637117.html

相关文章

  • arc130,arc131,arc132题解
    ARC130A-DARemoveOneCharacter对每个连续块分别处理即可。BColorfulLines非常经典的题目,对于每一行每一列记录最后出现的颜色并计算贡献即可。CDigitSumMinimization有点细节。枚举最后两个数,显然加起来超过十是很好的;然后前面的数应该尽量凑九,然后要注意尽量不选......
  • FJOI2018 领导集团问题 题解
    先考虑暴力dp。设\(f_{u,x}\)表示在子树\(u\)中选出的节点集合的\(w\)最小值为\(x\)的情况下,最大的节点集合的大小。有两种转移(选不选\(u\)):\(f_{u,x}\gets\sum\limits_{v\in\text{substree}_u}f_{v,\gex}\)\(f_{u,w_u}\gets\sum\limits_{v\in\text{substree}_u}......
  • [CF1730D] Prefixes and Suffixes 题解
    首先发现后缀和前缀比较不好看,所以翻转第二个字符串,记为\(T'\)。这样就变成了操作两个字符串的前缀。观察发现,操作\(k\)等价于交换\(S[1\simk]\)和\(T'[1\simk]\),然后翻转\(S[1\simk]\)和\(T'[1\simk]\)。结论1:同一个下标上的字符对恒定。因为我们所有的操作都......
  • CF932E Team Work 题解
    Description给定\(n,k\),求:\[\displaystyle\sum_{i=1}^{n}{\binom{n}{i}\timesi^k}\]\(1\leqk\leq5000,1\leqn\leq10^9\)。Solution看到那个\(i^k\)很不爽,但是\(k\)很小,考虑用斯特林数改写一下:\[i^k=\sum_{j=0}^{k}{\binom{i}{j}\left\{{\begin{matrix}k......
  • P1110题解
    首先我们考虑第一种情况怎么处理,显然我们可以给原数列的每个数开一个\(vector\),每加一个数丢到对应的\(vector\)后面就行了。再看第二个操作,你考虑新加一个数会有什么影响。原来的两个\(vector\)是这样的:新加一个数进去以后:原来的\(|y-x|\)要删除,新增了\(|x-z|\)和\(|z-y|\)......
  • 【题解】[ARC158C] All Pair Digit Sums
    传送门题目分析我们可以先从简单一点的情况开始分析,如果现在\(a_{[i]},a_{[j]}\)都不会进位,那么最后的\(f(a_{[i]}+a_{[j]})=f(a_{[i]})+f(a_{[j]})\)。证明如下:有两个数\(x=\overline{x_nx_{n-1}....x_1}\)和\(y=\overline{y_my_{m-1}...y_1}\)。令\(n\lem\),由于不会......
  • vscode git突然失效问题解决
    一:首先配置‘环境变量’打开电脑‘设置’----->关于--->高级系统设置---->环境变量------>用户和系统变量都设置一下,点击Path------->新建-------->将git-bash的应用程序地址粘贴到里面----->一直点击确定,直到退出(这里的应用程序地址看自己保存的bash.exe的位置)我的是:C:\Program......
  • 新生赛题解
    A题解:不会#include<bits/stdc++.h>#pragmaGCCoptimize("Ofast")#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<cmath>//#definedoublelongdoub......
  • P2073题解
    链接:P2073送花题意:有若干朵花,每个有两个属性(美丽值和价格)。你需要维护\(3\)种操作:1.添加一朵花(如果之前有价格相同的忽略此操作)2.删除最贵的花3.删除最便宜的花最后输出两个数:美丽值的总和和价格总和解法:经典的平衡树题。对于第一种操作,关键在于判重。先询问一下有......
  • 安防视频监控平台EasyNVR视频监控汇聚平台页面无法上传授权文件的问题解决方案
    TSINGSEE青犀视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入,并能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。在智慧安防等视频监控场景中,EasyNVR可提供视频实时监控直播、云端录像、云存储、录像检索与回看、告警等......