题解complete compress atcoder

一些自己做的算法题解

//得到支点下标 function partition(arr, low, high) { const tmp = arr[low]; while (low < high) { //high位置值大于tmp,high自减 while (low < high && arr[high] >= tmp) ......
题解 算法

CF1473D 题解

题目传送门 题目分析 线段树、前缀和、$\text{ST}$ 表题解都有了,我补一发猫树题解吧。 由于每次操作只能将大小改变成跟原来差 $1$,所以只需要知道这段操作中的最大值和最小值,最后所求的答案的范围就被卡住了。对于每一次操作,我们把操作序列拦腰斩断,那么分别求两边的范围,最后减去重复的部分即 ......
题解 1473D 1473 CF

CF1758D 题解

前言 题目传送门! 更好的阅读体验? 用一种非常麻烦的做法把自己写自闭了,和题解区不一样,但是方法困难很多。 思路 代码 属于混乱邪恶了,凑合着看看。 #include <iostream> #include <cstdio> #include <cmath> using namespace std ......
题解 1758D 1758 CF

「2019 集训队互测 Day 4」绝目编诗 题解

题目大意 给出一个 $n$ 个点 $m$ 条边的简单无向图,判断是否存在两个长度相同的简单环。 $1 \le n \le 10^4 , 1 \le m \le 10^6$。 思路 考虑暴力怎么做。 我们可以对于每个点,搜出包含这个点的环。 那么我们就有了一个玄学复杂度的暴力。考虑优化。 因为一个无向 ......
集训队 题解 2019 Day

题解:C Future

题目:给n个范围,第i个范围选pi,然后定义特征值k=p1+p2+...+pn。这次的开心度就是A(k%m)。m是给的一个数组A,长度为m。 要求: 就是个全排列组合的问题,找规律。 举个例子,有n个礼物,分别是(L1,R1) (L2, R2) (Ln, Rn) 每个区间取个数然后相加,所有出现的结 ......
题解 Future

[ARC127E] Priority Queue 题解

首先我们每次加入的数必定是一个 $1\sim a$ 的排列,但从排列角度考虑的话非常复杂,因为 $s$ 是一个集合。所以我们考虑最后能剩下哪些数。 考虑最后剩下的集合为 ${a_i}$,其中 $a_i<a_{i+1}$,显然这个集合里面的元素个数为 $A-B$。 那么我们会发现一件事情:我们按上升序 ......
题解 Priority Queue 127E ARC

abc248_e K-colinear Line 题解

K-colinear Line 题意 平面直角坐标系上给出 $n$ 个点,第 $i$ 个点的坐标为 $(x_i, y_i)$。 请求出平面上有多少条直线穿过 $n$ 个点中的至少 $k$ 个点。如果有无数条这样的直线,输出 Infinity。 数据范围 $1 \leqslant K \leqslan ......
题解 K-colinear colinear Line abc

Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 题解

题意 Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 给你 $n$ 和 $k$ ,要求生成一个长度为 $n$ 的数组 $a$,且他的非空正子数组的数量为 $k$ ,非空负子数组的数量 ......

abc247_f Cards 题解

Cards 题意 有 $N$ 张卡片,每张卡片上都写有两个数字,第 $i$ 张卡片上的数字分别为 $P_i, Q_i$。 同时,$P = (P_1, P_2, \dots, P_N)$ 和 $Q = (Q_1, Q_2, \dots, Q_N)$ 都是 $(1, 2, \dots, N)$ 的全排列 ......
题解 Cards abc 247

alsa compress driver

platform driver 例子:https://elixir.bootlin.com/linux/v5.4.240/source/sound/soc/intel/atom/sst-mfld-platform-pcm.c#L525 static struct snd_soc_dai_driver ......
compress driver alsa

题解

calc 使用 cin 读入两个 int 和一个 char,判断即可。 step 因为可以从前面 $K$ 个台阶走过来,所以累加前面 $K$ 个台阶的方案数即可,时间复杂度 $O(NK)$。 令 $f_i$ 表示走到第 $i$ 个台阶的方案数,容易发现 $$\begin{equation*}\beg ......
题解

YBTOJ 5.4例3 最长距离 题解

挂大分!!!!!! 1.一定要看清提干有没有多测 2.多测不清空 爆零两行泪 3.同时线性更新最大值和次大值时记得最大值更新要同时把旧的最大值给次大值 题解 首先可以想到一个最暴力的暴力 : 对于每一个点 暴力枚举所有的点跑LCA 复杂度 $O(n^2logn)$ 显然会炸 然后就有一个优化一点的暴 ......
题解 YBTOJ 5.4

Codeforces Round 863 (Div. 3) E. Living Sequence 题解

题意 Codeforces Round 863 (Div. 3) E. Living Sequence 如果正整数中不能存在 $4$,那么新生成的数中的第 $k$ 个数为多少? 思路 $4$ 不能够选,也就是每一位只能选择 $0,1,2,3,5,6,7,8,9$ 。可以发现,这就是一个九进制。 当需 ......
题解 Codeforces Sequence Living Round

AtCoder Begining Contest 297 VP报告

AtCoder Begining Contest 297 VP报告 写在前面: 前面靠手速抢了点分,B卡了一小会,然后E想的时间比较长,其他的题目基本上出的还算平均,感觉D题的思路很巧妙,因为最近一直在学数学有关的,出的还算快,感觉还不错吧,毕竟代码都不长不会写的很急。 A - Double Cli ......
Begining AtCoder Contest 报告 297

CF698F Coprime Permutation 题解

题意 给定一个未填满的数组 $p$,求有多少种 $1\sim n$ 的排列 $p$ 满足对于任意 $i<j$,都有 $[\gcd(i, j)=1]=[\gcd(p_i, p_j)=1]$,答案对 $10^9+7$ 取模。 题解 部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。 记 $P$ ......
题解 Permutation Coprime 698F 698

Codeforces Round 864 (Div. 2) 题解

A. Li Hua and Maze 题目保证了两个点的哈密顿距离至少为 $2$,所以他们不会相邻。 只要有点在角上答案就是 $2$,在边上但不在角上就是 $3$,否则就是 $4$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_contain ......
题解 Codeforces Round 864 Div

AtCoder Beginner Contest 297

A - Double Click #include <bits/stdc++.h> using namespace std; #define int long long int32_t main() { int n , d; cin >> n >> d; vector<int> a(n); for( ......
Beginner AtCoder Contest 297

AtCoder Beginner Contest 297 题解

A - Double Click 直接模拟就好。 时间复杂度:$O(N)$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include ......
题解 Beginner AtCoder Contest 297

AtCoder Beginner Contest 207(D,E)

AtCoder Beginner Contest 207(D,E) D(计算几何) D 这个题是两个点的集合,每个集合有$n$个点,我们可以让一个集合中的每一个点进行下面两种操作 $1$,可以让每一个点进行旋转$x$的角度 $2$,可以让每一个点的$x$变成$x+disx$,$y$变成了$y+dis ......
Beginner AtCoder Contest 207

「题解」ABC296Ex Unite

考虑一行一行往下 dp,一个状态需要记录每个格子是否是黑色,对于黑色还有记录其并查集。爆搜跑一下本质不同状态数不是很多,dp 就行了。 $m=7$ 的时候状态数只有 324. #include<cstdio> #include<vector> #include<queue> #include<cst ......
题解 Unite ABC 296 Ex

【CF1797C 题解】

题意 这是一道交互题。 定义一个位置 $(x, y)$,移动一步后的位置为 $(x\pm1,y\pm1)$。 你需要找到一个位置 $(x, y)$。 你至多进行 $3$ 次询问,每次询问格式为 ? a b。 交互库会返回 $(x, y)\to (a, b)$ 的最小移动步数。 题解 还是比较有趣的一 ......
题解 1797C 1797 CF

AtCoder Beginner Contest 247(E,F)

AtCoder Beginner Contest 247(E,F) E(思维) E 这个题大意就是给一个长度为$n$的数组,一个$x$和一个$y$,问这个数组里面可以找到多少段$[l,r]$满足这一段里面的最大值是$x$,最小值是$y$ 这里的做法是固定最右端,寻找最左端的可能的数量,最后相加 对于 ......
Beginner AtCoder Contest 247

AtCoder Regular Contest 127

D - LIS 2 难搞的地方在于取min,考虑比较$(a_i \oplus a_j,b_i \oplus b_j)$两者的过程:是在它们第一位不一样的地方比较,取该位为0的那个。 而判断两个数在某位是否相等,可以想到异或操作,然后把这两者异或起来后,由异或运算的交换律可得等价于$(a_i \opl ......
AtCoder Regular Contest 127

CF1525F 题解

题意 有一个 $n$ 个点的 DAG,现在有 $k$ 波进攻,第 $i$ 波有 $i$ 个人,它们每个人会选择一条 DAG 上的路径,并占领这个路径上的所有点,路径之间是不能相交的。第 $i$ 波进攻前可以做一些准备,可以花 $1$ 秒关闭某个点的所有入边,或关闭某个点的所有出边。第 $i$ 波进攻 ......
题解 1525F 1525 CF

AtCoder Regular Contest 159

Preface 这周六紧张刺激的一日三赛,上午蓝桥杯,晚上ARC之后隔5min就是CF,可谓是手搓键盘到冒烟的一天了 这场其实打的感觉很没水准,B刚开始没想清楚很多边界条件挂了三发,45min左右才过 然后C的构造也不太会,随便写了个暴力也是挂挂挂,只好弃了去写D题了 结果发现D题好像是个不难的线段 ......
AtCoder Regular Contest 159

C# System.lnvalidOperationException:"A second operation started on this context before a previousoperation completed. This is usually caused by different threads using the same instance...

项目中使用了依赖注入,这个错误在我项目中的原因:在async修饰的异步方法中,调用执行数据库操作的方法时,没有使用await关键字调用,因为没有等待该调用,所以在调用完成之前将继续执行该方法。因此,已处理了注入的依赖项。 ......

P9203 时效「月岩笠的诅咒」 题解

题目传送门 题目大意 判断每次经过以下操作其一后,$a$ 与 $b$ 是否相等: 将 $a$ 加上 $1$,即 $a\gets a+1$; 将 $b$ 加上 $1$,即 $b\gets b+1$。 解题思路 $a$ 和 $b$ 都是每次加 $1$,所以如果它们相等,那它们的小数部分应该是相等的,所以 ......
月岩 题解 时效 P9203 9203

CF486D 题解

题目传送门 题目分析 不算很难的树形 $\text{dp}$。 令 $dp_i$ 表示以 $i$ 为根的子树中联通子图的个数。 在更新的时候,考虑儿子的联通子图和自己的,则有: $$dp_u = dp_u \times (dp_v + 1)$$ 选根的时候将 $a$ 最大的作为根节点。还要注意另外一 ......
题解 486D 486 CF

2023第14届蓝桥杯C/C++A组参赛记录+部分题解

比赛记录 早上起得还算早,没吃早餐,我吃早餐会瞌睡,也会变蠢。 在门口还没来得及和队里其他同学聊几句就进场了...... 键盘还是一样的难用,软件有codeblocks和dev,很舒服。 今年来参加蓝桥杯的人好多啊......女生也好多。 听说今年蓝桥杯有统一的正经培训,不过和我这个被踢出蓝桥杯群的 ......
蓝桥 题解 部分 2023

练习记录- AtCoder Beginner Contest 295(D)

vp的 觉得我的D很聪明所以来写一下(乐 D - Three Days Ago 题意就是 求所有字符出现次数均为偶数的字串数量 太笨了所以想了很久 我把 存在奇数个1 当作第2位是 2 那么 当经过了两次1 2^2 这个2 就变成了0 2 就是第二位 就是4 ...以此类推 所以我遍历一遍字符串 求 ......
Beginner AtCoder Contest 295