Beginner
Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划
为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。 不然可能需要绕几个弯才能想出来。 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, c_i\),保证从编号小的边向编号大的边连边,且 \(1\) 到 \(n\) 必有路径,求 \(1 ......
AtCoder Beginner Contest 321 C-321-like Searcher
可以观察到0-9的所有子集都能恰组成一个满足题目条件的数字,所以共有1022个数{除空集和0} 方法就是二元枚举,找出所有数然后排序。 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using ......
Atcoder beginner constest319 Minimum Width
因为要求窗口的最小宽度,当宽度为w时满足条件,那么宽度为w+1时也满足条件,有此可见是有单调性的,那么可以用二分搜的方法,且此题目一定有解。因为M最大为2乘以10的5次方,Li最大为10的9次方,所以宽度最大为2乘以10的14次方,单词每次间隔1,所以这里设成10的17次方。之后就是套二分模板解暴力 ......
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 ......
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- ......
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 ......
AtCoder Beginner Contest 323 - A B C D
目录A - Weak BeatsB - Round-Robin TournamentC - World Tour Finals ABC323 A - Weak Beats 遍历判断偶数位的字符是否都是 '1' 即可 B - Round-Robin Tournament 统计每个人的胜场次数,再按照胜 ......
AtCoder Beginner Contest 323
有的人边上课边打abc A - Weak Beats (abc323 A) 题目大意 给定一个\(01\)字符串,问偶数位(从\(1\)开始) 是否全为\(0\)。 解题思路 遍历判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; us ......
AtCoder Beginner Contest 322
AtCoder Beginner Contest 322 推荐视频:AtCoder Beginner Contest 322 A 至 F 題讲解 by dreamoon A. First ABC 2 解题思路: 遍历寻找连续的\(ABC\). 时间复杂度:\(O(n)\). 代码: #include ......
AtCoder Beginner Contest 288 Ex A Nameless Counting Problem
洛谷传送门 AtCoder 传送门 考虑到规定单调不降比较难搞。先设 \(g_t\) 为长度为 \(t\) 的满足条件的序列个数(可重且有顺序)。求这个可以设个 dp,\(f_{d, i}\) 表示考虑到从高到低第 \(d\) 位,当前 \(t\) 个数中有 \(i\) 个仍然顶上界,并且之前的位都 ......
AtCoder Beginner Contest 178 E
AtCoder Beginner Contest 178 E E - Dist Max 曼哈顿距离最大点对 \(ans = max(|x_i-x_j|+|y_i-y_j|)\) 考虑去绝对值,4种情况。sort一下取max即可。 #include <bits/stdc++.h> using name ......
AtCoder Beginner Contest 322
A - First ABC 2 解题思路 签到 Code #include <bits/stdc++.h> using namespace std; typedef long long LL; void solve() { int n; cin >> n; string s; cin >> s; i ......
AtCoder Beginner Contest 322
A - First ABC 2 (abc322 A) 题目大意 给定一个字符串,找到最先出现ABC的位置。 解题思路 直接查找判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long; int mai ......
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 ......
题解 AtCoder Beginner Contest 268 A~H
RobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinChenRobinC... ......
AtCoder Beginner Contest 321
A - 321-like Checker (abc321 A) 题目大意 给定一个数,问从高位到低位,数字是不是递减的。 解题思路 可以以字符串读入,然后依次判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = lo ......
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 ......
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 ......
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~( ......
AtCoder Beginner Contest 313 Ex Group Photo
洛谷传送门 AtCoder 传送门 考虑若重排好了 \(a\),如何判断可不可行。显然只用把 \(b\) 排序,把 \(\min(a_{i - 1}, a_i)\) 也排序(定义 \(a_0 = a_{n + 1} = +\infty\)),按顺序逐个判断是否大于即可。 这启示我们将 \(\min( ......
AtCoder Beginner Contest 320 F Fuel Round Trip
ABC 320 F 题意 汽车从0开始出发,最终到达\(X_n\)再返程回到0,一开始有汽油\(H\)升,每公里耗油一升,在点\(X_i\)有加油站,每个加油站只可以加油一次,并且一次就加\(W_i\)升,花费\(P_i\),且最大油量有限制\(\leq H\)。问最小花费 思路 它的数据范围\(n ......
AtCoder Beginner Contest 320
A - Leyland Number a, b = map(int, input().split(' ')) print( a ** b + b ** a ) B - Longest Palindrome s = input() n = len(s) res = 0 for l in range(1 ......
AtCoder Beginner Contest 320
A - Leyland Number (abc320 A) 题目大意 给定\(a,b\),输出 \(a^b + b^a\)。 解题思路 因为数不超过\(10\),可以直接用 pow计算然后转成\(int\)。不会有精度损失。 神奇的代码 #include <bits/stdc++.h> using ......
AtCoder Beginner Contest 126 D (图论、LCA性质、DFS、思维、*1200)
D - Even Relation 给你一棵树 (结点个数为 $ n(n \le 10^5) $, 现在需要将树上所有结点染成白色或黑色, 打印一种可行的方案(将 $ i $ 号点染成白色则输出 0, 否则, 输出 1), 满足:同一种颜色的点之间的距离是偶数。 思路: ......
AtCoder Beginner Contest 319 全部题解
AtCoder Beginner Contest 319 全部题解 A Legendary Players 该题只需使用判断来写出所有的答案,注意不要复制错。 #include <bits/stdc++.h> using namespace std; string s; int main(){ ci ......
【每日一题】AtCoder Beginner Contest 045 | C - たくさんの数式 题解
描述 问题大意:给予一个由数字1至9组成得字符串S,你需要在任意两个相邻的数字之间加入符号“+”,求取所得的数学表达式的值。计算所有有可能的数学表达式的结果的总和。 思路 初初以为简单,但细做之下发现很复杂。冥思苦想之下茅塞顿开,算作柳暗花明又一村了。 对于任何一个数字字符串,都可以将其拆分为有限个 ......
AtCoder Beginner Contest 218
[ABC218E] Destruction 题意翻译 给一个无向图,让你从中选出几个边,要求选出的边权总和最大并且剩下的图要是一个连通图,输出最大的边权。 贪心的想剩下来的图一定是一个树结构,那么要满足去掉的边权和大,就可以想到最小生成树,用总边权减去最小生成树就是答案 [ABC218F] Bloc ......
AtCoder Beginner Contest 217
[ABC217E] Sorting Queries 维护一个空序列 A ,有 Q 次查询: 在 A 的最后插入一个元素一个元素 x 输出 A 的第一个元素并删除这个元素 将这个序列排序 用 deque 和 multiset 维护,复杂度应该是$O(\space log(\space n \space ......
AtCoder Beginner Contest 319 - C(模拟题)
目录C - False HopeD - Minimum Width C - False Hope 题意 给定一个 $3 \times 3 $ 的矩阵。 以一个随机的顺序先后看这 9 个数,如果说某一行或者某一列或者某一对角线上的三个数看到的先后顺序满足先看到相同的两个数,再看到不同的一个数,则此次观 ......