multiplication sorting 1861d cf

cf-typedb2023-C

题目链接:https://codeforces.com/problemset/problem/1787/C 我是sb,这种dp都没想到。。。 思路:首先得发现一个性质(贪心),每个数拆成的两个数一定是一个最大的(尽可能),另一个最小(尽可能)。这点不难证明,随便写写式子可得证。由于每个数只会影响相邻 ......
cf-typedb typedb 2023 cf

CF600E Lomsat gelral(树上启发式合并)

题目链接:https://codeforces.com/problemset/problem/600/E 这是一道树上启发式合并的题,就只是在模板的基础上稍微变化了一下 解题思路:我们需要计算当前u节点的答案,要计算加入非重链节点对此答案的影响,在计算加入节点对ans影响的时候,遍历u除了重链外的所 ......
Lomsat gelral 600E 600 CF

CF Diary VI

4.30- 每 $10$ 题一篇 $\texttt{>o<}$ 。 . 题意 题解 代码 view code ......
Diary CF VI

CF1656F Parametric MST 题解

为了便于解题,先对 $a$ 数组从小到大进行排序。 首先,根据定义可以得出总价值的表达式: $$ \begin{aligned} W&=\sum\limits_{(u,v)\in E}[a_ua_v+t(a_u+a_v)]\ &=\sum\limits_{(u,v)\in E}a_ua_v+t\su ......
题解 Parametric 1656F 1656 MST

题解 CF1264D1

前言 数学符号约定: $\dbinom{n}{m}$:表示 $n$ 选 $m$ 。 如非特殊说明,将会按照上述约定书写符号。 题目分析: 考虑题目的问题弱一点的版本,假设此时我们的括号序列是确定的如何求其括号匹配的最深深度。 如果你有些许 dp 基础的话,不难想到如下做法: 考虑位置 $i$,将区间 ......
题解 1264D 1264 CF D1

题解 CF1264D2

前言 建议大家看一下我对于 D1 的题解(传送门)后再看本题解,本题解是基于那篇题解的基础上书写的。 数学符号约定 $\dbinom{n}{m}$:表示 $n$ 选 $m$ 。 如非特殊说明,将会按照上述约定书写符号。 题目分析 首先引用一下 D1 的答案:$\displaystyle\sum_{i ......
题解 1264D 1264 CF D2

cf-edu-142.D

题目链接:https://codeforces.com/problemset/problem/1792/D 算法:tire树求最长公共前缀(lcp)。 反思:题目转换出的题意已大致得到,但怎么具体求不会。 思路:tire树维护一个结构,1在哪些位置出现,2在哪些位置出现,以此类推。 代码: #inc ......
cf-edu 142 edu cf

pop 出栈,sorted临时排序,容器类型的数据,zip函数

divmod(a, b)返回一对商和余数,结果和 (a // b, a % b) 一致 字典是Python 中唯一的映射类型。 Python的源文件以"py"为扩展名,有python.exe解释运行,可在控制台下运行。"pyw"是图形开发用户接口(GUI)文件的扩展名,作为桌面应用程序,这种文件用于 ......
容器 函数 类型 数据 sorted

cf-div.2-868-D

题目链接:https://codeforces.com/contest/1823/problem/D 比赛的时候关键性质已经想到,但没想到怎么正确构造。 性质:每次新加一个字母,回文子串的数量最多增加1(因为题目需要不相同的回文子串)。 证明:可以用反证法,易证。 构造方法:由于k的值很小(只有20 ......
cf-div 868 div cf

List集合排序 sort方法

List集合排序 sort方法: public static void sort(List list) :将集合中元素按照默认规则排序。 public static void sort(List list,Comparator<? super T> ) :将集合中元素按照指定规则排 序。 sort方 ......
方法 List sort

CF1814E Chain Chips & CF750E New Year and Old Subsequence - 动态 dp -

一句话概括动态 dp:用来解决带修改/多次区间询问的 dp 问题。将转移写成矩阵的形式,然后利用线段树求解区间问题/单点修改 1814E 注意一条边要么选 2 要么选 0 次,而且第一条边一定是选了 2 次。如果有一条边没选,那么这条边两侧的边一定都选了。 设 $f_i$ 代表考虑到第 $i$ 条边 ......
Subsequence 动态 1814E Chain Chips

CF960F Pathwalks | 线段树优化DP

题目 设$dp[x,w]$为以结点$x$为结尾,且最后一条边边权为$w$的最长路径长度。 考虑根据顺序加边,对于边$(u,v)$,更新 $$ dp[v,w] = \max_{w' < w}{dp[u,w']} + 1 $$ 对于每个节点,建一棵线段树,维护$dp[x]$,这样每次更新$dp[v,w] ......
线段 Pathwalks 960F 960 CF

CF1699A The Third Three Number Problem

###题意简述 构造出一个三元组a,b,c使得(a ⊕ b)+(a ⊕ c)+(b ⊕ c) = n,若无解输出-1。 符号 ⊕ 的意思为异或 ###个人分析 首先要了解异或符号的性质: 1,x⊕0=x 2,x⊕x=x 根据异或符号的性质可以得到一下构造: a=b=0,c=n/2 c=0,a=b=n ......
Problem Number 1699A Third Three

「CF1188E」Problem from Red Panda

题目 点这里看题目。 给定一个长度为 $k$ 的非负整数序列 $a$。 你可以对于 $a$ 做如下操作任意次: 选定 $1\le j\le k$,满足除了 $a_j$ 外 $a$ 中其它数都为正。 而后,令 $a_j$ 加上 $k-1$,令除了 $a_j$ 外 $a$ 中其它数减去 $-1$。 (这 ......
Problem 1188E Panda 1188 from

HJ68 成绩排序 Sorts are guaranteed to be stable. 默认录入顺序不变

1 ''' 2 Sorts are guaranteed to be stable. 3 That means that when multiple records have the same key, 4 their original order is preserved. 5 所以,按相同分数排 ......
guaranteed 顺序 成绩 stable Sorts

cf-div3-867-E

题目链接:https://codeforces.com/contest/1822/problem/E 被hack了。 错误的地方:每次取两个最大的,然后直接消去,这里不对,比如:2,3,3。 正解:还是每次取两个最大的,但这两个最大的每次只消去1,因为总共的数量不会超过$1e5$,所以时间复杂度很低 ......
cf-div 867 div cf

[LeetCode] 2418. Sort the People

You are given an array of strings names, and an array heights that consists of distinct positive integers. Both arrays are of length n. For each index ......
LeetCode People 2418 Sort the

CF1621A Stable Arrangement of Rooks

###题目简述: 一个n*n的棋盘上,放上k个车,使得一任意车向上下左右移动一格(这里的车可以上下左右移动任意步数)后不与其他车相撞(注:不能走出棋盘之外)。 ###个人分析: 从题目可知,在车上下左右移动一格后不会与其他车相撞,换句话说,两辆车之间至少相隔一行一列,放在对角线上是最优想法,若无解则 ......
Arrangement Stable 1621A Rooks 1621

CF1822G2 - Magic Triples

比较好的题目,别的不说,G1 对 G2 有着不错的启发性。 首先,因为 $b>0,a_k\le 10^9$,所以 $b$ 不可能超过 $\sqrt{a}$ 考虑对 $b$ 分类讨论,设置一个阈值 $B$,先处理 $b=1$ 的情况,其实就是取三个相同的数然后排列,可以比较简单的排序之后做到 $O(n ......
Triples 1822G Magic 1822 CF

CF1821F - Timber

$$逐渐变成自己最讨厌的样子$$ 首先考虑 $dp$,设 $dp_{i,j}$ 表示当前放了 $i$ 个树,目前不得不覆盖到的最右点为 $j$,每放一棵树,如果能往左就往左,否则往右倒。 $\text{GF}$ 首先考虑 $dp_{i,j}$ 的转移。 第一种,在 $[j+1,j+k]$ 放一个树, ......
Timber 1821F 1821 CF

【SD集训】20230425 T2 差(difference) 题解 CF1500F 【Cupboards Jumps】

大家可以猜猜看为什么有两个标题,因为这个因本文就不设密码了,被 He_ren 的原题创到了。 吐槽一下,He_ren 甚至出原题还用脚造数据,虽然数据确实比较难造。不过那两个 $O(n^2)$ 老哥好像都没最后将所有数调整成非负,遗憾 20。 有人场切 * 3500 却没过签到题,我不说是谁。 题目 ......
题解 difference Cupboards 20230425 1500F

CF1479 Div1 VP记录

战况: 别的不说,这个 B1 WA 3发是真的精髓。 A 略 B 我们设此时在第一队队尾的为 las0,在第二队队尾的为 las1,要放的数为 x。 先考虑 B1: 显然有:如果 las0 等于 x,放在第二队,如果 las1 等于 x,放在第一队。 考虑两边都不同的情况,我们想要这个 x 后面尽快 ......
1479 Div1 Div CF

CF1598G

讲真,有点谔谔。 首先考虑若 $a+b=x$ 那么 $|a|,|b|,|x|$ 满足什么样的关系。不妨设 $|a|\ge b$,不难发现 $|x|\ge |a|\ge |x|-1$。 那么分类讨论一下: $|a|=|x-1|$,则 $|b|=|x-1|$。 $|a|=|x|$,设 $\operato ......
1598G 1598 CF

CF1487E

题面 将 $a,b,c,d$ 分别用 $a_1,a_2,a_3,a_4$ 表示。 令与第 $i$ 类食物中的第 $j$ 个冲突的第 $i-1$ 类食物的集合为 $S_{i,j}$。 首先是是人都能看出来的 DP: 令 $f_{i,j}$ 为选择第 $i$ 类食物的第 $j$ 个时所需的最小费用,显然 ......
1487E 1487 CF

CF1227D2

题面 如果我们将 $a$ 数组从大到小排序,那么显然的,前 $k$ 个数就对应着长度为 $k$ 的元素和最大的子序列中各元素的值。 由于要求字典序最小,所以我们将 $a$ 数组中的元素下标进行排序,在排序时以对应的元素值为第一关键字,以元素下标为第二关键字(排序后对应的元素值从大到小,大小相等的元素 ......
1227D 1227 CF D2

CF237C

题面 ~~我来水题解啦!!~~ 首先这题和素数有关,我们就先需要一个线性筛: int prm[1000005],tot; bool vis[1000005]; void init(){ vis[1]=vis[0]=1; for(int i=2;i<=b;i++){ if(!vis[i])prm[++ ......
237C 237 CF

CF587F

题面 设 $f(s,t)$ 表示串 $s$ 在 $t$ 中出现的次数。 首先把询问 $\sum\limits_{i=l}^rf(s_i,s_k)$ 拆成 $\sum\limits_{i=1}^rf(s_i,s_k)-\sum\limits_{i=1}^{l-1}f(s_i,s_k)$,然后考虑如何算 ......
587F 587 CF

CF721B

题面 这题这么水怎么还是蓝啊(恼 ~~即使这么水我还是脑子抽风交了好几遍~~ 其实很简单: 不妨设正确密码长度为 $len$ ,根据题意,在试到正确密码前都要先把长度小于 $len$ 的密码全部试一遍,则最优情况就是试长度为 $len$ 的密码时一遍试对,最劣情况就是把长度为 $len$ 的所有密码 ......
721B 721 CF

CF939E

题意: 维护一个可重集 $S$,支持以下两种操作: 插入一个数,保证插入的数不降。 找出 $S$ 的一个子集 $s$,使 $\max(s) - \operatorname{mean}(s)$ 最大,输出这个最大值。其中 $\max(s)$ 表示 $s$ 中元素的最大值,$\operatorname{ ......
939E 939 CF

CF1579A

题面 $Update 2021.10.8:$使用了$\LaTeX$ 分析题意: 字符串 $S$ 中只有 $A$ $B$ $C$ 三种字符 删除 $A$ 时必须同时删除 $B$ 删除 $C$ 时也必须同时删除 $B$ 因此,删除 $A$ 和 $C$ 的总个数就等于删除 $B$ 的个数 解法: 想要让字 ......
1579A 1579 CF