题解1249 div cf

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

P3809 【模板】后缀排序 题解

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

CF27E (反素数)(2000)

###原题点这 ###前置知识点:反素数 反素数: 若 N $\le$ $2^{31}$ 1 ~ N 中的反素数,就是 1 ~ N中约数个数最多的数中 最小 的一个。 1 ~ N 中任何数的不同质因子都不会超过 10 个且所有质因子的质数都不会超过30。 x$\in$[1, N],x 为反素数的必要 ......
素数 2000 27E CF 27

CF803F(莫比乌斯反演 + 容斥) (2000)

###原题 ###题意: 给定一个n个数的序列,问你有多少个子序列的 gcd = 1。(n $\le$ $10^{5}$) ###思路: 序列一共有n个数,则有 $2^{n}$ - 1个子序列。 显然答案为 $2^{n}$ - 1 减去 gcd > 1 的子序列的个数。 而问题来了——— gcd > ......
2000 803F 803 CF

CF1404 div.1做题记录

有趣的一场 A CF题面 因为所有长度为 $k$ 的区间都要满足条件,所以对于所有 $i\le n-k$,都有 $s_i=s_{i+k}$。随便判一下就没了。 点击查看代码 #include<bits/stdc++.h> #define ull unsigned long long #define ......
1404 div CF

cf1823

A. A-characteristic 题目链接 由于出现数字只可能是1或-1,那么假设数列全为-1,依次枚举1出现的个数,可以得出结论不是所有数字都有答案的,由于会有重复数字出现,只需要枚举1的个数x<=n/2即可。 // Problem: A. A-characteristic // Conte ......
1823 cf

CF1325D(异或构造)1700

###原题链接 题目大意: 给定整数 u 和 v (0$\leq$u,v$\leq$$10^{18}$ )试构造长度最短的数组,使得数组内所有元素的异或和为 u,加和为 v。 如果有解,输出两行,第一行输出一个整数 n,第二行输出 n 个非负整数,表示数组里的元素。多解输出任意一组即可。如果无解,输 ......
1325D 1325 1700 CF

CF708C Centroids(换根dp)

题意: 给定一颗树,你有一次将树改造的机会,改造的意思是删去一条边,再加入一条边,保证改造后还是一棵树。 请问有多少点可以通过改造,成为这颗树的重心?(如果以某个点为根,每个子树的大小都不大于$\dfrac{n}{2}$,则称某个点为重心) 思路: 是今天遇到的一道有意思的换根dp呃呃。 从题意来看 ......
Centroids 708C 708 CF

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

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

CF1190 div.1板刷记

经过上一次的vp,发现自己还有很大不足,所以还在板刷div.1。 A CF题面 模拟即可。 点击查看代码 #include<bits/stdc++.h> #define ull unsigned long long #define int long long #define pii pair<int ......
板刷 1190 div CF

关于容斥原理 / 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

Valhalla Siege 题解

题目传送门 一道二分题。 先观察数据范围,$1\le n,q\le 200,000$,显然需要 $O(n\log n)$ 的复杂度。且 $1\le k_i\le 10^{14}$,需要开 long long。 我们需要二分到第一个血量大于伤害值的武士的位置,前面的武士都死了。而在 C++ 算法库中, ......
题解 Valhalla Siege

[ABC213D] Takahashi Tour 题解

题目传送门 一道 dfs 序题。 题目中高桥每次只会去最小的那个点,所以要先对整张图进行排序。 for (int i = 1; i <= n; i++) sort(g[i].begin(), g[i].end()); 然后考虑 dfs。高桥不会走重复的点,所以我们可以开一个 vis 数组进行标记。然 ......
题解 Takahashi 213D Tour ABC

[蓝桥杯 2017 国 C] 合根植物 题解

题目传送门 一道并查集模板题。 没什么好说的,先给个并查集模板,神犇可以直接跳过。 查找根: int find_root(int n) { if (fa[n] == n) return n; return fa[n] = find_root(fa[n]); } 合并: void merge(int ......
蓝桥 题解 2017