beginner atcoder contest abc

【题解】AtCoder-ARC167

AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
题解 AtCoder-ARC AtCoder ARC 167

[ABC235G] Gardens

[ABC235G] Gardens 题目描述: 有三种不同颜色的球,分别有 \(A,B,C\) 个。(相同颜色的球之间不区分) 将球放入 \(N\) 个不同的盒子中,要求: 每个盒子至少放了一个球 每个盒子不能存在两个相同颜色的球 可以不放完所有的球 求放置方案数对 \(998244353\) 取模 ......
Gardens 235G ABC 235

「解题报告」[ABC267F] Exactly K Steps

「解题报告」[ABC267F] Exactly K Steps 大家好,我是个毒瘤,我非常喜欢没脑子做法,于是我就用点分治过了这个题 . 离线在每个点存下与其相关的询问 . 考虑如何计算跨重心的答案 . 记录下每个点在当前重心下的深度,同时开一个桶 \(t_{k, 0/1}\) 存下当前深度为 \( ......
Exactly 报告 Steps 267F ABC

AtCoder Beginner Contest 180 F Unbranched

洛谷传送门 AtCoder 传送门 首先进行一个容斥,把连通块最大值 \(= K\) 变成 \(\le K\) 的方案数减去 \(\le K - 1\) 的方案数。 考虑 dp,设 \(f_{i, j}\) 表示当前用了 \(i\) 个点,\(j\) 条边。转移即枚举其中一个连通块的大小 \(k\) ......
Unbranched Beginner AtCoder Contest 180

AT_abc301_h [ABC301Ex] Difference of Distance

AT_abc301_h [ABC301Ex] Difference of Distance 更好的阅读体验 一道基础图论,很好口胡,但是实现不太简单。 考虑离线,把询问挂在边上,按边权从小到大处理。 处理到一个边权时,把边权小于它的边的两端用并查集合并,对于等于这个边权的边在并查集上建图,跑一边 t ......
Difference 301 Distance AT_abc ABC

ABC262E - Red and Blue Graph

原题 翻译 诈骗诈骗诈骗诈骗诈骗诈骗诈骗诈骗!!! 第一眼看上去很像一个 NP-Hard 问题,完全没有思路 然后以为 dp ,然后看数据范围一眼寄 首先遇到 01 染色问题,而且一边连接的两点颜色相同/不同(其实主要是不同)会产生贡献的问题,要考虑一下能不能先统一染成一个颜色,然后看改变颜色后会产 ......
Graph 262E Blue ABC 262

ABC159F Knapsack for All Segments

原题 翻译 \(O(n^3)\) 的朴素 \(dp\) 是 simple 的 考虑定义一个子序列是”好的子序列”当且仅当 \(a_l\) 和 \(a_r\) 都在子序列中,容易发现他对答案的贡献是包含他的区间,即 \(l \times (n - r + 1)\) 先说我自己的做法:设 \(dp_{i ......
Knapsack Segments 159F ABC 159

ABC324

T1:Same set 代码实现 n = int(input()) a = list(map(int, input().split())) if len(set(a)) == 1: print('Yes') else: print('No') T2:3-smooth Numbers 把 \(N\) ......
ABC 324

2023 Hubei Provincial Collegiate Programming Contest

\(B. Mode\) 利用数位 \(dp\) 求数字众数,那么在相同的位数下,相同的个数即为相同,用 \(map\) 记忆化搜索。 int num[20],len=0; map<pair<int,vector<int> > ,int>mp; int dfs(int pos,vector<int> ......

ABC318E Sandwiches

ABC318E Sandwiches 第一次场切 E 题,感动。虽然比较水 注意到 \(\{a_n\}\) 的值域上限为 \(n\),考虑值域相关算法,对每一个 \(a_i\) 开一个 std::vector ,记作 \(pos_{a_i}\),存储 \(a_i\) 所有的出现位置。 枚举 \(x ......
Sandwiches 318E ABC 318

ABC202E Count Descendants

ABC202E Count Descendants 线段树合并模板题。 每次询问就是给定有序数对 \((u,d)\),求有根树 \(T\) 上,点 \(u\) 的子树内有多少点 \(v\),使得 \(v\) 的深度恰好等于 \(d+1\)。定义根节点深度为 \(1\)。 考虑对每一个点开一个长度为 ......
Descendants Count 202E ABC 202

AtCoder Beginner Contest 324 DF题题解

比赛链接 D - Square Permutation 其实比较简单,但是比赛时候脑子不转了,竟然在尝试枚举全排列,然后算了一下复杂度直接不会做了。 正解应该是枚举完全平方数,底数枚举到 \(sqrt(10^{14})\) 即可,因为 n 最大为 13。 然后统计一下这个完全平方数各个数字出现了多少 ......
题解 Beginner AtCoder Contest 324

AtCoder Beginner Contest 324

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

ABC324题解

A/B 赛时没打。 C 暴力判断是相等 s[i] == t 还是替换了一个字符,或者是添加/删除了一个字符。 最后两个判断只需要交换一下 \(s\) 和 \(t\) 的顺序就可以共用一个函数了。 D 注意到 \(N\le 13\),所以平方数不会超过 \(v=10^{13}\),很容易想到暴力枚举 ......
题解 ABC 324

ABC324总结

ABC324 solved:CDE rating:Unrated C: 7min(+1) D: 7min E: 9min C const int N = 2e5 + 5; \(\rightarrow\) const int N = 5e5 + 5; 。。。 F 01分数规划,没学过。 后:就是二分答 ......
ABC 324

ABC324F Beautiful Path

给出一张 DAG,每条边有两种边权 \(b\) 与 \(c\),求一条从 \(1\) 到 \(n\) 的路径,问路径经过的边的 \(\dfrac{\sum b}{\sum c}\) 的最大值是多少。 \(n, m \le 2 \times 10^5\)。 这不是经典 01 分数规划吗?将题目中的要求 ......
Beautiful 324F Path ABC 324

abc270F - Transportation

F - Transportation 一天遇到两道生成树的题目,还都不会做,菜哭的一天。 这题的做法是另外建两个点n+1,n+2,然后做生成树,因为我们只要前n个点联通就行,后面两个点不一定,那么枚举一下就行。 #include<cstdio> #include<algorithm> #includ ......
Transportation 270F abc 270

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

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

题解 [ABC258G] Triangle

题目链接 \(\rm O(n^3)\) 枚举 \(i,j,k\) 的算法是显然的。 考虑优化掉一个 \(n\),如果枚举 \(i,j\),那么显然需要找出有多少个 \(k\) 同时满足 \(a_{i,k}=a_{j,k}=1\),我们可以将 \(a_i\) 和 \(a_j\) 看作两个二进制数,那么 ......
题解 Triangle 258G ABC 258

2022 China Collegiate Programming Contest (CCPC) Guilin Site(持续更新)

Preface 由于还有两周就要滚去打区域赛了,这周开始周末每天都训一场吧 这场总体来说打的还可以,虽然E题这个Easy从卡局卡到3h,但由于其它的题都是一遍过所以罚时还尚可跻进Au区 后面一个小时看徐神和祁神苦战K大分类讨论,虽然场下感觉摸了一个B的做法出来,但感觉实现还是太麻烦了就没写,最后K也 ......
Programming Collegiate Contest Guilin China

abc282E - Choose Two and Eat One

E - Choose Two and Eat One 非常巧妙的一集 可以将整个局面看作一张图,选两个数获得的score就是它们的边权,然后做最大生成树,不难发现操作和建树之间是一一对应的。 #include<cstdio> #include<algorithm> #include<cstring> ......
Choose 282E abc 282 Two

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

CF1439D INOI Final Contests

先总结一些充要条件。 一个人 \(i\) 选不到自己的 \(a_i\) 的充要条件为:若为左侧,则存在左侧的一个 \(j\) 满足 \(a_k\in[j,i]\) 且 \(b_k=R\) 的 \(k\) 的个数 \(> i-j\),右侧同理,满足其一即可。 一个方案不合法的充要条件为,若对于一个 \ ......
Contests 1439D Final 1439 INOI

2021 China Collegiate Programming Contest (CCPC) Guilin Site

A. A Hero Named Magnus #include <bits/stdc++.h> using namespace std; #define int long long using pii = pair<int, int>; using vi = vector<int>; void so ......
Programming Collegiate Contest Guilin China

ABC214H Collecting 题解

前言 这是一道比较神仙的题目,其后半部分的建图是比较困难想到的,前半部分还是较为容易的。 题意 现在有一张\(N\)个点\(M\)条边的有向图,每个点有一个点权\(a_i\),现在要找出\(K\)条路径,使得这些路径的并集的点权和尽量大。现在求出点权和。 \(N, M \le 2\times 10^ ......
题解 Collecting 214H ABC 214

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})$,必须满足**这两个交换所对应的区间,没有交集**,即... ......

2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror, ICPC Rules) N. Waste Sorting

有五种种类的垃圾,数量分别为 \(a_1, a_2, a_3, a_4, a_5\) 。 第一种为纸质垃圾 第二种为塑料垃圾 第三种双非垃圾 第四种基本纸质垃圾 第五种基本塑料垃圾 有三种垃圾桶,容量分别为 \(c_1, c_2, c_3\) 。 第一种垃圾桶可以放入:纸质垃圾和基本纸质垃圾 第二种 ......
ICPC Southern Regional Contest Russian

The 2021 Sichuan Provincial Collegiate Programming Contest

\(E. Don’t Really Like How The Story Ends\) \(dfs\)的时候如果一个点没有子节点,可以回溯,在父节点上找后续节点。如果找到了一个更大的节点,那么必须要与当前目标连接,然后回溯回来的时候如果目标值比当前的值更小说明仍有后续节点可以用,必须还在这个节点接后 ......