题解860 div cf
CF650D 题解
一、题目描述: 给你一个长度为 $n$ 的序列 $a_1\sim a_n$,$0 \le a_i \le 1\times 10^9$。 现在有 $m$ 次操作,第 $i$ 次操作将位置 $p_i$ 的数变为 $v_i$,$1\le v_i\le 1\times 10^9$。 操作仅对本次有效,并不会 ......
『题解』CF213E - Two Permutations
Luogu CodeForces 首先数据范围是 \(2\mathrm{e}5\),支持枚举,问题留给了判断子序列。不简单想到了哈希,一开始想到的是树状数组,发现树状数组比较菜,就转向了线段树。 一开始先把 \(b\) 中的 \(1\sim n\) 加到线段树里,然后不断的删除最小的,加入最大的,这 ......
Codeforces Round 908 (Div. 2)
A. Secret Sport 题意:A与B选手在下棋,规定下赢X把看作赢一局,一共赢Y把的那个是最后的赢家。 思路:因为不知道x,y到底是多少,n的范围是到20,所以只需要枚举x即可,时间复杂度不高,注意的是,如果枚举结果是A赢,那么给定字符串的最后一个值一定是A,反之也是。 #include<b ......
CF765E
分享一种我认为很优美的解法。 首先发现,如果有一个点 \(root\) 使得以它为根,所有叶子深度相等,那么这一定是可行的。可以想象成将它拎出来并且把其他点横向拍扁。 然后,容易发现两个 \(root\) 相同的,满足上面要求的树组合在一起也是可以的,即分成上下两部分分别拍扁。 所以可以想到,如果能 ......
P4069 题解
简要题意 给定一棵 \(n\) 个点的树,树有边权。 对每个点维护一个集合 \(S_u\),一开始集合均包含整数 \(123456789123456789\)。 设 \({\rm dis}_{a,b}\) 为树上两点 \(a\),\(b\) 的距离。 共 \(m\) 次操作,分为如下两种: s t ......
## [HNOI2010] 取石头游戏题解
[HNOI2010] 取石头游戏 前言: 个人感觉这道题很有难度,很有思维,这种博弈方式也值得积累。 正文: 确定博弈:首先你得知道,很多博弈题目都是假的,可能是贪心啊什么的。这道题看起来是两个人都想要自己的得分更大,但是实际上为了让自己得分更大,就必须让对方在对方的回合中取的少一些。因此这肯定是博 ......
P2146 [NOI2015] 软件包管理器 题解
[NOI2015] 软件包管理器 题目背景 Linux 用户和 OSX 用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debia ......
[CSP-S 2023] 消消乐 & CF1223F 题解
LG9753 CF1223F 我们称一个字符串是可消除的,当且仅当可以对这个字符串进行若干次操作,使之成为一个空字符串。其中每次操作可以从字符串中删除两个相邻的相同字符,操作后剩余字符串会拼接在一起。 You are trying to push array elements to the stac ......
CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!)
https://codeforces.com/contest/1842 C题很像leetcode上买股票那几题的套路,直接dp就行 \(z=max\{i-j+1+g[j-1] (a[i]=a[j]) \}\),g[j]表示以i结尾的最大值,很显然可以将跟j有关的项分离出来,然后对于每种ai维护最大值 ......
Codeforces Round 908 (Div. 2)
https://codeforces.com/contest/1894 A题题意说一堆,还看了好几次,读懂之后就很简单,直接输出最后的。 B题直接数一下有多少个大于2的块即可。 C题每次找到最后一个,判断一下即可,同时打上标记,保证时间复杂度。 D题手玩之后发现我们可以用以下方式插入b 将大于等于a ......
Codeforces Round 908 (Div. 2) A-C
Codeforces Round 908 (Div. 2) A. Secret Sport 题意: 一个长为n的字符串,A表示A赢,B表示B赢。当一局比赛中A或B赢下X场,则A或B赢得此局。当A或B赢下Y局,则其胜利。结束比赛 思路: 最后一场比赛的获胜者就是整个比赛的获胜者 代码: #includ ......
CF1895D
analysis 看到这个类似差分的样子,想着对它进行转化,通过对题目给出的式子进行变形,我们可以得到下面的式子。 \[a_i = b_i \bigoplus b _ {i + 1} \]\[\begin{aligned} b_{i+ 1} &= b_i \bigoplus a_i \\ &= b_ ......
Balance Addicts 题解
Balance Addicts 题目大意 给定序列 \(a\),求有多少种合法的划分方案。 定义一种划分方案是合法的当且仅当划分出的各段序列的和构成回文序列。 思路分析 一种不太一样的做法。 我们先对 \(a\) 做一遍前缀和,得到 \(s\)。 观察各段序列的和形式: \[s_{p_1},s_{p ......
CSP-S 2023 T1 题解
CSP-S 2023 T1 题解 很简单,我们只需要暴力枚举五位密码,每次判断拨一个齿轮和两个齿轮能达到的状态数,如果等于 \(n\),答案 \(+1\)。时间复杂度 \(O(10^5 \times 5n)\)。 code #include <iostream> #include <algorith ......
qbxt23国庆刷题Day2 题解
Day2 \(100+96+60+70=326,rk1\) T1 签到题 暴力 T2 莫比乌斯反演题 首先容易想到枚举最大公约数是多少,不妨设枚举的 \(\gcd=g\) ,则我们可以开一个桶 \(b_i\) 表示 \(i\) 倍数的数有多少个 对于每个固定的 \(g\) 答案为 \(\large ......
CF351B Jeff and Furik 题解
summarization 有一个长为 \(n\) 的排列 \(p\), 现有甲乙两人轮流执行操作,甲是先手: 甲每次可以交换 \(p\) 中相邻的两个数 \(p_i,p_{i+1}\) 乙每次等概率执行下面两种操作的一种: 选择一对 \(p_i,p_{i+1}\),且 \(p_i\le p_{i+ ......
[CF1588F] Jumping Through the Array
不妨认为 \(n,q\) 同阶。 考虑根号重构。如果没有第 3 种操作的话,我们每 \(\mathcal O(\sqrt n)\) 操作整体更新一次,每个询问只需要考虑块内的修改所在置换环上有多少 \([l,r]\) 内的数。这个是容易 \(\mathcal O(n\sqrt n)\) 做的。 然后 ......
2019 CCPC Harbin 哈尔滨 E 题 Exchanging Gifts 题解
2019 CCPC Harbin E. Exchanging Gifts 题意 已知序列 \(g\),将序列 \(g\) 以某种方式乱序后的结果为序列 \(h\),定义序列 \(g\) 的开心值为:在相同下标情况下,序列 \(g\) 对应下标的值和序列 \(h\) 对应下标的值不相同的下标的个数的最 ......
Codeforces Round 908 (Div. 2)
A 读了 10min 题,做题 7min/cf,傻逼题。 B 没啥思维难度,但是中间电脑死机了/ll,傻逼题。 C 考虑到每次操作会把 \(x\) 转到 \(a_n\) 的位置上,然后记搜即可。 D 考虑每次将 \(k\) 插入一个位置并满足最优只有在 \(a_i\geq k\geq a_{i+1} ......
Codeforces Round 908 (Div. 2)
\(A. Secret Sport\) https://codeforces.com/contest/1894/submission/231748875 \(B. Two Out of Three\) https://codeforces.com/contest/1894/submission/23 ......
23级ACM第二次招新测试题解
A. lyynuu 思路: 先了解子序列的概念: 在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列 接下来我们就思考什么样的字符串可以让子序列 lynu 形成的数量最多,显然当相同字符连在一起时可以形成尽可能多的 lynu ,例如: lly ......
CF1436E Complicated Computations
CF1436E Complicated Computations 题目描述: 求一个数列的所有子区间的 mex 值的 mex 某个数组的 mex 是这个数组中没有包含的最小正整数。 数据范围: \(1\leq n\leq 10^5,1\leq a_i\leq n\) 思路: 分析一下题目的流程,他先 ......
CF练习题19
Paths on the Tree 贪心题,因为对于每一个儿子,经过的路径数之差少于 \(1\),所以这道题可以理解为先把所有路径均分,然后把剩下的按照权值大小依次分布给那些儿子。 那么儿子传给父亲的权值又是如何处理呢? 首先,我们需要把父亲首先传递过来的 \(k\) 条路径均分,然后把剩下的最大路 ......
题解 P4755 Beautiful Pair
洛谷。 题意 显然。 分析 首先考虑到分治,那么问题就在于如何维护经过某个结点的方案数。 利用从中间结点向两端的前缀后缀最大值,接下来我们对左端点的每一个结点考虑连向右侧的方案数。 考虑分类讨论,令左端点为 \(i\),右端点为 \(j\)。 假如 \(mx_i> mx_j\),那么我们整个区间的最 ......
Educational Codeforces Round 157 (Rated for Div. 2)
\(D. XOR Construction\) 首先观察 $ b_1 \oplus b_2=a_1, b_2 \oplus b_3=a_2 \ldots $ ,发现 \(b_1 \oplus b_{j+1}=\bigoplus^{j}_{i=1}a_i\) ,那么自然的想到如果第一个数字确定,后面的 ......
[ARC105F] Lights Out on Connected Graph 题解
题意 给定一个 \(N\) 个点 \(M\) 条边的简单无向联通图 \(G\)。每个边有红和蓝两种颜色,初始时每条边均是红色。 现在通过移除 \(G\) 中的一些边来获得一个新的无向图 \(G^{\prime}\),求在所有的 \(2^M\) 种方案中有多少种方案可以使得 \(G^{\prime}\ ......
CF1359D Yet Another Yet Another Task
貌似没有线段树做法。 记\(s\)为\(a\)的前缀和数组。 对于一个确定的右端点 \(r\) 和左端点 \(l\),它对于答案的贡献是 \(s_r-s_{l-1}-max\{a_i\},l\le i\le r\) ,如果枚举右端点,令 \(c_l=s_{l-1}+max\{a_i\},l\le i ......
AT_abc327 会题解
2023.11.7 18:53 上一次打 ATCoder 还是在上次呢?上一次打外网网络比赛还是在暑假集训吧。 A 乱搞。 B 最多 \(15^{15}\),乱搞即可,记得开 long long 和中途退出。 C ...记得好像做过类似的题来着,同样乱搞。 D 类似于条件之间的叠加,直接建图跑个拓扑 ......
cf1446C. Xor Tree
https://codeforces.com/problemset/problem/1446/C 断断续续想了挺久的,还发现看错题了。 首先一个显然的结论是不会成环,证明显然。 突破口在于从高位往低位考虑,我们按照最高一位的值分成两类,一类是这一位为0,另一类为1,那么显然在我们不进行任何操作的时候 ......
CF Round906 vp日志
太菜了只会四个 A 题意:给定一个长度为 \(n\) 的数组 \(a\) ,你可以将他随便重排,问是否能让它满足 \(a_i + a_{i+1}=a_{i+1}+a_{i+1}=.......=a_{n-1}+a_n\) 。 首先如果 \(a\) 中的元素种类超过 \(2\) 个,那么这个序列是不可 ......