inversion reverse 154e arc

[ARC164E] Segment-Tree Optimization 题解

题目链接 题目链接 题目解法 一个自认为比较自然的解法 这种一段序列切成两部分的问题首先考虑区间 \(dp\) 令 \(f_{l,r}\) 为 \([l,r]\) 能构成的最小深度,\(g_{l,r}\) 为在 \(f_{l,r}\) 最小的情况下最少的最大深度的点的个数 转移枚举 \(k\) 即可 ......

F. Shift and Reverse

戳这里,看原题 多重思想的巧妙结合 不多说了,看代码就懂了 #include<bits/stdc++.h> using namespace std; int up[200006]={0},down[200006]={0}; int a[200006]={0}; int main() { int t; ......
Reverse Shift and

ARC121D 1 or 2

题意 你有 \(n\) 个糖果,第 \(i\) 个的价值为 \(a_i\)。 每次操作可以选 \(1\) 或 \(2\) 个糖果。 问在所有的方案中,\(1\) 个或 \(2\) 个糖果的价值之和的最大值和最小值之差最小是多少。 Sol 很有趣的诈骗题。 首先套路的,考虑将选一个的情况变为选一个 \ ......
121D ARC 121 or

[ARC165E] Random Isolation 题解

题目链接 点击打开链接 题目解法 略有些套路的概率题,不过中间的把操作序列看成排列的操作还是很妙的 首先套路的考虑期望的线性性,有两个方式:把贡献放在点上或点集上,这里采用后面的方式做 对于每一个树上的集合 \(S\),假设大小为 \(n\),相邻的点为 \(m\) 考虑这个集合独立的限制为:相邻的 ......
题解 Isolation Random 165E ARC

Atcoder-ARC165F-Make Adjacent

ARC 165 - F - Make Adjacent Statement 给定一个长度为 \(2n\) 的数列 \(a\) ,其中对于每个数 \(i \in [1,n]\),恰好在 \(a\) 中出现两次。每次可以将两个相邻的数交换。最后要求 \(\forall i \in [1,n] : a_{ ......
Atcoder-ARC Adjacent Atcoder F-Make Make

ARC076D Yakiniku Restaurants

题意 有 \(n\) 个商店。每个商店有 \(m\) 个物品。每个物品的价值为 \(b_{i, j}\)。每种物品只能被购买一次。 你可以选择一个起点,在任意商店结束购买。获得的价值为 \(m\) 个物品之和减去路程。 求最大可获得的价值。 \(n \le 5e3, m \le 200\) Sol ......
Restaurants Yakiniku 076D ARC 076

ARC121E Directed Tree

ARC121E Directed Tree 有意思的容斥加树 dp。 思路 \(a_i\) 可以是除去 \(i\) 祖先之外的所有点,考虑 \(a_i\) 的逆排列。 每一个 \(i\) 在正排列里都可以被不是自己子树内的点选择,那么逆排列里 \(i\) 不可以放自己子树内的点(不包括自己)。 现在 ......
Directed 121E Tree ARC 121

ARC121D 1 or 2

ARC121D 1 or 2 诈骗题。 思路 吃一个糖的操作可以看做是和一个 \(a_i\) 为 0 的糖一起吃。 可以枚举有多少个糖单独吃来确定要增加多少个 0。 问题变为每次吃两颗糖。 根据人类直觉,有一个贪心,最小的糖和最大的糖一起吃最优,次小的糖和次大的糖一起吃最优,依次类推。 怎么证明这个 ......
121D ARC 121 or

[ARC121F] Logical Operations on Tree 题解

题目链接 点击打开链接 题目解法 比较好的题 首先要发现一个性质是:先删 AND 边,再删 OR 边最优 小证一下:分类讨论 AND 边两端的数字情况 \(0 \& 0\) 左右两端虽然可能可以把 \(1\) OR 过来,但这种情况先做 \(\&\),也一定可以 OR 得到 \(1\) \(0 \& ......
题解 Operations Logical 121F Tree

[ARC106E] Medals 题解

题目链接 题目链接 题目解法 感觉不难啊,怎么想到网络流和 \(hall\) 定理后面就屁都没想到呢 首先一眼网络流 先二分答案 考虑一个朴素的建图方法是:把每个人拆成 \(k\) 个点,然后往在的天连边,跑最大流,满流即合法 可以发现,跑网络流对这道题还说没有必要,因为只要判是否有完美匹配 不难想 ......
题解 Medals 106E ARC 106

[ARC125E] Snack 题解

题目链接 点击打开链接 题目解法 这题看起来很 \(flow\),不难想到边数 \(nm\) 的建图方法: 具体来说,边为 \((S,i,c_i)(i\in [1,m])\),\((i,j,b_i)(i\in [1,m],\;j\in [1,n])\),\((j,T,a_i)(j\in [1,n]\ ......
题解 Snack 125E ARC 125

[ARC141D] Non-divisible Set 题解

题目链接 点击打开链接 题目解法 很思维的题,需要用好所有的特殊性质 暴力的做法是建出图,然后求包含点 \(i\) 的最长反链,但这明显过不了 上面的做法没用到 \(a_i<2m\) 的性质 如何用?把 \(a_i\) 拆分成 \(q\times 2^k\;(k\) 为奇数\()\) 的形式,那么对 ......
题解 Non-divisible divisible 141D ARC

[ARC141E] Sliding Edge on Torus 题解

题目链接 点击打开链接 题目解法 比较套路的题 首先画个图,然后把 \(y-x\) 相同的变成一个点(使 \(y>x\)) 然后再两个点之间连有权边 那么问题就变成求新图的每个连通块中形成的原图的连通块数量 手玩几个数据发现,原图的连通块数量即为新图的所有环长的 \(\gcd\),再和 \(n\) ......
题解 Sliding Torus 141E Edge

[ARC120E] 1D Party 题解

提供二分+DP做法。 Solution 题意 给出 \(n(\le 2\times 10^5)\) 个单调递增偶整数 \(a_i\),求最小的 \(k\) 满足每一个 \(i\) 都可以在 \(k\) 时刻之前(含)与相邻的数相遇。每个单位时间可以移动一个单位距离。 思路 启发式思考 在想到正解之前 ......
题解 Party 120E ARC 120

AT_ARC158A解题报告

AT_ARC158A 解题报告 题意 题目传送门 给你3个数 \(a,b,c\),通过若干次操作使得 \(a=b=c\)。 一次操作指将 \(a,b,c\) 按任意顺序分别 \(+3,+5,+7\)。 若可以使 \(a=b=c\),输出最小操作次数,否则输出 \(-1\)。 思路 我们可以将 \(+ ......
报告 AT_ARC ARC 158 AT

AT_ARC161B解题报告

AT_ARC161B 解题报告 题意 题目传送门 给你一个正整数 \(N\),求小于等于 \(N\) 的所有数中最大的一个在二进制下拥有 \(3\) 个 \(1\) 的数。 思路 我们先看无解的情况,因为题目要求必须有 \(3\) 个 \(1\),所以当 \(n \leq 6\) 时,直接输出 \( ......
报告 AT_ARC ARC 161 AT

CF414C Mashmokh and Reverse Operation

\(\text{Links}\) cnblogs Luogu Codeforces 题意 给定一个长为 \(2^n\) \((n\le 20)\) 的序列 \(a\),有 \(m\) \((m\le 10^6)\) 次操作,每次操作给出 \(q\) \((q\le n)\),表示将序列从左至右按 \ ......
Operation Mashmokh Reverse 414C 414

newstarctf2023 reverse 题解汇总

newstarctf2023 reverse 题解汇总 week1 easy_RE die查 无壳 64 直接IDA启动 跟到main函数 找到两部分flag拼起来就行了。 flag{we1c0me_to_rev3rse!!} ELF die查 64 ELF IDA启动 稍微读一下 写个py逆一下它 ......
题解 newstarctf reverse 2023

ARC118

ARC118 第一次做arc场,被爆杀QAQ ARC118A link ARC118A题意 ARC国家的消费税率是 \(t\) 。其中 \(t\) 是正整数。 ARC国家有整数屋。整数屋先生以不含税价格 \(A\) 日元处理着各个正整数 \(A\),这个含税价格是 \(\lfloor\frac{10 ......
ARC 118

[ARC139D] Priority Queue 2 题解

题目链接 点击打开链接 题目解法 弱化题目 考虑一个常用的转化(更多用于期望):枚举答案,将 \(=\) 变成 \(\le\) 或 \(\ge\) \(\sum\limits_{i=1}^mi\times c(x=i)=\sum\limits_{i=1}^mc(x\ge i)\) 枚举 \(i\), ......
题解 Priority Queue 139D ARC

ARC110F Esoswap

题意 给定一个序列,每次操作 \(swap(p_i, p_{(i + p_i) mod N})\)。 求将她变得有序的方案。 Sol 我们考虑对于一个位置不断的操作,发现最后一定会变成 \(0\)。 我们设她为 \(p_x\)。 考虑操作 \(p_{x - 1}\)。 发现当 \(p_{x - 1} ......
Esoswap 110F ARC 110

arc168b

https://atcoder.jp/contests/arc168/tasks/arc168_b 不会博弈,但是会乱搞 首先直接判断-1的情况 然后我们直接考察最大值能不能取到 假设存在一个数ai \(a_1\oplus a_2 ...\oplus(a_i-x)\oplus...a_n\)=max ......
168b arc 168

[ARC105E] Keep Graph Disconnected

题目链接 好题。 如果 \(1\) 和 \(n\) 一直联通,开始即结束。 如果 \(n\mod 4=1\),那么 \(\frac 12x(x+1)+\frac12(n-x)(n-x+1)\) 为偶数。 如果 \(n\mod 4=3\),那么 \(\frac 12x(x+1)+\frac12(n-x ......
Disconnected Graph 105E Keep ARC

[ARC168E] Subsegments with Large Sums

题目链接 看到严格选 \(k\) 个,不难想到 WQS二分。定义 \(f(x)\) 为分成 \(x\) 段,最多有多少个超过 \(S\) 的。然后你会发现他不是凸的。因为他有很多平段,比如把两个很小的合并不改变答案。 换个方向? 考虑定义 \(f(x)\) 为有 \(x\) 个超过 \(S\) 的段 ......
Subsegments Large 168E with Sums

ARC66 D Interval Counts 题解

Link ARC66 D Interval Counts Question 给定正整数 \(n\) 和长度为 \(n\) 的序列 \(x_i,y_i\) 保证 \(x_i\) 单调递增,你需要构造 \(m\) 个去年 \([L_i,R_i]\) ,\(m\) 有你指定,使得每个 \(x_i\)恰好被 ......
题解 Interval Counts ARC 66

ARC166 C LU/RD Marking

Link ARC166 C LU RD Marking Question 给一个 \(n\) 行 \(m\) 列的网格,它的所有网格线上共有 \(n(m+1)\) 条竖边,有 \((n+1)m\) 条横边 有如下两中操作 选一个上面和左边的网格线没有被涂黑的格子,并涂黑着两条线 选一个下面和右边的网 ......
Marking ARC 166 LU RD

ARC166 A Replace C or Swap AB 题解

Link ARC166 A Replace C or Swap AB Qustion 给出两个长度相同的由 \(A,B,C\) 组成的字符串 \(X\) 和 \(Y\) 。 需要使用一些操作使得 \(X\) 和 \(Y\) 一样 将 \(X\) 中的 \(C\) 换成 \(A\) 将 \(X\) 中 ......
题解 Replace Swap ARC 166

[ARC168E] Subsegments with Large Sums

有点意思的简单题。 答案有可二分性。合并两段,显然仍然合法。 考虑如何 check。因为答案可以被二分,我们尝试求恰好 \(x\) 段就行了。 恰好,这是 wqs 二分的内容。如何设计一个与 \(x\) 有关的凸函数呢? 这个函数大概是 \(\sum_{i=1}^x w(l_i, r_i)\) 的形 ......
Subsegments Large 168E with Sums

[ARC117E] Zero-Sum Ranges 2题解

题解 前言 个人认为官方题解写得最为详细、干净、清楚,如果有意向阅读外文版的题解的话,还是推荐去读一读: Editorial - AtCoder Regular Contest 117 本文属于转载(?),有一些自己的思考过程,希望有帮助。 题意 有多少个长度为 \(2N\) 的序列 \(A\) 满 ......
题解 Zero-Sum Ranges 117E Zero