题解atcoder agc 004

[ARC092F] Two Faced Edges 题解

题意 给定一张有向图,询问将每条有向边反向过后整个图的强连通分量的个数是否发生改变。 数据范围:$n\le 1000,m\le 200000$。 思路 分类讨论,讨论强连通分量是增加了还是减少了,假设修改的边是 $u\to v$。 强连通分量减少 因为只修改了一条边,所以强连通分量减少的情况肯定是 ......
题解 Faced Edges 092F ARC

[题解]AT_abc328_f [ABC328F] Good Set Query

思路 带权并查集模板。 如果对于一个三元组 \((a,b,c)\) 如果它能够添加到 \(S\) 中一定满足如下条件中的一条: \(X_a,X_b\) 满足其中有一个是「不确定」的。在这里 ......
题解 328 AT_abc Query 328F

Toyota Programming Contest 2023#7(AtCoder Beginner Contest 328)

Toyota Programming Contest 2023#7(AtCoder Beginner Contest 328) A. Not Too Hard 题意: 将给定的数列\(a\)中数值小于\(x\)的数累加。 解题思路: 模拟。 代码: #include<bits/stdc++.h> u ......
Contest Programming Beginner AtCoder Toyota

【题解 P8476】 惊蛰

「GLR-R3」惊蛰 题目背景 「微雨众卉新,一雷惊蛰始」 中午,休息室,阿绫肩膀上。 “我有一个愿望,参加全国音乐祭,获奖,和阿绫一起,摆脱这训练的苦海。” “为热爱而到来,为抽身而努力……吗”。 正午的阳光渗过窗帘,抚上困倦的人儿的脸颊。天依的左手悄悄搭上阿绫怀里的吉他, “铮——” 蛰虫被雷声 ......
题解 P8476 8476

CF300B Coach 题解

闲话 调了好一会,甚至还重构了一次代码才对,但是还是很喜欢并查集,并查集可爱捏。 题意省流 $n$ 个学生分成 $3$ 人一组,要满足 $m$ 个条件,每个条件给出两个数 $x,y$,要求 $x$ 和 $y$ 必须在一个组里。 正文 要使学生三人一组,一眼使用并查集。 首先考虑无解(输出 $-1$ ......
题解 Coach 300B 300 CF

NOJ题解

NOJ题解 30-40 素数 埃氏筛,欧拉筛都可 可变参数累加/平均 用给出的库函数即可 基思数 根据题意模拟 #include<stdio.h> #define ll long long ll num[102]; inline bool IsKeith(ll n) { int tot = 0, t ......
题解 NOJ

[题解] P6569 [NOI Online #3 提高组] 魔法值

P6569 [NOI Online #3 提高组] 魔法值 不放简要题意了,题面写的很简要。 看到数据范围自然可以想到矩阵快速幂优化。但乘法对异或没有分配律。所以直接拆位,把异或变成加法对二取模就有分配律了。 还有一个优化就是提前预处理出矩阵的 2 的幂次方,然后询问时直接二进制分解乘起来就行。 时 ......
题解 Online 魔法 P6569 6569

ARC119F 题解

前言 ARC119F 好厉害,是没见过的自动机 DP。 正文 [1] 分析 主要分析一下为什么这么写。 [2] 状态设计 [3] 自动机状态转移 感觉状态设计中最难的就是如何处理带 \(O\) 的。 见参考资料。 [4] 代码 还没写。写ing 这是自动机的初始化(有点麻烦)。 int to[Kin ......
题解 119F ARC 119

[题解] P6772 [NOI2020] 美食家

P6772 [NOI2020] 美食家 给你一张 \(n\) 个点 \(m\) 条边的有向图,经过每条边需要 \(w_i\) 的时间,每个点有价值 \(c_i\)。每次经过一个点时可以获得它的价值(可重复获得)。 还有 \(k\) 个附加价值 \((t, x, y)\) 表示如果你在 \(t\) 时 ......
美食家 题解 美食 P6772 6772

P9836 种树 题解

P9836 种树 题目链接 前言废话:不怎么打洛谷的比赛,昨天心血来潮,结果只看了 T1 且分配指数假了,或者说根本没深入思考,这下掉大分了。但个人感觉是很不错的题。 题意:给你一个序列 \(a\),并给你一个数 \(k\)。可以将其分解因数后乘到任意 \(a_i\) 上。求最大化的 \(a_i\) ......
题解 P9836 9836

义乌二中OJ题解大全

义乌二中OJ网址(点击跳转) 网址首页有Python IDLE和Thonny的下载链接,点击即可下载 摘要 本题解按照题目难度进行分类,分为:入门、青铜、白银、黄金 优先更新青铜难度试题,入门难度试题会挑部分更新,白银和黄金难度试题后置 题解文章发布于本人的CSDN博客账号,点击文章链接即可跳转(如 ......
题解 大全

AtCoder Beginner Contest 328 (ABC328)

A. Not Too Hard 模拟。 Code B. 11/11 模拟。 Code C. Consecutive Description 给你一个字符串 \(S\),有 \(Q\) 次询问,每次输入 \(l, r\),求:\([S_l,S_r]\) 区间中有多少个相邻的字符是相等的。 Soluti ......
328 Beginner AtCoder Contest ABC

ABC328F题解

原题链接 洛谷题面 提交记录 闲话 赛场就做了这道和 A,喜提 \(625\) 大分。 带权并查集练手题,有点像银河英雄传说。 题目大意 存在一个长度为 \(N\) 的数列 \(X\),给定 \(Q\) 个三元组 \((a_i,b_i,d_i)\),定义一个好集合为集合 \(S\subseteq\{ ......
题解 328F ABC 328

20223年11月第二题解---------数组

1. 问题H:【C语言训练】排序问题<1> 1.1. 解题思路 题目已经告诉你了,用排序 1.2. 解题方法 1.2.1. 冒泡排序 #include <stdio.h> #define N 10 void bubberSort(int *a, int size);//冒泡排序,升序,即按从小到大的 ......
题解 数组 20223

题解:[春季测试 2023] 幂次

题解:[春季测试 2023] 幂次 给定 \(n,k\) ,求有多少个整数 \(i \in [1,n]\) ,满足 \(i=a^b (a,b \in N^+,b \geq k)\) 算法一 \(k \ge 3:\) 发现只需要筛到1e6就没有贡献了,加上 \(set\) 暴力判重即可。 \(k=2: ......
题解 2023

Tenzing and Random Operations CF1842G 题解

设 \(m\) 次选的位置分别为 \(b_{1\sim m}\)。 于是答案为 \(\mathbb E(\prod\limits_{i = 1}^{n}(a_i + \sum\limits_{j = 1}^{m}[b_j \le i]\cdot v)) = \frac{S}{n^m}\)。 首先考虑 ......
题解 Operations Tenzing Random 1842G

AT AGC043C - Giant Graph - 总结

AT AGC043C - Giant Graph 因为 \({(10^{18})}^{x+y+z}\) 的底数很大,所以我们贪心的选择 \(x+y+z\) 大的点是存在正确性的。那么我们从小点向大点连有向边,形成 DAG 后,对于一个点,如果它指向的点都没有被选取,那么选择它,否则不选。 我们发现这 ......
Giant Graph 043C AGC 043

P2687 [USACO4.3] 逢低吸纳 题解

双倍经验 分析 这是一道求最长下降子序列的题目,且要统计方案,但是会有重复情况,例如以下的的数据, 4 4 2 2 3 我们可以选择 \(1, 2\), \(1, 2\), \(1, 4\) 这几天来购买,但是 \(1, 2\) 和 \(1, 3\) 本质上是一样的,所以只算一种。 根据上面的说明, ......
题解 USACO4 P2687 USACO 2687

[题解] P9838 挑战 NPC IV

P9838 挑战 NPC IV 定义 \(f(x) = 1 + \log_2 \operatorname{lowbit}(x)\)。 定义一个 \(1 \sim n\) 的排列 \(p\) 的权值是 \(\sum_{l = 1}^n \sum_{r = l}^n \sum_{i \in [l, r] ......
题解 P9838 9838 NPC IV

【2023 #84】 锦城ACM周测 (大二个人赛) 题解

题目难度 \(B<D<E=C<A\) Candy war Question 有 \(N\) 个盒子摆成环形,第 \(i\) 和盒子里面有 \(a_i\) 个糖果,他们开始在 \(1\) 好盒子,然后每个人取一次,可以取\(1\), 或者小于当前盒子内糖果数的一个质数 \(p\), 两个人都取了之后就 ......
个人赛 题解 个人 2023 ACM

AGC063B

题意 通过不断在某个位置添加 \((1,2,\dots ,k)\) 所形成的序列称为可生成的。求给定序列有多少区间是可生成的。 分析 我们把一个可生成的序列看成很多依次加一的区间 \((x,x+1,\dots,y)\) 构成的,很明显发现,对于每一个区间,总是满足前面有一段的结尾是 \(x-1\) ......
063B AGC 063

「题解」P6791 [SNOI2020] 取石子

anti-game 没有用,能取到 \(n-1\) 的必胜,不能取到 \(n-1\) 的必败,所以现在考虑取走最后石子获胜的情况。 对于一个 \(n\) 来说合法的 \(k\) 一定是一个前缀,并且一定是贪心取最小的(留给对方的机会更小),所以启发将每个 \(n\) 最小的合法的 \(k=a_n\) ......
题解 石子 P6791 6791 2020

ABC 328 题解

A 直接模拟即可。 cin>>n>>m; for(int i=1;i<=n;++i){ int x; cin>>x; if(x<=m)sum+=x; } cout<<sum; B 直接模拟即可。 int n,ans; bool chk(int x,int y){ int dig=x%10; x/=1 ......
题解 ABC 328

ABC328F 题解

blog。提供一个普通并查集 + 启发式合并做法。 考虑直接维护 \(X_i\)。对于 \(X_u-X_v=w\),分四种情况。 \(X_u,X_v\) 都没被维护过。直接钦定 \(X_u\gets w,X_v\gets0\),以后再改。 \(X_u\) 没被维护过,\(X_v\) 被维护过。显然 ......
题解 328F ABC 328

[题解] CF407E k-d-sequence

k-d-sequence 给你一个长为 \(n\) 的序列,求最长的子区间使得它加入至多 \(k\) 个数后,重排后是公差为 \(d\) 的等差数列。 \(n, k \le 2 \times 10^5\),\(0 \le d \le 10^9\)。 公差是 \(d\) 的等差数列模 \(p\) 的值 ......
题解 k-d-sequence sequence 407E 407

ABC328G 题解

blog。剩下几分钟的时候胡出来了,但是时间不够,痛失 AK /dk。 \(N\le22\),显然状压 DP。\(dp_s\) 表示确定 \(s\) 集合的元素所需的代价(这些元素都放在最前面)。 确定了 \(s\) 后,发现会有 \(\operatorname{popcount}(s)\) 个元素 ......
题解 328G ABC 328

[题解] CF505E Mr. Kitayuta vs. Bamboos

Mr. Kitayuta vs. Bamboos 给定 \(n\) 个数 \(h_{1 \dots n}\)。 你需要进行 \(m\) 轮操作,每轮操作为 \(k\) 次修改,每次修改可以选择一个数 \(h_i\) 修改为 \(\max(h_i - p, 0)\)。 每轮操作后每个 \(h_i\) ......
题解 Kitayuta Bamboos 505E 505

AtCoder Beginner Contest 328

AtCoder Beginner Contest 328) A - Not Too Hard 扫一遍求和。 B - 11/11 枚举,判断。 C - Consecutive 对于相等的 \(a_i=1\), 做一遍前缀和。 D - Take ABC 用一个栈维护即可。 E - Modulo MST ......
Beginner AtCoder Contest 328

AtCoder Beginner Contest 328

A - Not Too Hard (abc328 A) 题目大意 给定\(n\)个数字和一个数 \(x\)。 问不大于 \(x\)的数的和。 解题思路 按找要求累计符合条件的数的和即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; usin ......
Beginner AtCoder Contest 328

AtCoder Beginner Contest 328

A 傻逼题。 B 傻逼题 C 傻逼题 D 不难发现,每次添加一个字符,如果可以当前的答案组成 ABC 就删。然后模拟即可。 E 两种方法。 二进制枚举使用了哪些边。 可以发现有用的状态只有 \(\binom{m}{n-1}\),上限大概 \(10^5\),剩余无用状态过了就行。复杂度 \(O(m2^ ......
Beginner AtCoder Contest 328