题解codeforces round split

Competition Set - Codeforces

这里记录的是这个账号的比赛情况。 Codeforces Round 869 (Div. 1) 2023-4-29 Solved:3/6 2302->2350 Good Bye 2022: 2023 is NEAR 2022-12-30 Solved:5/8 2218->2302 Codeforces ......
Competition Codeforces Set

[CodeForces-545A]题解(C++)

Part I Preface 原题目(Luogu) 原题目(CodeForces) Part II Sketch 给定一个正整数 $n$,表示汽车数量。 给定一个 $n \times n$ 阶矩阵 $A$,第 $i$ 行 $j$ 列上的数字表示 $i$ 车与 $j$ 车的对撞情况。 $\begin{ ......
题解 CodeForces 545

[CodeForces-545A]题解(C++)

Part I Preface 原题目(Luogu) 原题目(CodeForces) Part II Sketch 给定一个正整数 $n$,表示汽车数量。 给定一个 $n \times n$ 阶矩阵 $A$,第 $i$ 行 $j$ 列上的数字表示 $i$ 车与 $j$ 车的对撞情况。 $\begin{ ......
题解 CodeForces 545

CF1260E Tournament 题解

妙妙题,但是感觉评不到紫。 题目链接。 题意 luogu 题意。 有 $n$ 个人,贿赂第 $i$ 个人的代价为 $a_i$。这些人中,贿赂代价为 $-1$ 的是你的朋友。现在,你可以两两配对,使得编号小的被淘汰,但是,如果你贿赂了编号大的,那么编号大的被淘汰,而编号小的留下。问:使得你朋友夺得冠军 ......
题解 Tournament 1260E 1260 CF

ABC269F 题解

前言 题目传送门! 更好的阅读体验? 题解区的方法思维难度都过大(?),提供一种极其容易的方法。 思路 题目就是求 $\sum\limits_{i=x_1}^{x_2}\sum\limits_{j=y_1}^{y_2}a_{i,j}$。所以很容易想到先算 $\sum\limits_{j=y_1}^{ ......
题解 269F ABC 269

LeetCode 27. 移除元素 题解

题目链接:LeetCode 27. 移除元素 本题大意是要对一个数组进行原地删除数值等于 val 的元素。 双指针算法: 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。 快指针(p指针):寻找新数组的元素 ,新数组就是不含有目标元素的数组 慢指针(q指针):指向更新 新数组下标的 ......
题解 LeetCode 元素 27

LeetCode 704. 二分查找 题解

##本题考查的就是一个基本的整数二分查找问题 对于整数二分,有单调性一定可以二分,没有单调性的有时候也可以二分。 ##算法思想(分为两种方法): 查找结果是在左边区间的情况 区间被划分为[l,mid]和[mid+1,r] 1、确定分界点,mid=q[(l+r)/2] 2、判断是否满足 是:区间变成[ ......
题解 LeetCode 704

Educational Codeforces Round 147 (Rated for Div. 2) (贪心)

###原题链接:https://codeforces.com/contest/1821/problem/D * 题意:从1开始走,走的给定区间的值要k次。且shift按了要松开,代表走了一个区间除了往右的次数,还要多两次按shift的次数, 求最小次数。 * 思路: 1. 先把不可能的情况列出来,就 ......
Educational Codeforces Round Rated 147

华为OD机试 本篇题解:开心消消乐

最近更新的博客 华为 od 2023 | 什么是华为 od,od 薪资待遇,od 机试题清单 https://dream.blog.csdn.net/article/details/128980730 华为 OD 机试真题大全,用 Python 解华为机试题 | 机试宝典 https://dream ......
题解

华为 OD 本篇题解:特异性双端队列

华为 OD 机试【4 大宝典】再次上新题! ① Python 解华为机试题 :https://dream.blog.csdn.net/article/details/129221789 ② C++ 解华为机试题:https://dream.blog.csdn.net/article/details/ ......
特异性 题解 队列 OD

洛谷P4824题解

题面 题意:给出字符串 s 和 t,每次操作将 s 中出现的第一个 t 删去,直到不能删为止。求最后的串。 |s|<=1e6 题解:hash 做法。(此题也有 kmp 和权值线段树做法) 因为涉及到删除操作,所以我们要动态的实现这个过程。所以考虑开一个栈来存储当前留下的字符。 然后每有一个字符入栈, ......
题解 P4824 4824

洛谷P7469题解

题面 题意:有两个字符串 a 和 b,问 b 中有多少个本质不同子串可以由 a 删除若干个字符得到。 |a|,|b|<=3000 题解:字典树(这个题做法很多,后补)。 把字符串 b 的每个子串打到字典树上。 然后因为 3000^2*26 这个东西比较大,所以不能用 nxt[id][26] 来存储, ......
题解 P7469 7469

CWOI 2023.05.04 题解

mzx 的动态规划杂题选讲。sto ARC153 D - Sum of Sum of Digits P7152 [USACO20DEC] Bovine Genetics G CF1542E2 Abnormal Permutation Pairs (hard version) 题意 给定 $n,m$, ......
题解 CWOI 2023 05 04

Codeforces Round 869 (Div. 2)

从这一篇开始,比较重要的题目我会把题面放上 A. Politics 傻逼题目,傻逼题面,傻逼出题人 明明一句话能说清楚的事情为啥放样例了说啊? 不然你说这个东西有多项式解法吗? 一句话题解,和我不同意见的,都得死 #include <bits/stdc++.h> #define ll long lo ......
Codeforces Round 869 Div

Codeforces Round 867 (Div. 3)

A. TubeTube Feed 分析: 从所有a[i]+i-1<=t的选择种取个max即可 code: #include <bits/stdc++.h> using namespace std; const int N = 55; int a[N], b[N]; int main() { std: ......
Codeforces Round 867 Div

Codeforces 908H - New Year and Boolean Bridges(FWT)

一道挺有意思的题,并且感觉有点诈骗的成分在内( 首先考虑分析三种字符的性质: 显然任意两点 $i,j$ 之间要么 $i$ 可以到达 $j$,要么 $j$ 可以到达 $i$,否则 A O X 三个一个都不能满足。 如果两点间的状态是 A,那么这两点必须在同一强连通分量内。 如果两点间的状态是 X,那么 ......
Codeforces Boolean Bridges 908H Year

P3809 【模板】后缀排序 题解

一、题目描述: 给你一个长度为 $n$ 的字符串 ,由大小写英文字母和数字组成。请将这个字符串的所有非空后缀按字典序排序,顺序输出后缀的第一个字符在原串中的位置,编号为 $1$ 到 $n$。 二、解题思路: 板子题,我就不写思路了。我用的是 $SA$,$DC3$ 还没学。时间复杂度 $O(nlogn ......
题解 后缀 模板 P3809 3809

SMU Spring 2023 Trial Contest Round 10

A. Remove Duplicates #include <bits/stdc++.h> //#define inf 0x3f3f3f3f #define endl '\n' #define int long long using namespace std; const int N = 2e3 ......
Contest Spring Round Trial 2023

CQ 周赛 Round#1

题目见此 F. 树染色方案计数 一道很有意思的树形 dp,和 P4516 潜入行动 非常相似。 考虑状态怎么定义。第一个维度肯定是以 $i$ 为根的子树,第二个维度是当前子树中的特殊节点个数,同时还要考虑当前节点的颜色,即为第三个维度。 当前节点的颜色无非跟 $k$ 有关,即小于 $k$,等于 $k ......
Round CQ

PA 2022 部分题解

[PA 2022] Wielki Zderzacz Termionów 有 $n$ 个球,每个球有 A、B 或 C 三种颜色。开始时你将每个 C 涂成 A 或 B。之后的每次操作,你可以选择相邻的两个 A 合并为一个 B,或选择相邻的两个 B 合并为一个 A。求将 C 涂色的方案数,满足你能够通过若 ......
题解 部分 2022 PA

题解 ARC139D【Priority Queue 2】

problem 给定 $n,m,k,x$,给定了一个有 $n$ 个元素的可重集合 $a_i\in [1,m]$,会进行 $k$ 次如下操作:选择一个数 $y\in[1,m]$ 加到 $a$ 中,并把 $a$ 中第 $x$ 小的元素删除。 有 $m^k$ 种情况,对于每种情况的价值定义为最后 $a$ ......
题解 Priority Queue 139D ARC

4.[1201D - Treasure Hunting](https://codeforces.com/problemset/problem/1201/D)

4.1201D - Treasure Hunting 题目意思: 在一个n*m的地图上面,左下角的坐标是(1,1),最开始你位于左下角,一秒钟你可以进行往左或者往右的操作,你只能在一些特殊的列上面进行往上移动的操作,你不可以往下移动。现在告诉你k个宝藏的坐标信息以及哪些列是允许往上的,问最后至少要几 ......
1201 codeforces problemset Treasure Hunting

Deltix Round, Spring 2021 (open for everyone, rated, Div. 1 + Div. 2)

好久没发博客了,发一篇。 A 求出每个 $0$ 与往前 / 往后最近的 $1$ 的距离即可。 时间复杂度 $\mathcal{O}(n)$。 B $(x, y) \to (x + y, y) \to (x + y, -x) \to (y, -x) \to (y - x, -x) \to (y - x ......
Div everyone Deltix Spring Round

SMU Spring 2023 Contest Round 1

SMU Spring 2023 Contest Round 1 B - Contest Preparation 思路:特判下m大于n的情况,只有make后才能validate #include<bits/stdc++.h> using namespace std; typedef pair<int, ......
Contest Spring Round 2023 SMU

关于容斥原理 / P5505题解

发现很多题解连容斥原理的“钦定”和“至少”的区别都讲不清楚,误导萌新,所以写一下这两个东西的区别 “钦定”这个东西是会算重的,而“至少”不会。 举个例子吧,比如 $1\ 2\ 3$ 三个位置不合法,如果我说“钦定”两个位置不合法,那么这里计算方案的时候这个不合法的方案会被计算三次,分别是钦定 $1\ ......
题解 原理 P5505 5505

[JOI 2016 Final]断层 题解

题目链接 首先发现斜着平移比较难处理,所以考虑将平面逆时针旋转 $45°$。 接着发现风化也不好处理,但是风化的一定不会作为答案,所以我们可以离线,然后倒着处理操作,上升变为下降。 我们发现每个初始 $0$ 点最后的坐标就是它正着做时初始的坐标,且每次操作都只会将连续一段点的 $x,y$ 坐标修改。 ......
题解 断层 Final 2016 JOI

【23.05.03】好题题解

好题题解 A 题目大意: 计算一个项数为 $n$ 的多项式除以 $x^3-x$ 的余数多项式。 数据范围: 对于 $100%$ 的数据: $2 \leq n \leq 2 \times 10 ^ 5$ 解题分析: 水题,直接多项式除法模拟即可。 需要注意细节。 AC Code: # include ......
题解 23 05 03

【题解】ABC300 F,G

F.More Holidays 题目分析: 考虑刻画一下我们选择是什么样子的。 考虑我们最后选择的 $T$ 中的一段一定是形如:一个完整的 S 选择一个后缀 $+$ 若干个完整的 S $+$ 一个完整的 S 的前缀。 这样的话就启示我们直接枚举这个前后缀选择的是什么,然后就可以很快算出来了,但是枚举 ......
题解 ABC 300

[POI2005]SAM-Toy Cars 题解(贪心+堆)

题面 首先考虑一个贪心策略:当地板已经放满需要取出一个时,取下一次使用时间 $nxt$ 最晚的那个。 所以我们只需要一个可以快速求出一个集合中 $nxt$ 最小的点并删除,插入新点的数据结构,这里很容易想到堆。 代码很简洁,注意数组的下标是位置还是颜色(考场 100 pts 到 0 pts)。 co ......
题解 SAM-Toy 2005 Cars POI

Cashier 题解

题目传送门 一道贪心题。 我们可以记录每一位客人离开的时间,当下一位客人来临时,他们之间空闲的时间就是我们休息的时间。 for (int i = 1; i <= n; i++) { int t, l; cin >> t >> l; ans += (t - endt) / a; endt = t + ......
题解 Cashier