题解328f abc

春秋杯春季联赛&&ciscn2023华北赛区部分题解

# 前言 复现几个比赛时没做出来的题 # 1.[CISCN 2023 华北赛区]ez_ruby 查文档可知 ruby内置的open函数,如果第一个字符是管道符`|`,后面就可以接命令。这可能是考察涉猎的知识范围广不广吧。 ![image-20230619194556898](https://img2 ......
题解 赛区 amp 联赛 部分

【题解】AtCoder-ABC306G Return to 1

这也太强了! 容易想到的是用若干环拼出这个 $10^{10^{100}}$,也就是这些环的 $\gcd \mid 10$。 之后就不会了。 先正图反图两次 DFS,只留下 $1$ 所在强连通分量里的边,对正图跑 DFS 生成树,定义其深度从 $0$ 开始,然后有一个结论是:对于任何正整数 $a$,图 ......
题解 AtCoder-ABC AtCoder Return ABC

abc059d <博弈, 打表找规律>

[D - Alice&Brown](https://atcoder.jp/contests/abc059/tasks/arc072_b) #### 如何打表 要善于通过打表展示视觉信息, 从而找到规律; ``` #include #include using namespace std; typed ......
规律 059d abc 059 lt

P8477 「GLR-R3」春分 题解

[更好的阅读体验](https://www.luogu.com.cn/blog/wsfxk/solution-p8477) 牛逼逼题。 ## Subtask 1 直接暴力,每个实验配一块板。 需要 $n^2$ 块板。 ```cpp cout << n * n << '\n'; for (int i ......
题解 P8477 GLR-R 8477 GLR

abc058d <公式化简>

[D - ###](https://atcoder.jp/contests/abc058/tasks/arc071_b) 原计算公式为: $$ \sum\limits_{1\le i #include using namespace std; typedef long long LL; const ......
公式 058d abc 058 lt

题解 Luogu P4248 [AHOI2013]差异

这是一个 SAM 做法。 显然只要求 $\sum\limits_{1\le i < j \le n}\operatorname{lcp}(i,j)$。 考虑 $T_i, T_j$ 在 SAM 上的两条链。显然,这两条链可以被表示为 $1 \rightarrow P, P \rightarrow x, ......
题解 差异 Luogu P4248 4248

AT_abc118_d题解

[AT](https://atcoder.jp/contests/abc118/tasks/abc118_d) [Luogu](https://www.luogu.com.cn/problem/AT_abc118_d) ### 题目描述 有 $n$ 根火柴 $m$ 种数字,数字 $1,2,3,4,5 ......
题解 AT_abc 118 abc AT

P2596 [ZJOI2006]书架 题解

题目传送门:[link](https://www.luogu.com.cn/problem/P2596)。 ## FHQ-Treap 解题的关键在于如何来求出一本书上面有多少本书,但考虑到我们里面没有像权值一样的东西来让我们用按值分裂来完成这个操作,所以考虑用按排名分裂来实现。 我们按照先后顺序把所 ......
题解 书架 P2596 2596 2006

P4414 [COCI2006-2007#2] ABC

题意翻译 【题目描述】 三个整数分别为 A,B,CA,B,C。这三个数字不会按照这样的顺序给你,但它们始终满足条件:A < B < CA ......
P4414 4414 2006 2007 COCI

AtCoder Beginner Contest(abc) 306

*** ### A - [Echo](https://atcoder.jp/contests/abc306/tasks/abc306_a) #### 题目大意 >把一个字符串的每个字符输出两遍 #### 解题思路 >签到题不多嗦了; #### 神秘代码 ```c++ #include #define ......
Beginner AtCoder Contest 306 abc

AtCoder Beginner Contest(abc) 305

*** ### A - [Water Station](https://atcoder.jp/contests/abc305/tasks/abc305_a) #### 题目大意 >给定一个0~100之间的数, 输出离它最近的5的倍数 #### 解题思路 >签到题不多嗦了; #### 神秘代码 ``` ......
Beginner AtCoder Contest 305 abc

CF248B Chilly Willy 题解

## CF248B Chilly Willy ### 解题过程 经过简单思考,这道题肯定是由规律可循,因为 $n \le 10^5$,只有高精度能存下。 下面是暴力程序对 $n$ 为 $1$ 到 $13$ 时的答案进行求解($11$ 到 $13$ 超出 int 范围了)。 ![img](https: ......
题解 Chilly Willy 248B 248

UVA12222 Mountain Road 山路 题解 dp

UVA12222 山路 题意: - - 一个山路只有一条车道,因此不能有两辆方向相反的车同时在车道内。同时,为了保证安全,车道内不能超车,且同向行驶的车间距必须大于10分钟。现在给你n辆车,三个参数依次表示行驶方向,到达时刻,行驶时间。问如何安排能使最后一个通过的车通过时的时刻最小,输出这个值。 分 ......
题解 山路 Mountain 12222 Road

abc056d <todo>

https://atcoder.jp/contests/abc056/tasks/arc070_b ``` // https://atcoder.jp/contests/abc056/tasks/arc070_b // 查到多种做法 二分 / dp ... // 参考 https://blog.cs ......
056d todo abc 056 lt

abc055d <枚举>

https://atcoder.jp/contests/abc055/tasks/arc069_b 使用二进制枚举会更加简洁, 要有从进制角度思考问题的习惯 ``` // https://atcoder.jp/contests/abc055/tasks/arc069_b // 枚举, 尝试前两个动物 ......
055d abc 055 lt gt

abc054d <dp, 背包>

https://atcoder.jp/contests/abc054/tasks/abc054_d ``` // https://atcoder.jp/contests/abc054/tasks/abc054_d // 背包 // 这里开始的时候数据规模想错了, 所以用了map, 实际上可以用数组 ......
背包 054d abc 054 lt

abc052d

https://atcoder.jp/contests/abc052/tasks/arc067_b ``` // https://atcoder.jp/contests/abc052/tasks/arc067_b // 贪心即可, 从左到右行动, 每步选择代价小的方式 #include #inclu ......
052d abc 052

abc051 <多源最短路>

https://atcoder.jp/contests/abc051/tasks/abc051_d ``` // https://atcoder.jp/contests/abc051/tasks/abc051_d // 一条边不含于任何一条最短路中, 当且仅当w[i][j] > dist[i][j] ......
abc 051 lt gt

abc050d <???>

``` #include #include #include using namespace std; typedef long long LL; map mp; const LL mod = 1e9 + 7; LL f(LL n) { if (mp[n]) return mp[n]; if (n ......
050d abc 050 lt gt

ARC162 题解

## A.Ekiden Race (450) 题意:$n$ 个人在进行往返跑比赛,其中第 $i$ 个人在回程前的排名是 $i$,总排名是 $p_i$,问有多少个人可能成为回程中跑得最快的人? 如果对于 $i$,存在某个 $j>i$,使得 $p_j<p_i$,那么 $j$ 在回程途中超过了 $i$,$ ......
题解 ARC 162

AT_diverta2019_c 题解

小蒟蒻第一次写题解,不好请指出。 ## 思路1 1. 找每个字符串中的 `AB` 的数量; 2. 暴力枚举两个字符串的第一个字符和最后一个字符能否组成 `AB`; 然后就是劈里啪啦敲代码。 ```cpp #include #include using namespace std; struct st ......
题解 AT_diverta diverta 2019 AT

AT_joi2021_yo1b_b 题解

小蒟蒻的第二篇题解,有问题请指出。 ## 思路 用三重循环依次找出 `I`、`O`、`I`。 第一个循环找第一个 `I`,若找出,继续第二个循环找 `O`,若找出,最后第三个循环找 `I`,若全部找出,直接输出 `Yes` 返回 $0$ 结束。遍历整个字符串也没有 `I`、`O`、`I` 的话,便输 ......
题解 AT_joi yo1b_b 2021 joi

[TJOI2007]路标设置 题解

题目链接:https://www.luogu.com.cn/problem/P3853 题目大意:给出一个递增数组,插入K个值,使其差分数列的最大值最小;值得注意的是,此题中每个数字都是整数 考点:整数二分 错误思路:利用堆排,取最大值直接二分 code: 1 #include<bits/stdc+ ......
题解 路标 TJOI 2007

UVA11090 Going in Cycle!!题解

## 题目大意 给定一个N个点M条边的带权有向图,求平均值最小的回路。 ## 解法 看到这种题目,~~喜欢打暴力的我~~一下就想到:遍历整个图,找到每一个环,然后算出它们的平均值,最后比较出最小值。然而,呃...,会T飞... **既然我们不能暴力找最小值,那还有什么别的办法吗?** 我们只需要输出 ......
题解 11090 Going Cycle UVA

题解 P4108【[HEOI2015]公约数数列】

看到这种奇怪的操作,首先想到分块。 以下记值域为 $w$,块长为 $B$。 前缀 $\gcd$ 显然单调不增,而且后一个必须是前一个的因数,如果变化至少要减半。因此,我们知道,共有 $\mathcal O(\log w)$ 个不同的前缀 $\gcd$。我们可以接受对这些块暴力,只需要对前缀 $\gc ......
公约数 数列 题解 公约 P4108

abc049d <并查集>

https://atcoder.jp/contests/abc049/tasks/arc065_b ``` // https://atcoder.jp/contests/abc049/tasks/arc065_b // 使用两个并查集维护连通关系 // 求并集, 使用每个并查集的祖宗节点组成的pai ......
049d abc 049 lt gt

我是如何写题解的

在算法竞赛中,写题解是我们不可或缺的一部分。它不仅能够帮助我们整理思路、总结经验,还可以与他人分享我们的解题思路和代码实现。然而,写一篇较完备的题解往往非常繁琐,需要手动复制粘贴题目链接、题号和AC代码,这不仅费时费力,还容易分散我们的注意力,因为我们写题解的核心内容是对题目的理解以及怎么解决这个问 ......
题解

CF1557E Assiut Chess 题解

## 题面翻译 **本题是一道交互题。** **本题需要你编写一个国际象棋中单后杀王的程序,和交互库对弈。** 本题的规则和一般国际象棋中的规则有所不同,请认真阅读。 国际象棋棋盘是 $8\times 8$ 的正方形网格。本题中,所有行从上到下分别编为 $1\sim 8$ 行,所有列从左到右分别编为 ......
题解 Assiut 1557E Chess 1557

CF261E Maxim and Calculator 题解

## 题面翻译 二元组$ (a,b)$,可以变成$ (a,b+1)$或$ (ab,b)$ 你有初始二元组$ (1,0)$,给你区间$ [l,r]$,和一个整数$ p$,在区间内选一个数$ x$,使$ (1,0)$在不超过$ p$步变化后,第一维的值变成$ x$,求$ x$的个数$ (2 #defin ......
题解 Calculator Maxim 261E 261

abc048d <博弈>

https://atcoder.jp/contests/abc048/tasks/arc064_b - 有意识地想办法简化问题, 缩小问题规模 - 尝试打表找规律 ``` // https://atcoder.jp/contests/abc048/tasks/arc064_b // 考虑当出现不能操 ......
048d abc 048 lt gt