atcoder-arc atcoder arc 115

[ARC105E] Keep Graph Disconnected

NOIP 模拟赛原题,赛时还是没切。 正解奇偶性。 考虑最终不能走的时候是什么情况,当且仅当图中只剩下两个联通块了。设其中一个联通块的点数为 \(k\),那么另一个的点数为 \(n - k\)。所以两人一共的操作次数为 \(sum = \frac{n \times (n-1)}{2}-m-k \ti ......
Disconnected Graph 105E Keep ARC

[ARC168B] Arbitrary Nim

原题链接:ARC168B 题意:有 \(n\) 堆石子,每堆有 \(a_{i}\) 个。每人每次可以取走其中一堆中的 \(x(1 \le x \le k)\) 个。求出一个最大的 \(k\) 使得先手必胜。无解输出 \(0\),\(k\) 可以取无限大输出 \(-1\)。 一个经典 Nim 游戏的结 ......
Arbitrary 168B ARC 168 Nim

AtCoder Beginner Contest 324

C - Error Correction 大意是:给定一个字符串a,以及一组字符串,如果字符串与a满足以下之一即可 我写的有点麻烦。。 #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; string s ......
Beginner AtCoder Contest 324

【题解】AtCoder agc065_b Erase and Insert

传送门:https://atcoder.jp/contests/agc065/tasks/agc065_b 考虑 $dp$ 从 $Q$ 得到 $P$ 的过程个数。每次当我们插入 $i$ 的时候,我们要保证 $[1,i]$ 中所有数在新的 $Q$ 中的相对位置关系和在 $P$ 中相同(因为之后它们的相 ......
题解 AtCoder Insert Erase 065

【题解】AtCoder agc065_a Shuffle and mod K

传送门:https://atcoder.jp/contests/agc065/tasks/agc065_a 为了方便理解,我们把要求的东西乘一个 $-1$,再把答案序列倒过来;也就是说,我们现在要求 $min_{A'}^{A'为A的排列}(\sum_{i=1}^{N-1}((A_{i+1}-A_{i ......
题解 AtCoder Shuffle 065 agc

Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)

Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333) A - Three Threes 代码: #include <bits/stdc++.h> using namespace std; typedef long long l ......
Contest Programming Beginner AtCoder Toyota

[ARC111F] Do you like query problems?

题意: 给出三个数 \(n,m,q\)。 你有一个长度为 \(n\) 的序列 \(a\),初始全为为 \(0\),你有三种操作: 操作 \(1\):给出 \(l,r,v\),让区间 \([l,r]\) 对 \(v\) 取 \(\min\)。 操作 \(2\):给出 \(l,r,v\),让区间 \([ ......
problems query 111F like ARC

AtCoder Beginner Contest 325

C - Sensors 但看数据发现是经典油田问题,直接dfs #include<bits/stdc++.h> using namespace std; int n,m; int dx[8] = {-1, -1, -1, 0, 1, 1, 1, 0}; int dy[8] = {-1, 0, 1, ......
Beginner AtCoder Contest 325

AtCoder Beginner Contest 332

C - T-shirts 题意是:给定一个string,字符代表每天有不同的事,做不同的事会穿不同的衣服,问你最少需要准备多少T恤。 思路:贪心,能不用T恤就不要T恤 #include<bits/stdc++.h> using namespace std; void solve(){ int n,k ......
Beginner AtCoder Contest 332

AtCoder Beginner Contest 333

总结 人生第一次掉rating 全tm是降智操作 A 水题 B 逆天操作 WA了3发 第三发交的时候以为过了,等到切完E发现B怎么还没过( #include<bits/stdc++.h> using namespace std; map<string, int> f; int main() { f[ ......
Beginner AtCoder Contest 333

AtCoder Beginner Contest 332

坐地铁时口糊了6题,回来写时结果爆long long,0没有逆元,卡了好久 A - Online Shopping (abc332 A) 题目大意 线上购物,买了\(n\)种物品,分别给出它们的单价和数量。 若总价少于\(s\)元,则需要支付 \(k\)元邮费,否则包邮。 问总价多少。 解题思路 求 ......
Beginner AtCoder Contest 332

[ARC124C] LCM of GCDs 题解

题目跳转 Fake_Solution 前言 [warning]: 本题解的做法是错法,但是正确概率贼高。离谱的是正确率还可以叠加。 正解是记搜,时间复杂度可以证明。正解看文末。 思考 众所周知一个公式: \[a\times b=\operatorname{lcm}(a,b)\times \gcd(a ......
题解 124C GCDs ARC 124

AtCoder Grand Contest 040 F Two Pieces

洛谷传送门 AtCoder 传送门 第二道问号题。 设 \(A \ge B\)。我们现在将点的坐标刻画到二维平面上。相当于找到一条 \((0, 0) \to (A, B)\) 的路径,要求不能跨过直线 \(y = x\)。有 \(3\) 种移动方式: 向右移动一格。 向上移动一格。 将当前点提到直线 ......
AtCoder Contest Pieces Grand 040

ARC163D

题面 考虑一张竞赛图 \(G\),其中有 \(N\) 个节点,节点编号为 \(1,2,\dots,N\),且 \(G\) 满足: 对于 \(G\) 中的所有边 \(u\to v\),恰好有 \(M\) 条边满足 \(u<v\)。 设 \(f(G)\) 表示图 \(G\) 中的强连通分量数量。请你求出 ......
163D ARC 163

[ARC141C] Bracket and Permutation

考虑假设已知括号序列 \(s\),如何求出 \(p,q\)。 对于求 \(p\),考虑从 \(s_1\) 到 \(s_n\) 逐个往里放,如果能放就直接放,肯定不劣,否则就从后面抽最近的左括号放过来,然后继续放。不难证明不存在更优方案,对于 \(q\) 同理。 接下来我们发现,如果 \(p\) 中存 ......
Permutation Bracket 141C ARC 141

[ARC135D] Add to Square

不妨将棋盘黑白染色,并将黑色格子上的数取反。对应地,把操作修改为将某个 \(2 \times 2\) 区域地黑格子 \(-x\),白格子 \(+x\) 后答案与原问题相同。于是我们考虑这个新问题的解(不难发现新问题和原问题的解集是一一对应的)。 对于新问题,修改显然不会影响行或列的和。实际上只要对应 ......
Square 135D ARC 135 Add

[ARC106F] Figures 题解

题目链接 点击打开链接 题目解法 这么神仙的推式子题 看到生成树计数,第一反应是 \(prufer\) 序列 考虑在 \(prufer\) 序列上搞这个东西 可以得到 \(ans=\sum\limits_{\sum\limits_{i=1}^n d_i=n-2}\binom{n-2}{d_1,d_2 ......
题解 Figures 106F ARC 106

AtCoder Beginner Contest 332 题解

A - Online Shopping 题目链接 Atcoder Luogu 简要题意 共有 \(n\) 件商品,第 \(i\) 件商品的价格为 \(p_i\) 日元,数量为 \(q_i\) 件。 除了购买商品所需的的钱数,还要支付运费:如果所买商品的总价小于 \(s\) 日元,那么要支付运费 \( ......
题解 Beginner AtCoder Contest 332

[ARC132E] Paw

最终状态自左至右一定形如 <<< >>> ,即中间有一段和原序列相等,左边都是左箭头,右边都是右箭头的形式。 证明考虑如果要保留原序列 \([l,r]\) 一段(显然 \([l,r]\) 中不含 .),那么设位于 \(l\) 以左且距 \(l\) 最近的前两个点为 \(i,j\)(满足 \(i>j\ ......
132E ARC 132 Paw

[ARC133B] Dividing Subsequence

Dividing Subsequence 这道题与最长公共子序列类似,可以先去水一水那道题。 题意 本题就是让你从 \(p\) 里面选出一个子序列 \(b_i\) 和 \(q\) 里面选出一个子序列 \(a_i\),我们要使 \(b_i\) 是 \(a_i\) 的倍数。 解法 本题直接用动态规划,是 ......
Subsequence Dividing 133B ARC 133

AtCoder Beginner Contest 332

AtCoder Beginner Contest 332 A - Online Shopping 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6 + 10; typed ......
Beginner AtCoder Contest 332

AtCoder Grand Contest 001

比赛链接 A - BBQ Easy 从小到大排序以后,答案就是所有奇数位置之和。 B - Mysterious Light 发现去掉前两次反射以后,剩下的是一个在平行四边形内反射的过程,且形式类似于辗转相除。具体地, \[F(n,x)=\begin{cases} -n & x=0\\ 2x\lflo ......
AtCoder Contest Grand 001

[ARC132E] Paw

题意 给定一个字符串 \(S\)。 每次等概率随机选择一个为 \(.\) 的位置,随机向左或者向右移动。 走过的位置全部覆盖成 \(<\) 或 \(>\)。 Sol 注意到最终的状态一定是 \(<<<<< ... >>>>>\)。 考虑 \(dp\) 出前缀和后缀的概率。 设 \(f_i\) 表示已 ......
132E ARC 132 Paw

[ARC132E] Paw

题目链接 考虑最后形态,一定是有某一个区间 \([l,r]\) 保持初始的样子, \(l\) 前面都是 <,\(r\) 后面都是 >。 这个区间一定是某两个相邻圆点的位置。设 \(f_i\) 为前 \(i\) 个数全部被覆盖成 < 的概率。设 \(x\) 为 \(l\) 前面圆点的数量,\(y\) ......
132E ARC 132 Paw

[ARC169E] Avoid Boring Matches

题解链接 非常厉害的一道题。 考虑无解是什么情况? R 的个数超过 \(2^{n-1}\) 先考虑如何判定。从前往后考虑,如果遇到一个 B,那么如果后面有 R,就选最靠前的 R,否则选最靠后的一个 B.如果遇到 R,就选最靠后的一个 B。 但是这个判定很繁琐。我们考虑求出一个合法序列,使得他的 B ......
Matches Boring Avoid 169E ARC

AtCoder Regular Contest 169

A - Please Sign 某个 \(A_i\) 对 \(A_1\) 的贡献是 \(\binom{10^{100}}{\mathrm{dep}_i}\),所以深度为 \(d\) 的节点的 \(A_i\) 之和只要不为 \(0\),其贡献就一定远大于深度 \(<d\) 的所有点的贡献之和。 从大到 ......
AtCoder Regular Contest 169

ARC168E

题面 给定长度为 \(n\) 的数列 \(\{a_i\}\) 和两个参数 \(k, s\),将 \(\{a_i\}\) 划分成 \(k\) 段,最大化 和 \(\geq s\) 的段数。 \(1 \leq k \leq n \leq 250000, 1 \leq A_i \leq 10^9, 1 \ ......
168E ARC 168

ARC165E

题面 给一棵 \(n\) 个节点的树和一个整数 \(K\)。每次操作,等概率随机选一个所在连通块大小大于 \(K\) 的点,并删掉这个点和与之相连的所有边。重复操作直到图上所有连通块大小不超过 \(K\),求期望操作次数,答案对 \(998244353\) 取模。 \(K< n\le 100\) 。 ......
165E ARC 165

ARC166 B Make Multiples 题解

Link ARC166 B Make Multiples Question 给出 \(N\) 个整数, \(A_1...A_N\) ,还有三个数 \(a,b,c\) 我们可以给 \(A_i\) 加上 \(1\) 需要使得数组 \(A\) 满足,存在一个数是 \(a\) 的倍数,一个数是 \(b\) ......
题解 Multiples Make ARC 166

AtCoder Beginner Contest 332 (D)

题目链接 思路: 这就是一个二维的全排列问题 代码: #include<bits/stdc++.h> using namespace std; using ll = long long; #define LNF 0x3f3f3f3f3f3f3f3f #define INF 0x3f3f3f3f #d ......
Beginner AtCoder Contest 332
共1130篇  :3/38页 首页上一页3下一页尾页