atcoder_abc atcoder 334 abc

AtCoder World Tour 2022 B The Greatest Two

原题面:https://atcoder.jp/contests/wtf22-day2/tasks/wtf22_day2_b 题面翻译: 一个长度为 \(n\) 的排列 \(p\),每次可以把一个长 \(k\) 区间的最大与次大值交换,问操作任意次数后可以得到的排列数量对 \(998244353\) ......
Greatest AtCoder World 2022 Tour

AtCoder Beginner Contest 335 G Discrete Logarithm Problems

洛谷传送门 AtCoder 传送门 考虑若我们对于每个 \(a_i\) 求出来了使得 \(g^{b_i} \equiv a_i \pmod P\) 的 \(b_i\)(其中 \(g\) 为 \(P\) 的原根),那么 \(a_i^k \equiv a_j \pmod P\) 等价于 \(kb_i \ ......
Logarithm Beginner Discrete Problems AtCoder

AT_abc243_g [ABC243G] Sqrt题解

题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 ......
题解 243 AT_abc 243G Sqrt

AT_abc243_g [ABC243G] Sqrt题解

题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 ......
题解 243 AT_abc 243G Sqrt

abc097d<并查集,排列>

题目 D - Equals 给出\(1\sim n\)的排列p,给出\(m\)种对换\((p_i, p_j)\),在这\(m\)种对换中任选操作,对原排列对换任意多次。求能够实现的\(p_i = i\)的最大个数为多少? 思路 将m中对换中能够相互关联的位置归为一组,这组位置之间可通过对换操作实现任 ......
abc 097 lt gt

abc096d<素数筛,整除>

题目 D - Five, Five Everywhere 寻找n个素数,使得这n个素数中任意5个数之和都是合数。 思路 如果一个数除5余1,那么5个这样的数之和一定能被5整除; 筛出范围内所有满足上述条件,且为素数的数即可。 总结 如何想到除五余一这一点呢? 首先应思考如何构造合数,想到如果是5个数 ......
素数 abc 096 lt gt

abc095d<思维>

题目 Static Sushi 一个圆桌上摆着n个食物,吃掉每个食物得到一定能量,沿着圆桌任意顺时针逆时针走,每走一米消耗1点能量,求能够得到的最大能量。 思路 一共4种走法: 顺时针走到某位置离开; 逆时针走到某位置离开; 顺时针走,而后走回原点,在逆时针走到某位置,离开; 逆时针走,而后走回原点 ......
思维 abc 095 lt gt

abc094d<组合数>

题目 Binomial Coefficients \(n\)个数中选择两个数作为组合数\(C(m,r)\)的\(m\)和\(r\),使得组合数的值最大。 思路 首先选择最大的数作为\(m\); 其次,对于确定的\(m\),要使得组合数最大,使得\(r\)接近\(\left \lceil \frac{ ......
abc 094 lt gt

abc333F - Bomb Game 2

abc333F - Bomb Game 2 设\(f_{i,j}\)表示在有i个人的队列中,第j个人成为第一个的概率。 \(f_{n,1}=\frac{1}{2}f_{n,n}\) \(f_{n,2}=\frac{1}{2}f_{n-1,1}+\frac{1}{2}f_{n,1}\) ... \(f ......
333F Bomb Game abc 333

abc335F - Hop Sugoroku

abc335F - Hop Sugoroku 首先容易想到\(O(n^2)\)的dp 考虑优化,对于一个i,只会对满足\(i+a[i]*x=j\)的j有贡献。 也就是j%a[i]=i%a[i] 那么我们可以延迟转移,用cnt[a[i]][i%a[i]],来记录贡献, 然后我们数组不可能开那么大,所以 ......
Sugoroku 335F abc 335 Hop

AtCoder Regular Contest 138

比赛链接 A - Larger Score 将一个 \(i\) 交换出前 \(K\) 个并将一个 \(j\) 交换进前 \(K\) 个需要的次数是 \(j-i\)。 于是只需要对于每个 \(j>K\) 找最大的 \(i\le K\) 使得 \(A_i<A_j\)。 B - 01 Generation ......
AtCoder Regular Contest 138

ABC 等多个系统 每个系统下有多个附件

public class Main { public static void main(String[] args) { List<Map<String, String>> systems = new ArrayList<>(); // 系统A Map<String, String> systemA ......
多个 系统 下有 附件 ABC

abc314e<构造,思维>

题目 D - Grid Components 在不超过100×100的方格中染黑白色,使得白色联通块个数为a,黑色连通块个数为b。 思路 固定使用100×100的格子,首先将上半部分全涂白,下半部分全涂黑;此时黑白两色的连通块的个数均为1; 而后在白色区域,在不破坏白色区域白色块联通性的前提下,离散 ......
思维 abc 314 lt gt

ABC335

T1:2023 模拟 代码实现 s = input() print(s[:-1]+'4') T2:Tetrahedral Number 模拟 代码实现 #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n ......
ABC 335

ABC332F

ABC332F Random Update Query 题解 AtCoder 在学校打的,切 ABCF 直接摆烂,D 题暴搜调不出来,很难蚌。 给你一个序列 \(a_i\),\(m\) 次操作,第 \(i\) 次将 \([l_i,r_i]\) 区间内等概率随机的一个数修改为 \(x_i\),最后求每 ......
332F ABC 332

AtCoder Beginner Contest 335 (Sponsored by Mynavi)

AtCoder Beginner Contest 335 (Sponsored by Mynavi) A - 2023 代码: #include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<l ......
Sponsored Beginner AtCoder Contest Mynavi

AtCoder Beginner Contest 335 总结

ABC335总结 A.202<s>3</s> 翻译 给你一个由小写英文字母和数字组成的字符串 \(S\)。 \(S\) 保证以 2023 结尾。 将 \(S\) 的最后一个字符改为 4,并打印修改后的字符串。 分析 两种做法: 直接把最后一个字符改为4,然后输出。 输出前 \(n\) 个字符后输出4 ......
Beginner AtCoder Contest 335

ABC335E题解

洛谷题面 感觉有点毒瘤,不过还是有些 trick 在的。 题意翻译(复制于洛谷题面): 给定一个 \(N\) 个点 \(M\) 条无向边的图,图上每个点都有其颜色。求所有经过点权单调不降的路径中,出现的不同颜色的个数最多是多少。 由于是单调不降的路径,所以可以点权大的点到点权小的点的路径对结果没有影 ......
题解 335E ABC 335

[ABC335F] Hop Sugoroku

庆祝一下我第一次赛时 AC 了 F 题(鼓掌)。 这道题第 1 秒就可以看出是道 dp 的题,并且状态肯定是 \(dp[i]\) 表示最后一个黑色块在 \(i\) 的状态的个数。问题无非在于如何转移状态。 很容易想到两种转移方法: 暴力转移法:对于每一个 \(i\),我们直接暴力将每一个 \(i+a ......
Sugoroku 335F ABC 335 Hop

AtCoder Beginner Contest 335

A #include<bits/stdc++.h> using namespace std; void solve(){ string s; cin>>s; for(int i=0;i<s.size()-1;i++){ cout<<s[i]; } cout<<"4"; } int main(){ i ......
Beginner AtCoder Contest 335

[ABC329E] Stamp 题解

正难则反。 直接往上覆盖不好做,那么可以考虑把字符从 \(S\) 上往下删。删的过程就是在 \(S\) 中找 \(T\) 并把他们变成 #。如果 \(S\) 中有字符为 #,那我们可以把它看成任意字符,因为向上贴的过程中有重复覆盖的情况,在删的时候我们并不知道他是否重复了,所以当成任意字符来看即可( ......
题解 Stamp 329E ABC 329

[ABC331F] Palindrome Query 题解

思路 判断一个字符串是否是回文串,可以从它的本质出发:正着读和倒着读是一样的。快速判断它正着和反着是否一样,用字符串哈希即可。又因为涉及单点修改,区间查询,那么使用线段树维护这两个值就行了。 这里讲一下如何 pushup。以正着的哈希值为例:我们要更新 \(p\) 这个点的 \(hash\) 值,已 ......
题解 Palindrome Query 331F ABC

Atcoder Xmas Contest 2022 H - Happy Game

Atcoder Xmas Contest 2022 H - Happy Game H - Happy Game (atcoder.jp) 没找到英文题解的一道题,或许很冷门。神秘。 Problem 给一张简单无向联通图,初始所有点都为白点。A 可以选择一个点,将其染黑;之后每次操作 B 可以选择最多 ......
Atcoder Contest Happy 2022 Xmas

[ABC178C] Ubiquity 题解

题意 有一个长为 \(n\) 的数列 \(a_1,a_2,...,a_n\) ,其中对于每个 \(a_i\) 都有 \(0 \le a_i \le 9\) ,并保证数列中至少有一个 \(a_i\) 为 \(0\) 且至少有一个 \(a_i\) 为 \(9\) 。输入 \(n\) ,输出满足条件的序列 ......
题解 Ubiquity 178C ABC 178

[ABC232E] Rook Path

题意 在象棋棋盘上有一个车,它的位置是 \((x1,y1)\),求车从此处到达 \((x2,y2)\) 有多少种情况。 思路 明显的组合数学与 DP 题。 最最最先,一定要明确一个概念,车可以横向或竖向移动到当前列或行的任意一个(除去它本身现在的位置),但不可以斜着移动。 如图所示,\((x1,y1 ......
232E Rook Path ABC 232

[ABC193E] Oversleeping

前置芝士 exgcd 或 excrt。 解法一:exgcd 这道题的说明异常明显,对题目中给出的式子进行计算推导,最终是可以化成 exgcd 中类似于 \(ax + by = \gcd(a, b)\) 的形式的。但是因为我太菜了,不会具体的推导过程与证明,所以可以看看这篇题解。 代码 需要注意的是, ......
Oversleeping 193E ABC 193

[ABC163E] Active Infants

思路 第一次看题很快就能想到贪心。一个大的值无非放到左边和右边,哪边增加的多放到哪边。但是有可能存在两边增加的一样的情况,同时不同的选择会影响以后的数值,所以贪心是错误的。 既然是对后面的数值有影响,那就是明显的 DP。先排个序,从大到小,然后每次先选未选过的最大的,枚举其在左右的两种情况。 DP ......
Infants Active 163E ABC 163

AtCoder Beginner Contest 335

AtCoder Beginner Contest 335 康复训练 打的有点昏啊 A - 2023 #include <bits/stdc++.h> #define endl '\n' //#define int long long using namespace std; void solve() ......
Beginner AtCoder Contest 335

AtCoder_abc335

A、2023 跳转原题点击此:A题地址 1、题目大意 给你一个字符串,要你对该字符串的最后一个字符改为4。 2、题目解析 直接通过string的性质即可,直接更改string的最后一个字符即可。 3、具体代码 #include<bits/stdc++.h> using namespace std; ......
AtCoder_abc AtCoder 335 abc

AtCoder Beginner Contest 335

基本情况 ABD秒了,C卡了一会,空间换时间然后爆内存,最后交了个100多行的逆天模拟终于+4过。 赛后发现其实是手写了双端队列。 C - Loong Tracking C - Loong Tracking 思路很明显,空间换时间,把每个状态用数组全记录下来。 但是纯这样写数组会开的巨大,所以得让后 ......
Beginner AtCoder Contest 335
共1600篇  :1/54页 首页上一页1下一页尾页