题解1203 div cf

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

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

Codeforces Round 869 (Div. 2) A-D题解

比赛地址 A. Politics 题意:有n个人对m个决案进行投票,对于每一个决案如果票数相同则所有人都离场,反之票数少的一方离场,现在提前知道了每个人的意见,让一些人参与投票,在保证第一个人不离场的情况下最终剩余人数最多是多少 Solution 把和第一个意见不同的给去掉就行了 void solv ......
题解 Codeforces Round 869 A-D

CF1416 Div.1 VP记

好久没打CF了,感觉写代码能力有所下降,vp一场看看,差点被阻击没了。 A CF题面 先考虑将某一个数字提出来,可以发现如果这个数字要对答案造成贡献,那么 $k$ 最小为没有该数字的区间中最长的区间长度加一。 点击查看代码 #include<bits/stdc++.h> #define ull un ......
1416 Div CF

CF1034D Intervals of Intervals

简要题意 给定 $n$ 个区间组成的序列,定义它的一个连续段的价值为这个段内所有区间的并覆盖的长度。求价值前 $k$ 大的段的价值和。 数据范围:$1\le n\le 3\times 10^5, 1\le k\le \min{\frac{n(n-1)}{2}, 10^9}$。 题解 考虑一个经典问题 ......
Intervals 1034D 1034 CF of

Chemistry Experiment Codeforces Round 247 (Div. 2) 线段树动态开点,二分

第一次写的时候还不会线段树的动态开点,写了一个是线段树但是是$O(N^2)$的写法,现在用动态开点武装了自己,会了正解$O(qlog n^2)$。首先建立一个权值线段树,但这里的权值很大,通过动态开点去建树来节省空间,对于两种操作: 操作1,常见的动态开点的单点修改 操作2,二分答案,然后在线段树上 ......

AT_abc106_d [ABC106D] AtCoder Express 2 题解

题目传送门 解题思路 区间 $dp$。 划分阶段:以左右城市之间的列车数量为阶段。 状态表达:设 $f_{i,j}$ 为城市 $i$ 与城市 $j$ 之间的列车数量。 状态转移: 由图可知,城市 $l$ 与城市 $r$ 之间的列车数量,就是城市 $l$ 与城市 $r-1$ 之间的列车数量与城市 $l ......
题解 106 AtCoder Express AT_abc

CF1817C Similar Polynomials 题解

可能更好的阅读体验 题目传送门 Div.1 C 拉格朗日差值,赛时开香槟。 题目大意 给定 $d$ 次两个多项式 $A(x),B(x)$。求 $s$,使得 $B(x)\equiv A(x+s) \pmod {10^9+7}$ ,保证 $s$ 存在。 给出多项式的形式为给出 $x=0,1,\cdots ......
题解 Polynomials Similar 1817C 1817

CF思维体操

Plus and Multiply Luogu CF 题意简述: $\qquad$给定 $n,$ $a,$ $b$,要求判断 $n$ 能不能由 $a$ 通过若干次 $\times a$ 或者 $+b$得到。 解题思路: $\qquad$我们首先应该找到能由上述操作得到的数的普遍形式。 $$对于n = ......
体操 思维

P5824 十二重计数法 题解

P5824 十二重计数法 题解 $\text{I}$:小球不同,盒子不同 每个小球都有 $\large m$ 个盒子可选择,根据乘法原理相乘。因此答案为 $\large m^n$ 。 $\text{II}$:小球不同,盒子不同,每个盒子至多装一个小球 每个盒子不能装多个小球,所以第一个小球有 $\l ......
题解 P5824 5824

题解 CF1325E【Ehab's REAL Number Theory Problem】

problem 给一些数,每个的因数个数不超过 7,求最少选出多少个,使得乘积为完全平方。无解输出 −1。$n=10^5,V=10^6$。 solution 如果一个数有三个不同的质因子,那么它至少有 8 个约数;如果一个数有平方因子,我们可以除掉。 所以任何数都可以写成下面三种形式:($p,q$ ......
题解 Problem Number Theory 1325E

CF三月D题题解

cf1798d 题意:重排序列,使得其中连续子序列和的绝对值最大的最大值小于序列最大值减最小值,序列和为0 考虑这样一种构造方案: 正负数分类,0直接不管 然后记录当前和sum,当sum非负时,加上一个负数,当sum是负数时,加上一个正数即可 正确性证明: 显然前缀和都是合法的。考虑计算前缀和数组, ......
题解

# 4月CF练题题解

1811D 1814C 1819B 1821D 1770D 题意: Koxia 和 Mahiru 正在玩一个游戏。游戏使用 $a,b,c$ 三个长度为 $n$ 的数组,共进行 $n$ 轮。 每一轮中,Koxia 先在 $a_i,b_i,c_i$ 中选择一个数字,Mahiru 再从未选择的两个数字中选 ......
题解

「BZOJ2144」跳跳棋-题解

「BZOJ2144」跳跳棋 个人评价 挺好的一道题,难点在于想到树这个结构和建树 1 题面 跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。我们用跳跳棋来做一个简单的游戏:棋盘上有 3 颗棋子,分别在 a,b,c 这三个位置。我们要通过最少的跳动把他们的位置移动成 x,y, ......
跳棋 题解 BZOJ 2144

Educational Codeforces Round 147 (Rated for Div. 2) A~E 题解

A Link。 模拟,代码。 B Link。 模拟,代码。 C Link。 我们设 $c$ 为最后相同的字符。 性质:我们一定不会删除字符 $c$。 因此以 $c$ 为最后字符的操作次数就是不包含字符 $c$ 的极大段的最小操作次数的最大值。 对于一个长度为 $l(l\ge 1)$ 的段,它的最小操 ......
题解 Educational Codeforces Round Rated

P4198 楼房重建 题解

P4198 楼房重建 题解 线段树二分 思路 考虑在线段树内维护二信息: 区间斜率最大值 $mx$ 区间最大斜率上升序列长度 $len$ 答案即为根节点的 $len$。 考虑转移信息二: 蓝色部分代表左区间的上升序列,红色是右区间的,绿色折线就是当前区间的上升序列。 🤔稍微思考之后发现,左区间的上 ......
题解 楼房 P4198 4198

P2051 [AHOI2009] 中国象棋 题解

DP。状态设计是点睛之笔。 首先显然有每行或每列只能有至多 $2$ 个棋子。 设状态 $f_{i,j,k}$ 为第 $i$ 行,有 $j$ 列只放了一个棋子,$k$ 列放了两个棋子。 之后直接转移即可。注意边界判断。 code: 点击查看代码 #include<bits/stdc++.h> #def ......
中国象棋 题解 象棋 P2051 2051

CF911F Tree Destruction

题意: 给你一棵 $n$ 个结点组成的树,你需要对树进行 $n-1$ 次操作,一次操作包含如下的步骤: 选择两个叶子结点 将这两个结点之间简单路径的长度加到答案中 从树上删去两个叶子结点之一 初始答案为 $0$,显然在 $n-1$ 次操作之后树上只剩下一个结点。 计算最大的答案,并构造一组操作序列。 ......
Destruction 911F Tree 911 CF

CF1034D Intervals of Intervals 题解

传送门 CF1034D Intervals of Intervals 题目大意 有 $n$ 个线段,第 $i$ 个是 $[a_i,b_i]$。 定义区间 $[l,r]$ 的价值是第 $l$ 个线段到第 $r$ 个线段的并的长度。 找出 $k$ 个不同的区间,使得总价值最大。输出最大总价值。 $1 \ ......
Intervals 题解 1034D 1034 CF

asm_second 题解(坐标转换+二维偏序)

Question Asm.Def 在第一象限内找到了n个可疑点。他需要为导弹规划路径。 如图所示,导弹一开始在(0,0)。它只能朝着一定的方向——即严格夹在图中两条射线间的方向(白色部分)前进。注意,它不能沿着这两条射线前进,当然也不能停在原地。 当导弹到达某个可疑点后,它仍然只能朝着该范围内的方向 ......
偏序 题解 坐标 asm_second second

2023湖北CCPC省赛 蒻蒟的部分题解

题目地址 C.Darkness I 题意:有一个n*n的方格,最开始全是白色,如果白色周围4格有两个黑色格子,1秒后这个白色格子会变成黑色,问如果要使全部格子都变为黑色,最开始最少需要涂黑几个格子 Solution 对于两个黑色格子,只有当满足 $$ |x_1-x_2|+|y_1-y_2|≤2 $$ ......
题解 部分 2023 CCPC

2023 Hubei Provincial Collegiate Programming Contest题解 C F H I J K M

补题链接:https://codeforces.com/gym/104337 原文链接:https://www.eriktse.com/algorithm/1136.html M. Different Billing 签到题,写几个柿子然后枚举B或C即可。 #include <bits/stdc++ ......

CF1477F Nezzar and Chocolate Bars 题解

题意: 有一根长为 $1$ 的巧克力,已经被切了 $m-1$ 刀被分成 $m$ 分,接下来每次在整根长度为 $1$ 的巧克力上均匀随机一个点切一刀,求每一小段巧克力长度均小于一个给定值 $K$ 需要的期望次数。 引理:Irwin-Hall 分布:对于 $n$ 个在 $[0,1]$ 内均匀分布的实数随 ......
题解 Chocolate Nezzar 1477F 1477

4 月 30 日测试题解

4 月 30 日测试题解 T1 ${\color{green}{\text{100pts}}}\text{/100pts}$ 题意 一个无限长宽的棋盘,给出起点 $s$ 和终点 $t$,行走方式是象棋中马的走法,问最少需要走多少步。 对于 $100%$ 的数据,$|x_s|, |y_s|, |x_t ......
题解 30

Codeforces Round 868 (Div. 2)

题目链接 C 核心思路 一定要看清楚题目,题目是要我们最小哦。 首先看可不可抽像为数学表达式,答案肯定是可以的。 x=p1^d1*p2^d2*..*pn^dn; D=\sum{(d1+1)*(d2+1)*(d3+1)*...(*(dn+1))}; 这个D表示的x的约数的个数,这个公式还是很好理解的, ......
Codeforces Round 868 Div

Codeforces Round 869 (Div. 1)

C 根据初中数学知识,恒成立问题考虑未知数x每一项的系数,然后得到(d+1)个等式,根据前两个就可以推出$s=\frac{b_{d-1}-a_{d-1}}{da_d}$且$a_d=b_d$ 但是一直不会用题目给的n个点值求出最高的两项系数(或它们的比值),并且怀疑是否把(d+1)个等式全部用到会更好 ......
Codeforces Round 869 Div

cf 数据结构杂题

rand 一些题目做一下,持续更新 平衡树 gym101261A Persistent Deque You need to process the following queries: B v x — Add x to the beginning of the deque with version ......
数据结构 结构 数据 cf

Codeforces Round 869 (Div. 2) A-C

A. Politics 思路 与第 $1$ 个人的意见不同的人都要删除 代码 #include<bits/stdc++.h> using namespace std; int main() { int T; cin>>T; while(T--) { int n,m; cin>>n>>m; strin ......
Codeforces Round 869 A-C Div

Codeforces Round 869 (Div. 2)

Preface 一把回到紫名还是很舒服的,D题手比较稳猜了点性质水过 主要还是C脑抽了想了挺久才看出来是个丁真题,不然最后过了D之后30min可以看看E的 由于要写学校的图论专题所以接下来一段时间的CF补题计划就要先停一停了 A. Politics 傻逼题,当某个人的串和第一个人有任意一个位置不同时 ......
Codeforces Round 869 Div

【题解】P3338 [ZJOI2014]力

题目描述 给出 $n$ 个数 $q_1,q_2, \dots q_n$,定义 $$F_j~=~\sum_{i = 1}^{j - 1} \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j + 1}^{n} \frac{q_i \times q_j}{(i - ......
题解 P3338 3338 2014 ZJOI

Codeforces Round 823 (Div. 2)C

C. Minimum Notation 思路:我们可以进行的操作时将一个位置的数删除然后在任意位置处添加一个比当前数大1并且小于9的数,所以我们的操作只会让一个数变大,我们统计一个最大值的后缀,贪心的考虑如果当前数的后面有比他小的数的话,我们就需要让这个小的数往前走才能使字典序变小,如果当前值小于< ......
Codeforces Round 823 Div