atcoder equal 100d arc

AtCoder Beginner Contest 324

D - Square Permutation 须知:最大的平方数的平方一定小于等于10n,平方数最多为10(n/2)(因为再大会越界) 因为要求的数一定是原数的排列组合,所以它们的元素和对应的元素个数一定相同 所以只要判断平方数的字符串是否与原字符串相等即可(这里可以利用排序判断) 点击查看代码 # ......
Beginner AtCoder Contest 324

Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。 不然可能需要绕几个弯才能想出来。 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, c_i\),保证从编号小的边向编号大的边连边,且 \(1\) 到 \(n\) 必有路径,求 \(1 ......
题解 Beautiful 分数 Beginner Atcoder

[ARC116C] Multiple Sequences题解

思路 我们可以很好的想到一种 \(O(nm)\) 的 dp: 状态:\(dp_{i,j}\) 为搜到第 \(i\) 个,最后一个数是 \(j\) 的方案数。 转移:\(dp_{i,j} = \displaystyle\sum_{k|j,k\not =j}dp_{i-1,k}\) 当然这是会超时的。 ......
题解 Sequences Multiple 116C ARC

AtCoder Beginner Contest 321 C-321-like Searcher

可以观察到0-9的所有子集都能恰组成一个满足题目条件的数字,所以共有1022个数{除空集和0} 方法就是二元枚举,找出所有数然后排序。 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using ......
321 Beginner Searcher AtCoder Contest

Atcoder beginner constest319 Minimum Width

因为要求窗口的最小宽度,当宽度为w时满足条件,那么宽度为w+1时也满足条件,有此可见是有单调性的,那么可以用二分搜的方法,且此题目一定有解。因为M最大为2乘以10的5次方,Li最大为10的9次方,所以宽度最大为2乘以10的14次方,单词每次间隔1,所以这里设成10的17次方。之后就是套二分模板解暴力 ......
beginner constest Atcoder Minimum Width

CF1881D Divide and Equalize

solution \(a_i\) 和 \(a_j\) 在操作前后的乘积是不变的,也就是总乘积是固定的。最后要求所有的元素相同,那也就是说所有元素的乘积 \(total\) 一定满足 \(\sqrt[n]{total}\) 是整数。看了看数据范围没有办法直接乘起来,于是考虑分解质因数,最后看一下每个质 ......
Equalize Divide 1881D 1881 and

[ARC067F] Yakiniku Restaurants 题解

Yakiniku Restaurants 明显在最优方案中,行走方式一定是从一条线段的一端走到另一端,不回头。 于是设 \(f[i,j]\) 表示从 \(i\) 走到 \(j\) 的最优代价。明显,该代价对于不同的券相互独立。故我们依次考虑每一张券。 我们发现,假设有一张位置 \(k\) 的券,则所 ......
题解 Restaurants Yakiniku 067F ARC

AtCoder Regular Contest 166

Preface 上周末因为上课而且这天下午还有CF要打,所以就没现场打这场ARC了 这两天事情也特别多导致写题的时间很少,摸了好久总算是补了四个题 A - Replace C or Swap AB 感觉是我做法复杂了,怎么A题码量好大 首先我们找到所有\(Y\)中为\(C\)的位置,显然对应的\(X ......
AtCoder Regular Contest 166

题解 AtCoder wtf22_day1_b【Non-Overlapping Swaps】

给定一个排列,要求交换最多 $n-1$ 对元素,使得这个排列变成 [1,2,...,n] 的有序排列。 当然没有那么简单,对于交换还是有限制的,对于相邻的两次交换,不妨叫做 $(l_i, r_i)$ 和 $(l_{i+1}, r_{i+1})$,必须满足**这两个交换所对应的区间,没有交集**,即... ......

[ARC152C] Pivot

[ARC152C] Pivot very very easy。首先认识题目中的操作相当于沿 \(y = s\) 进行翻折,那你注意到一个单调的序列翻折之后仍然是单调的,并且翻折仅仅改变了他们差分数组的符号和最小值。那这样就很好做了,假设当前最小值为 \(u\),极差为 \(d\),沿 \(y = u ......
Pivot 152C ARC 152

[ARC149E] Sliding Window Sort

[ARC149E] Sliding Window Sort 考虑到 \(k \le 10^9\) 太大了,我们先模拟一下看看能不能化成 \(k\) 比较小的情况。注意到,我们每次只会在 \(i\) 留下一个数,相当于我们手上一定有前缀前 \(m - 1\) 大的数。这样当我们操作完 \([n - m ......
Sliding Window 149E Sort ARC

[ARC128E] K Different Values

[ARC128E] K Different Values 考察 \(k=2\) 的情形,这个很经典,就是绝对众数。这样的话我们发现显然的一个必要条件是 \(\max A_i \le \lceil \frac{n}{k} \rceil\)。进一步,我们按照 \(k\) 为块长分块,还需满足 \(A_i ......
Different Values 128E ARC 128

[ARC125E] Snack

[ARC125E] Snack 经典啊,经典。 很容易看出网络流模型:每个人连一个限制 \(c_i\),每种糖果拆点限流 \(a_i\),然后每个人向每个糖果连边,最大流就是答案。 考虑转成最小割,我们相当于选出两个集合 \(S \subseteq [1,n], T \subseteq [1,m]\ ......
Snack 125E ARC 125

ARC132E Paw

题面传送门 笑了,题做太多导致的。 首先拿到这个题的时候考虑的就是算每个点的期望和,但是这样其实不太好算。 先容易 dp 出 \(f_i\) 表示 \(i\) 个洞走完之后均不影响到更右边/左边的概率,这样就可以算出如果一个点原来就是左脚印,左右都不影响到它的概率。 然后考虑最后答案的形式,一定是某 ......
132E ARC 132 Paw

Atcoder Grand Contest 016 E - Poor Turkeys

先思考这样一个问题:对于一只火鸡 \(i\),我们应该如何判断它最后是否能活下来。如果我们正着判断,我们其实并没有足够的证据表明每一次操作我们应该保留哪只火鸡,也就没法判断最终的答案。但是如果我们倒着考虑,我们发现,如果最后一次操作的两个火鸡都不是 \(i\),那么这次操作选啥对答案没有影响,而如果 ......
Atcoder Contest Turkeys Grand Poor

[ARC130E] Increasing Minimumm

[ARC130E] Increasing Minimumm ? 考虑模拟一下题目中的过程,发现相当于将原序列按照初始值划分为若干个等价类,然后每次都会先合并等价类然后重排等价类中的所有数并加入 \(I\) 中。这样将 \(I\) 划分成了若干段。 考虑假设我们一共划分出 \(T\) 个段,那么最终每 ......
Increasing Minimumm 130E ARC 130

[arc133e]Cyclic Medians

E - Cyclic Medians 看到中位数,就是经典套路:将\(\geq\)中位数的都赋值为\(1\),\(<\)的赋值为\(0\) 那么对于数\(A\),就等于\(\sum_{i=1}^{\infty}[A\geq i]\) 所以我们考虑枚举中位数,然后若其\(\leq A\),那么就对答案 ......
Medians Cyclic 133e arc 133

[arc135f] Delete 1, 4, 7, ...

F - Delete 1, 4, 7, ... 设\(f(i)\)表示第一次操作后,第\(i\)个位置的数,那么\(f(i)=\lfloor \frac{3i+1}2\rfloor\) 那么\(k\)次操作后,第\(i\)个位置上的数就是: \[f(f(...f(f(i))...))=f^k(i) ......
Delete 135f arc 135

[ARC143D] Bridges 题解

[ARC143D] Bridges 题意:给定 \(2n\) 个点和 \((u_1,v_1) , \cdots , (u_m,v_m)\),选择让 \(u_i\) 连 \(v_i+n\) 或 \(v_i\) 连 \(u_i+n\),以最小化图中桥的个数。 有种技巧叫拆点,把一个点拆成入点和出点,看这 ......
题解 Bridges 143D ARC 143

AtCoder Regular Contest 166——A - Replace C or Swap AB

题目描述 中文题目描述 每个字符串的长度为N,由A, B和C组成。 通过对X执行以下三种操作任意次数(可能为零),确定是否有可能使X与y重合。 操作(1):选择X中的字符C替换为字符A。 操作(2):在X中选择字符C替换为字符B。 操作(3):选择X中的子字符串AB,替换为BA。更正式地说,选择一个 ......
AtCoder Regular Contest Replace Swap

《[ARC157C] YY Square》解题报告

另解,不过也是 \(dp\) 。 一个小套路,关于平方我们可以考虑他的组合意义。 假如一条路径上有三个 \(YY\) 那么他的贡献是 \((1+1+1)^2=(1+1+1)(1+1+1)\) 相当于是从左右两边括号里各选一个 \(1\) 。 所以实际上我们的贡献可以看成从 \((1,1)\to (n ......
报告 Square 157C ARC 157

ARC166E Fizz Buzz Difference

题面传送门 首先一个观察是随着 \(n\) 的增大,最长的区间肯定是增大的,因此可以直接把等式放缩成 \(\leq n\)。 另一个观察使为了使区间长度最大,左右端点肯定是顶着两个 \(a\) 的,不妨设其为 \(al+1\) 和 \(ar-1\)。 将 \(a,b\) 先搞成互质的,那么现在的问题 ......
Difference 166E Fizz Buzz ARC

Atcoder Regular Contest 166

只打了半场。 A. Replace C or Swap AB 首先如果存在某个 \(i\),使得 \(Y_i\) 是 C 且 \(X_i\) 不是,那么显然是不合法的,可以直接判掉。 那么除去上述情况 \(Y\) 中为字符 C 的位置 \(X\) 也只能是 C。它们把字符串分成了若干段,可以把每一段 ......
Atcoder Regular Contest 166

Atcoder Regular Contest 165

B. Sliding Window Sort 2 被题目名里的滑动窗口误导了,于是卡 B 40min /fn Description 给定长度为 \(n\) 的排列 \(P\) 和一个整数 \(K\)。一次操作定义为选择一个长度为 \(K\) 的区间,对原排列的这段区间升序排序,其余位置不变。 你要 ......
Atcoder Regular Contest 165

AtCoder Regular Contest 166 AB题题解

A - Replace C or Swap AB 个人感觉挺有意思的一道思维题(好久没做思维题了,竟然卡了一个小时)。 除去C不看,我们发现X序列中的A只能向后移动,B只能向前移动,且可以移动任意次数。 所以假如没有C的话,做法是这样的: 从前往后分别统计X和Y序列中的A的数目,若某一时刻发现X中A ......
题解 AtCoder Regular Contest 166

题解 ARC142E【Pairing Wizards】

problem 给定 \(n\) 个元素,每个元素有两个属性 \(a_i, b_i\)。 你可以花费 1 的代价使得其中一个元素的 \(a\) 属性 +1。 问最少多少代价,可以使得给定的 \(m\) 组 \((i,j)\) 关系符合: 要么满足 \(a_i >= b_i \land a_j >= ......
题解 Pairing Wizards 142E ARC

AtCoder Beginner Contest 323 (ABC 323) D、E、F 题解

AtCoder Beginner Contest 323 (ABC 323) D、E、F 题解 D 题目大意 给 \(n\) 种数 \(s_i\) ,每一种数有 \(c_i\) 个,每次可以把两个相同的数合并为一个数,问最后会剩下多少数? 分析 对于每一个数 \(s_i\) ,它最多被分解 \(lo ......
题解 323 Beginner AtCoder Contest

AtCoder Beginner Contest 323

E - Playlist 首先需要算出第x+0.5秒后,第一首歌播放的概率 1.要在x+0.5秒后播放第一首,需要在x,x-1,x-2,...,x-t[1]+1,时就要开始播放第一首,并且概率是1/n,概率之和除以n 2.概率dp,dp[i]表示播放i的概率,那么可以转换成,dp[i]+=dp[i- ......
Beginner AtCoder Contest 323

UNIQUE VISION Programming Contest 2023 Autumn(AtCoder Beginner Contest 323)

UNIQUE VISION Programming Contest 2023 Autumn(AtCoder Beginner Contest 323) A. Weak Beats 解题思路: 按题意模拟即可。 代码: #include <bits/stdc++.h> using namespace ......
Contest Programming Beginner AtCoder UNIQUE

【题解】AtCoder-ABC323

AtCoder-ABC323A Weak Beats 依题意判断。 提交记录:Submission - AtCoder AtCoder-ABC323B Round-Robin Tournament 依题意排序。 提交记录:Submission - AtCoder AtCoder-ABC323C Wo ......
题解 AtCoder-ABC AtCoder ABC 323