problems inverse 1910i cf

Problem C: 命令行选项

Problem Description 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后可能会包含一 些不 ......
命令 Problem

Problem J: 括号匹配问题

Problem Description 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$ ......
括号 Problem 问题

cf-div.2-868-D

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

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

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

NC50454 A Simple Problem with Integers

题目链接 题目 题目描述 给定数列 $a[1],a[2], \dots,a[n]$ ,你需要依次进行q个操作,操作有两类: 1 l r x:给定l,r,x,对于所有 $i \in[l,r]$ ,将a[i]加上x(换言之,将 $a[l],a[l+1], \dots,a[r]$ 分别加上x); 2 l ......
Integers Problem Simple 50454 with

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

NC51100 A Simple Problem with Integers

题目链接 题目 题目描述 You have N integers, $A_1, A_2, ... , A_N$ .You need to deal with two kinds of operations. One type of operation is to add some given num ......
Integers Problem Simple 51100 with

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

cf-div3-867-E

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

Problem A. Restoring Numbers

Problem A. Restoring Numbers Pavel had two positive integers a and b. He found their sum s and greatest common divisor g, and forgot a and b after tha ......
Restoring Problem Numbers

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

Problem H: 超时计时器设置

Problem Description 运输层的超时计时器的超时重传时间应设置为多大呢? 如果把超时重传时间设置得太短,就会引起很多报文段的不必要的重传,使网络负荷增大。但若把超时重传时间设置得过长,则又使网络的空闲时间增大,降低了传输效率。 TCP 采用了一种自适应算法,它记录一个报文段发出的时间 ......
计时器 Problem

Problem G: 距离向量算法(D-V)

Problem Description RIP路由协议是一种分布式的基于距离向量的路由选择协议。距离向量(D-V)算法:收到相邻路由器(设其地址为 X)的一个 RIP 报文: ① 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。 ② 对修改后 ......
向量 算法 Problem D-V

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

CF1634A

题面 简单分析容易发现,若 $s=rev(s)$,则无论 $rev(s)$ 放在前面还是后面,生成的新串都相同,只有一种情况。 相反,如果 $s\neq rev(s)$,则一次操作后可以出现两种情况。而无论是哪种情况,生成的新串都是回文串,即 $s'=rev(s')$,根据乘法原理,后面的情况数都是 ......
1634A 1634 CF

CF1638A

考虑这样一种贪心策略: 按序号遍历 $a$,如果 $a_i=i$ 则继续,否则暴力向下找到一个 $a_j=i$,暴力翻转区间 $[i,j]$,然后退出。 正确性证明: 当遍历到 $a_i$ 时,$a_1$ 到 $a_{i-1}$ 一定已经是不需要翻转就已经字典序最小,因为如果不是的话程序在这之前就已 ......
1638A 1638 CF

CF1638C

蒟蒻有一种用 set 的乱搞(?)做法。 将题目中的连边要求反着说一遍:$i>j$ 且 $a_i<a_j$。 考虑遍历 $a$ 时,遍历到的 $a_i$ 编号一定要比它前面的大,只需要将前面比它大的元素都和它连起来。 将每个连通块看作一个整体,只要 $a_i$ 比其中任意一个小,$a_i$ 就可以加 ......
1638C 1638 CF

CF1654C

题意 有一些蛋糕,最开始只有一块。每次可以选择质量为 $x(x\ge2)$ 的一块,将其切成 $\left\lfloor\frac x2\right\rfloor$ 和 $\left\lceil\frac x2\right\rceil$ 两块。现在给定切 $n-1$ 次后的结果,判断能否通过最开始的 ......
1654C 1654 CF