divisor 1864c chain cf
CF1900D Small GCD 题解
原题链接:CF1900D,题意不多赘述。 首先可以将 \(a\) 数组排序,并且枚举中间的那个数 \(a_i\)。那么答案就是 \(\sum_{j=1}^{i-1} \gcd(a_j,a_i)\times (n-i)\)。重点在于求前面的 \(\gcd\)。可以用欧拉反演,但是也可以不用,因为我不会 ......
CF1902D Robot Queries 题解
题意:有一个二维平面直角坐标系,给定一串向某个方向移动 \(1\) 个单位的操作。 有 \(q\) 个询问,对于每个询问给定 \(x,y,l,r\),问如果倒着做 \(l\) 到 \(r\) 这段区间中的操作,是否会经过 \((x,y)\)。 ds 题。先预处理出 \(sx_i,sy_i\) 表示执 ......
CF575A Fibonotci 题解
原题链接:CF575A 前言 今天模拟赛考到了这道题,最近正好在学习矩阵,于是就来写了这道题,发现这道题是矩阵快速幂好题。 题意 题意不多赘述,大概就是一个广义斐波那契数列的升级版,可以修改 \(m\) 个系数。 思路 因为题目是求斐波那契数列的第 \(k\) 项,显然用矩阵去维护。又因为题目说了, ......
CF1901E Compressed Tree 题解
原题链接:CF1901E,树形 dp + 神奇分类讨论。 很容易想到树形 dp。难点在于如何转移以及统计答案,需要大量分讨。 父亲(及其以上)和自己组成连通块,不缩。(只保留自己并且往上传递) 连通块中只有自己一个(记录答案) 一个儿子和自己组成连通块,且自己作为根节点,不和父亲收缩(记录答案) 一 ......
CF1905 B Begginer's Zelda 题解
Link CF1905 B Begginer's Zelda Question 给出一棵树,每次能把一条路径压缩成一个点,求最少几次把树压缩成一个点 Solution 贪心的想,路径肯定越长越好,所以肯定是以一个儿子节点为起点,以一个儿子节点为终点,儿子节点合并了儿子到根的父节点也合并了,每次合并两 ......
CF1905 A Constructive Problems 题解
Link CF1905 A Constructive Problems Question 有一个 \(N\times M\) 的矩阵,你需要建造一些房子,把这个矩阵填满 当一个 \(2\times 2\) 的正方形左上和右下有房子时,左下和右上房子会自动生成 当一个 \(2\times 2\) 的正 ......
R语言离散时间马尔可夫链(Markov chain)模型分类案例可视化分析
全文链接:https://tecdat.cn/?p=34576 原文出处:拓端数据部落公众号 有许多用于马尔可夫链的复杂应用。这些包括用于将多态模型拟合为面板数据的msm和SemiMarkov,用于生存分析应用的mstate,用于估计3状态进行性疾病模型的转移概率的TPmsm,用于将马尔科夫模型应用 ......
CF1867F Most Different Tree记录
题目链接:https://codeforces.com/contest/1867/problem/F 题意简述 记 \(P(T)\) 为一棵树 \(T\) 的所有子树的集合。给定一棵 \(n\) 个点的树 \(T\),找出点数相同的树 \(T'\),使 \(P(T')\) 的“与 \(P(T)\) ......
CF333D 另一种做法
前言 duel 的时候做的题,做出来的时候感觉很神,看了题解做法感觉自己是个傻逼。 本做法时间复杂度是 \(O(n^{\tfrac{5}{2}})\),可以作为补充了解。 题解 一个矩阵四个角的最大值有点烦,我们把它们排序,从小到大依次插入,则问题变为: 在 \(n\times m\) 的平面中,每 ......
CF Round 906 (Div. 1)
CF Round 906 (Div. 1) C. Doremy's Drying Plan (√2000 / *2600) Easy ver. 可以得出只有被覆盖 1 / 2 次的才能被消除。 覆盖一次枚举线段,覆盖两次枚举点。 Hard ver. D. Game of Stacks (*3000) ......
CF762E Radio stations 题解 CDQ分治
题目链接:http://codeforces.com/problemset/problem/762/E 题目大意: 一共有 n 个电台,对于每个电台 i 有三个参数: \(x_i\), \(r_i\), \(f_i\),分别指它的一维坐标、作用半径和频率。如果两个电台的频率差值在 k 内,并且它们的 ......
CF1906B Button Pressing记录
CF1906B Button Pressing 题目链接:https://codeforces.com/problemset/problem/1906/B 题意简述 有 $n$ 盏灯,用一个 $0/1$ 序列代表关闭/打开的状态。若第 $i$ 盏灯处于打开的状态,允许对其执行如下的操作: 同时翻转第 ......
CF1876D Lexichromatography记录
CF1876D Lexichromatography 题目链接:https://codeforces.com/problemset/problem/1876/D 题意 给一个 $n$ 个数的数组 $a$ 染色,每个元素被染为红色或蓝色。求满足下面两个条件的染色方案数: 将蓝色和红色的数分别取出成为两 ......
CF1906K Deck-Building Game记录
CF1906K Deck-Building Game 题目链接:https://codeforces.com/problemset/problem/1906/K 题意 有大小为 $n$ 的多重集 $A$。求找到两个不相交子集,使它们各自的异或和相等的方案数。 很容易将其转换为求如下值: $$ \su ......
CF1879F Last Man Standing记录
CF1879F Last Man Standing 题目链接:https://codeforces.com/problemset/problem/1879/F 题意简述 有 $n$ 位英雄,每位英雄都有护甲值 $a$ 和生命值 $h$。对一次伤害值为 $x$ 的游戏,每位英雄的存活时间为 $t = ......
【CF1698C】3SUM Closure
题目大意: 判断一个数组是否满足其中任意三个元素之和均为数组的元素 如果一个元素出现的次数大于三,那么我们将这个元素的数量减到三,答案不会变。 另外,我们发现,如果数组至少中有三个正数,或者至少有三个负数,那么答案一定为NO。 如果上面的条件不满足,那么现在这个数组里的元素最多只有7个(2个正数,2 ......
CF/AT做题记录
很菜。 CF1905C 考虑先找到原串中的字典序最大串,这个直接单调栈求出。然后我们对这个字串 \(t\) 执行操作,\(t\) 是不上升的所以肯定能排好序,我们在找 \(t\) 的时候顺便记录下 \(t\) 在原串中的位置,然后把排好序的 \(t\) 放回去判断,如果是不下降的则输出排好 \(t\ ......
Educational Codeforces Round 139 (Rated for Div. 2) D. Lucky Chains(数论)
Educational Codeforces Round 139 (Rated for Div. 2) D. Lucky Chains 思路: 假设幸运为k , 则 gcd(x+k,y+k) ≠ 1 , k取最小整数(k>=0) 由此可设 因子为 d , (x+k)%d = 0 , (y+k)%d ......
CF995E Number Clicker
Number Clicker Luogu CF995E 题面翻译 小 y 在玩数学游戏,他有三种变化方式: 将该数 \(+1\); 将该数 \(-1\) 将该数变成他的逆元(即 \(p-2\) 次幂),当然,我们所有操作都是在 \(\bmod\ p\) 意义下的 现在小 h 知道了变换前的数 \(u ......
CF938G Shortest Path Queries
Shortest Path Queries Luogu CF938G 题面翻译 给出一个连通带权无向图,边有边权,要求支持 \(q\) 个操作: \(1\) \(x\) \(y\) \(d\) 在原图中加入一条 \(x\) 到 \(y\) 权值为 \(d\) 的边 \(2\) \(x\) \(y\) ......
「杂题乱刷」CF978G
题目链接 简单贪心。 由于我们需要判断无解情况,于是我们可以在做的过程中记录答案。 比较容易发现,对于每个时间段,我们肯定是优先复习日期较近的考试的,贪心了这一点,就能轻松 AC 了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; ......
[Codeforces] CF1774B Coloring
CF1774B Coloring 题意 Cirno_9baka 的纸条上有 \(n\) 个格子,他觉得空白的纸条看着有点无趣,于是想在纸条的格子上涂上 \(m\) 种颜色。同时,他认为第 \(i\) 种颜色必须要用 \(a_i\) 次,且每连续 \(k\) 个格子里涂的颜色必须互不相同。 Cirno ......
[Codeforces] CF1760F Quests
CF1760F Quests 题意 有 \(n\) 个任务,你每一天都可以选择其中的一个任务完成或不选。当你完成了第 \(i\) 个任务,你将获得 \(a_i\) 元。但是如果你今天完成了一个任务,那么你之后 \(k\) 天内都不能再完成这个任务。 给出两个数 \(c\),\(d\),要求求出满足在 ......
[Codeforces] CF1744E1 Divisible Numbers (easy version)
CF1744E1 Divisible Numbers (easy version) 题意 给你四个数 \(a,b,c,d\),你需要找出一组 \(x,y\) 使得 \(a<x\leq c,b<y\leq d\) 并且 \(x\cdot y\) 能被 \(a\cdot b\) 整除,如果没有输出 -1 ......
CF1804F Approximate Diameter 题解
题目链接 点击打开链接 题目解法 很有意思的题,但不难 首先一个显然的结论是:算着边的加入,直径长度递减 第一眼看到误差范围是 2 倍,可以想到二分 可以观察到如果取答案为 \(\frac{n}{2}\) 可以覆盖到 \(\frac{n}{4}\)(上下取整不重要),那这样每次可以把值域范围缩小 4 ......
CF327C Magic Five 题解
题目传送门 前置知识 等比数列求和公式 | 乘法逆元 解法 设 \(lena\) 表示 \(a\) 的长度。 首先,若一个数能被 \(5\) 整除,则该数的末尾一定为 \(0\) 或 \(5\)。故考虑枚举 \(a\) 中所有的 \(0\) 和 \(5\) 的下标,设此下标后面有 \(x\) 个数字 ......
CF1859F Fancy Arrays
Fancy Arrays - 洛谷 我们先找这题看起来有点奇怪的部分: \(x\leq 40\) \(|a_i-a_{i-1}|\leq k\) 我们先考虑第二个条件怎么用。我们发现 \(\min a_i \in [0,x+k)\),而原数组相邻两数之差的条件肯定要考虑成差分来处理 可以发现,一个差 ......
「杂题乱刷」CF961B
题目链接 算法一: 直接暴力,时间复杂度 \(O(n^2)\)。 算法二: 使用双指针维护,时间复杂度 \(O(n)\)。 算法三: 是用前缀和维护,时间复杂度 \(O(n)\)。 这里提供算法二的代码: 点击查看代码 #include<bits/stdc++.h> using namespace ......
「杂题乱刷」CF1105C
题目链接 一道 dp 板子题。 只需要设 \(dp_{i,j}\) 为前 \(i\) 位 \(\bmod 3\) 为 \(j\) 的方案数的数量即可。 剩下的就看代码了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; #defin ......