atcoder-abc medicine atcoder abc

AtCoder Grand Contest 048

A - atcoder < S 枚举操作完的串 \(s\) 和 atcoder 相同的前缀长度,算出前面的前缀相同的代价加上当前这位大于 atcoder 中对应的那一位的代价即为达到当前状态的代价,取个最小值即可。 #include<iostream> #include<cstdio> #inclu ......
AtCoder Contest Grand 048

AtCoder Grand Contest 047

A - Integer Product 考虑将原来的数全部化为整数,乘上 \(10^9\),那么问题就变成了是否有两个数的乘积是 \(10^{18}\) 的倍数。考虑如果是 \(10^{18}\) 的倍数的话必然是 \(2^{18}\) 和 \(5^{18}\) 的倍数,那么分解出每个数的 \(2, ......
AtCoder Contest Grand 047

AtCoder Grand Contest 046

A - Takahashikun, The Strider 问题就是要你求 \(ax\equiv 0 \pmod{360}\) 中 \(a\) 的最小值。 答案就是 \(a=\frac{360}{\gcd(x,360)}\)。 代码: #include<iostream> #include<cstd ......
AtCoder Contest Grand 046

AtCoder Grand Contest 045

A - Xor Battle 可以发现,从后往前扫,遇到一个 \(1\) 找后面是否有若干个 \(0\) 的位置的 \(a_i\) 与当前位置的异或和相等,用线性基维护一下就好了。 代码: #include<iostream> #include<cstdio> #include<cstring> u ......
AtCoder Contest Grand 045

AtCoder Grand Contest 044

A - Pay to Win 不妨将操作倒过来考虑,问题就变成了每次除以 \(2,3,5\) 或者 \(+1,-1\),令 \(f_n\) 表示将 \(n\) 变成 \(0\) 的最小花费,然后记忆化搜索即可,可以证明复杂度是对的。 代码: #include<iostream> #include<c ......
AtCoder Contest Grand 044

AtCoder Grand Contest 043

A - Range Flip Find Route 可以发现,一条路径的最小操作数等于路径上有多少 # 的块,令 \(f_{i,j}\) 表示到 \((i,j)\) 的最小操作次数,直接 DP 就行了。 注意路径上一个 \(1\) 的块会被算两次,需要除以 \(2\)。 #include<iostr ......
AtCoder Contest Grand 043

AtCoder Beginner Contest 318

AtCoder Beginner Contest 318 A - Full Moon (atcoder.jp) 以\(M\)为首项,\(P\)为公差,看\(1 \sim N\)里包含了多少项的个数 #include<bits/stdc++.h> using i64 = long long; usin ......
Beginner AtCoder Contest 318

AtCoder Regular Contest 165

Preface 这场前三题是上周四写的,今天课有点多本来想着把最近两场CF的博客先写下的 但后面发现还有CCLCC的杂谈没写,写完发现由于晚上要上课没时间了,只能先把这场先写一下 A - Sum equals LCM 设\(n=\prod_{i=1}^k p_i^{c_i}\),不难发现令\(A_1 ......
AtCoder Regular Contest 165

abc209

C - Not Equal 285 求长度为 n,两两不同,且满足 \(1\le a_i\le c_i\) 的数组的数量 数组 c 排序,答案就是 \(\prod\limits_i(c_i-(i-1))\),其中 \(i-1\) 个位置被前面占了 D - Collision 686 给定一棵树,q ......
abc 209

abc321E - Complete Binary Tree

E - Complete Binary Tree 首先我们只考虑x子树中的答案,非常明显,一定是一个连续的区间,那么我们只需要找到两个端点即可,左端点一直往左走即可,但是右端点要注意,如果走不了,如果左端点存在,说明n就是我们的右端点。 处理完子树之后往上跳即可,因为树高只有60 #include< ......
Complete Binary 321E Tree abc

abc246F - typewriter

F - typewriter 直接容斥即可,每次选出它们的并集。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #define fo(i,a,b) for (int (i) ......
typewriter 246F abc 246

《AT_abc310_h Negative Cost》 解题报告

神仙题 看到没人交题解,我来交一发。 \(Part\ 0:\)我瞎扯扯 我做这题时想着先把耗费魔法值为负的做掉,然后最后再做一段魔法值为正的,但是不好做,做不了。 这个东西也贪心不了,因为你魔法值和伤害这两个东西拆不开,然后就什么都做不了了。 本篇题解中没有什么心路历程,又不能分析出什么动机,因为笔 ......
Negative 报告 AT_abc Cost 310

abc210 差F

C - Colorful Candies 359 固定大小滑动窗口内不同颜色数 D - National Railway 1507 给定矩阵 \(a\) 和数 \(c\),任选不重合的两点 \((i,j),(i',j')\),求 \(a_{i,j} + a_{i',j'} + c(|i-i'|+|j ......
abc 210

题解 AtCoder Beginner Contest 268 A~H

RobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinC... ......
题解 Beginner AtCoder Contest 268

abc321记录

SuntoryProgrammingContest2023(AtCoder Beginner Contest 321) - AtCoder D 题意:给定常数 \(k\) 和长度为 \(n\) 的数组 \(a\) 和长度为 \(m\) 的数组 \(b\),求 \(\sum_{i=1}^n\sum_{ ......
abc 321

[abc321E]Complete Binary Tree

2023-09-23 题目 题目传送门 翻译 翻译 难度&重要性(1~10):6 题目来源 AtCoder 题目算法 模拟 解题思路 考场没调出来,考完赶紧写发题解祭奠一下。 这道题主要就是模拟,细节比较多。 思路就是一层一层的计算贡献: 如图,我们首先计算出以结点 \(x\) 为根的子树第 \(k ......
Complete Binary 321E Tree abc

《AT_abc321_g Electric Circuit》 解题报告

这个题其实和之前 \(NFLS\) 一道题很像,但是还是没做出来,因为当时漏了一个点没注意到,这次赛时就暴毙了。 首先很显然的是拆贡献,寻找每个连通块构成的可能贡献。 期望不好算,我们转成概率乘价值,再转成 \(\frac {\text{方案数}}{\text{总方案数}}\times value\ ......
Electric Circuit 报告 AT_abc 321

abc212 差F

abc212 差F A - Alloy (5') B - Weak Password (64') C - Min Difference (246') 两个数组中各取一数,最小化差的绝对值 排序,各用一个指针 D - Querying Multiset (775') 三种操作:加入一个数x、所有数+x ......
abc 212

ABC321

前言 感觉自从没了 \(\tt{EX}\) 后整体难度降了不少 A 模拟即可 B 观察到 \(n\le 100\),枚举答案验证即可,时间复杂度 \(O(100 \times n \log n)\) C 手算一下可以发现满足条件的数字只有 \(1022\) 个,直接 \(\tt{dfs}\) 出所有 ......
ABC 321

AT_abc321_f [ABC321F] #(subset sum = K) with Add and Erase 题解

AT_abc321_f [ABC321F] #(subset sum = K) with Add and Erase 题解 题目大意 现在有一个空箱子。给你两个数 \(Q, K\),然后给你 \(Q\) 行,每一行代表一个操作: \(+ x\),即向箱子里加一个权值为 \(x\) 的小球。 \(- ......
题解 321 AT_abc subset Erase

【题解】AtCoder-ABC321

AtCoder-ABC321A 321-like Checker 依题意判断。 提交记录:Submission - AtCoder AtCoder-ABC321B Cutoff 枚举 \(a_n\),依题意模拟即可。 提交记录:Submission - AtCoder AtCoder-ABC321C ......
题解 AtCoder-ABC AtCoder ABC 321

solution-at-abc321-c

题意 将所有每位满足递减的整数排序,问第 \(k\) 大的是多少,不包括 \(0\)。 思路 我们发现最大的满足要求的整数是 \(9876543210\) ,只有 \(1e10\) 的大小,\(k\) 只有不到 \(3000\) 的大小,可以从小到大枚举所有的数,从 T1 粘来判断函数打一个表就解决 ......
solution-at-abc solution abc 321 at

ABC321题解

A 从低位到高位判断是否递增就行了。 B 直接暴力枚举。 C 深搜一下,答案最多 1023 个,然后要开 long long !!! D 从小到大枚举 a 的同时从大到小枚举 b,然后前缀和优化一下就行了。 E 考虑把这棵树分成两部分,分界线为从 1 到 n 的路径。 然后在路径上从下往上dp出长为 ......
题解 ABC 321

AtCoder Beginner Contest 321

A - 321-like Checker (abc321 A) 题目大意 给定一个数,问从高位到低位,数字是不是递减的。 解题思路 可以以字符串读入,然后依次判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = lo ......
Beginner AtCoder Contest 321

ABC321

T1:321-like Checker 模拟 代码实现 #include <bits/stdc++.h> using namespace std; int main() { string s; cin >> s; for (int i = 0; i+1 < s.size(); ++i) { if ( ......
ABC 321

AtCoder Grand Contest 046 E Permutation Cover

洛谷传送门 AtCoder 传送门 若 \(2\min\limits_{i = 1}^m a_i < \max\limits_{i = 1}^n a_i\) 就无解,因为根据排列的性质必然存在 \(yxxxy\) 或两端 \(xxyy\) 的情况,并且若这个条件不满足,就可以构造一组解。 考虑最小化 ......
Permutation AtCoder Contest Grand Cover

AtCoder Beginner Contest 318 ABCDE

AtCoder Beginner Contest 318 A - Full Moon 思路:等差数列求项数 // AC one more times // nndbk #include <bits/stdc++.h> using namespace std; typedef long long ll ......
Beginner AtCoder Contest ABCDE 318

AtCoder Beginner Contest 320 ABCDE

AtCoder Beginner Contest 320 A - Leyland Number 思路:直接快速幂 // AC one more times // nndbk #include <bits/stdc++.h> using namespace std; typedef long long ......
Beginner AtCoder Contest ABCDE 320

AtCoder Beginner Contest 253 E

AtCoder Beginner Contest 253 E - Distance Sequence 思路:前缀和优化DP 要求$ |a[i]-a[i+1]|>=k\( 定于\)dp[i][j]:\(前\)i\(个数以\)j\(结尾的合法序列数列 \) dp[i][j] += dp[i-1][1~( ......
Beginner AtCoder Contest 253

题解 ABC267 A~H

ABC267 solution https://atcoder.jp/contests/abc267/ Problem A. 题目描述 输入一个表示星期的英文字符串,输出:还有多少天到星期六? solution 依题意模拟。\(O(1)\)。 Problem B. 题目描述 Robin 有十个小球, ......
题解 ABC 267