almost sorted cf dp

P7816/CF1610F「Stoi2029」以父之名 题解

CF1610F P7816 *3000 令 \(w_u\) 表示与 \(u\) 直接相连的边的权值和。显然当 \(2\mid w_u\) 时,这个节点是无法满足条件的,因为每次调整只能对 \(\mid d^+(u)-d^-(u)\mid\) 的值造成偶数的影响。 这时候肯定会猜答案就是 \(\sum ......
题解 7816 1610 2029 Stoi

CF1045G AI robots题解

题目链接:洛谷 或者 CF 本题考虑转化为 cdq 分治模型 对于 cdq 分治来说,只需要考虑左边对右边的影响,那我们要考虑该怎样设置第一维度的左右对象。很显而易见的是抛开 \(q\) 限制而言,我们着眼于,如何让双方互相看到的严格条件转化为只需要关注单体看见。考虑什么情况下只需要一方看到对方,对 ......
题解 robots 1045G 1045 CF

CF1270G Subset with Zero Sum

G. Subset with Zero Sum 很妙。 一开始冲着背包去想的,显然不行。 考虑他条件给的这个 \(i − n \le a_i \le i − 1\) 化简一下得到 \[1 \le i - a_i \le n \]题目要去求 \[\sum \limits_{i \in S} a_i = ......
Subset 1270G 1270 with Zero

jq sort

<!DOCTYPE html><html><body> <h1>JavaScript 数组</h1> <p>sort() 方法对数组的项目进行排序。</p> <p id="demo"></p> <script>const points = [ { "userId": 100, "userName": ......
sort jq

CF817F MEX Queries

题意 一个集合,初始为空。 请你维护以下 \(3\) 种操作。 把 \([l, r]\) 中在集合中没有出现过的数添加到集合中。 把 \([l, r]\) 中在集合中出现过的数从集合中删掉。 把 \([l, r]\) 中在集合中没有出现过的数添加到集合中,并把 \([l, r]\) 中在集合中出现过 ......
Queries 817F 817 MEX CF

std::sort()

这个算法是一个接口模板,在内部实现可能会根据不现情况使用不同的算法。在使用形式上存在两种方式,一种是使用小于运算符进行比较,一种使用传入的函数对象(仿函数)进行比较。 std::sort 的声明语法: template <class RandomAccessIterator> void sort ( ......
sort std

CF1270G Subset with Zero Sum

题目链接:洛谷 或者 CF 比较朴素的题,首先观察题目条件: \[ i-n \le a_i \le i-1 \Rightarrow 1 \le i-a_i \le n \text{,所以易知 } i-a_i \text{ 必定是某一点} \]考虑构造题目所说 \[\sum_{i=x_1}^{x_{t ......
Subset 1270G 1270 with Zero

CF1392H ZS Shuffles Cards 题解

题目链接 点击打开链接 题目解法 很牛逼的概率题,参考了题解区 定义取到鬼牌,重新洗牌,为一轮 则 \(ans=E(\)轮数\()\times E(\)这一轮取到鬼牌的期望步数\()\),轮数为在 \(S=\{1,...,n\}\) 之前取到鬼牌的次数 先计算 \(E(\)这一轮取到鬼牌的期望步数\ ......
题解 Shuffles 1392H Cards 1392

CF1905E One-X

map<ll, pll> mp; pll calc(ll n) { if(mp.find(n) != mp.end()) return mp[n]; auto [lk, lb] = calc((n + 1) / 2); auto [rk, rb] = calc(n / 2); ll t = (q_p ......
1905E One-X 1905 One CF

CF1814F

挺巧妙的题。 首先可以根据每个点出现时间知道每条边出现时间。然后就是一个 SGT 分治了……吗?发现如果对于每个时刻记录此时有哪些点和 \(1\) 联通,每次都要 \(O(n)\) 的时间扫一遍,这样肯定是不行的。 那么怎么办呢?于是考虑在并查集合并一次的时候判断合并中的两个点中的一个是否与 \(1 ......
1814F 1814 CF

CF295B Greg and Graph 题解 floyd性质题

题目链接:https://codeforces.com/problemset/problem/295/B 题目描述可参见 洛谷 解题思路完全来自 aiiYuu巨佬的博客 一道很好地利用了 floyd 算法性质的题目。 floyd算法 示例程序: #include <bits/stdc++.h> us ......
题解 性质 Graph floyd 295B

[CF1067D] computer game

题目链接 容易发现,当某一次游戏成功后,一定是一直选择 \(p_ib_i\) 最大的游戏玩。设 \(s=\max\limits_{i=1}^n p_ib_i\) 定义 \(dp_i\) 为还有 \(i\) 次操作时,最大的期望。 那么 \(dp_i=\max\limits_{j=1}^n(1-p_j ......
computer 1067D 1067 game CF

P4402 [Cerc2007] robotic sort 机械排序题解

题目链接:[Cerc2007] robotic sort 机械排序 前置知识点:文艺平衡树 具体的我们会将序号下标作为平衡树的键值,这样一来每个节点其实就是数组中的每个位置,又因为这个位置是具有有序性的,所以我要找某个位置的当前值是可以在树上二分出来的,同时考虑平衡树的一段子树打翻转标记,交换左右子 ......
题解 robotic 机械 P4402 4402

CF1905F Field Should Not Be Empty题解

题目链接:https://codeforces.com/contest/1905/problem/F 题意简述 对一个排列 \(p\),一个下标 \(x\) 被称作“好下标”当且仅当 \(\forall y < x\) 满足 \(p_y < p_x\),且 \(\forall y> x\) 满足 \ ......
题解 Should 1905F Field Empty

[CF594D] REQ 题解

[CF594D] REQ 题解 思路 用欧拉函数的公式来求解,可以发现,对于每一个质因数都只会做一次贡献,然后是区间查询,联想到 HH的项链 一题,考虑离线询问,按右端点排序,在树状数组里面维护最靠右的质因数的位置做贡献,然后区间积一下就有了。 注意质因数分解暴力做根号应该会爆,可以筛质数之后对质数 ......
题解 594D 594 REQ CF

CF676C 题解

使用尺取法(双指针法)。 由于字符种类只有 \(2\) 种,答案一定是全 a 或全 b。 情况 \(1\):全 a 快指针循环移动,并统计字符 b 的数量 \(cntb\),直到 \(cntb\) 即将超过 \(k\)。 情况 \(2\):全 b 同上。 答案即为两种情况取到的最大值。 AC cod ......
题解 676C 676 CF

CF1100F Ivan and Burgers

CF1100F Ivan and Burgers Problem 给定一个长为 \(n\) 的序列,\(Q\) 查询区间异或最大值。 \(1 \le n, Q \le 5 \times 10^{5}\)。 Solution 1 幸运数字的序列版本,但数据范围更大了,三只老哥很难冲得过去。 思考线段树 ......
Burgers 1100F 1100 Ivan and

CF521E Cycling City

是一个比较无脑的算法 首先建点双,对每个点双考虑,发现点双无解当且仅当是一个环,耳分解一下非常好证明 然后只需要找到两个端点满足有三条路径即可,发现 \(\text{K4}\) 一定有解,于是缩一下广义串并联图,把缩剩下的两个点拿出来当端点跑三遍 bfs 就做完了,感觉连通性相关的图论题目每次就这些 ......
Cycling 521E City 521 CF

CF1886C Decreasing String 题解

Problem - C - Codeforces Decreasing String - 洛谷 p.s. 本题提到的所有 \(s_i\) 的 \(i\) 均表示 \(s\) 字符串的下标,而不是第 \(i\) 个字符串。因为我懒不想改了 每次遇到这种题都想不到最好的解决方法,我是不是应该把所有比赛的 ......
题解 Decreasing String 1886C 1886

## 解析Arrays.sort()方法 排序问题

Integer arr[] = {1, 21, 32, 4, 5, 6, 7, 8}; Arrays.sort(arr, new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2) { return ......
方法 Arrays 问题 sort

[CF1527B1] Palindrome Game (hard version)

题意略。 手玩一下,发现 polybeta Bob 赢面不大。 本来想模拟的。考虑结论题。 由于计入代价的操作只有 \(s_i=0\to1\) 一个,可以统计 \(0\) 的个数为 \(cnt\)。 由于这题和 Ezy Version 的唯一区别就是初始字符串是否为回文,很自然地想到对于初始串是否回 ......
Palindrome version 1527B 1527 Game

CF763E Timofey and our friends animals题解

题目链接:CF 或者 洛谷 简单来说就是求 \([l,r]\) 这些点都存在的情况下,连通块的数量,看到七秒时限,而且每个点相连的边数很少,可以想到离线下来使用莫队类的算法解决 连通块问题,一般可以考虑使用并查集解决。对于并查集来说,它的增加是非常简单的,但删除是困难的,可持久化并查集时空常数都较大 ......
题解 Timofey friends animals 763E

CF1656D K-good Solution

题目传送门 做法 奇偶性判定好题。 \(Case1:\) \(n\)为奇数 很显然,\(n\)为奇数时一定可以拆分成两个数\(x\)和\(y\),且\(x\)为奇数,\(y\)为偶数,发现\(x \mod 2=1,y\mod 2=0\),\(k\)也刚好位\(2\),所以当\(n\)为奇数时就直接输 ......
Solution K-good 1656D 1656 good

CF1638E Colorful Operations

题意 给定一个长度为 \(n\) 的数组,初始每个数的颜色为 \(1\),值为 \(0\)。 维护以下操作: 将 \(l \to r\) 的颜色替换成 \(c\)。 将数组中颜色为 \(c\) 的元素的值加上 \(x\)。 输出 \(a_i\) 的值。 \(n, q \le 10 ^ 6\) Sol ......
Operations Colorful 1638E 1638 CF

CF1545C AquaMoon and Permutations 题解

题目链接 点击打开链接 题目解法 很不错的题 首先题目保证了一定有解,所以不用考虑奇怪的无解情况 从列中的数字种类入手 如果一列中有数字 \(c\) 恰好只有第 \(x\) 行存在,那么第 \(x\) 行一定在答案序列中 考虑选了第 \(x\) 行会牵连一些行不能选,那么把这些行去掉,继续跑上面的操 ......
题解 Permutations AquaMoon 1545C 1545

CF1910I Inverse Problems

题目链接:https://codeforces.com/contest/1910/problem/I 题意 有一个 \(n\) 个字符的字符串 \(S\),你需要不断从中删除一个长度为 \(k\) 的子串,直到串的长度变为 \(n \mathbin{\rm mod} k\),求能够产生的字典序最小的 ......
Problems Inverse 1910I 1910 CF

CF1442D Sum

题意 给定 \(n\) 个递增数组。 \(k\) 次操作,每次你可以选择一个数组,使 \(ans\) 加上数组的第一个数,并删除。 问最大化的 \(ans\) 的值。 Sol 考虑当前选择的方案如何变得更优。 不难想到,如果当前有两个数组没有选满,则一定可以调整到其中一个变成空的方案,而使得答案不劣 ......
1442D 1442 Sum CF

CF1916G Optimizations From Chelsu 题解

Optimizations From Chelsu 题意 给定 \(n\) 个结点的树,边有正整数边权 \(w_i\)。定义 \(len(u,v)\) 表示 \(u\) 到 \(v\) 的路径的边数,\(\gcd(u,v)\) 表示 \(u\) 到 \(v\) 的路径上所有边权的 \(\gcd\), ......
题解 Optimizations Chelsu 1916G 1916

CF1916F Group Division记录

题目链接:https://codeforces.com/contest/1916/problem/F 题意 已知点双连通的图 \(G = (V, E)\)。求一种划分方式 \(V = V_1 \cup V_2\),使得 \(|V_1| = n_1\),\(|V_2| = n_2\),且 \(G\) ......
Division 1916F Group 1916 CF

CF1909G Pumping Lemma 题解

题目链接 点击打开链接 题目解法 很 \(nb\) 的字符串题 首先,\(x+y\) 是 \(s,t\) 的公共前缀,\(y+z\) 是 \(s,t\) 的后缀 所以如果 \(s,t\) 的最长公共后缀与 \(lcp\) 不交,那么无解,如果有解,则只留下 \(s,t\) 的最长公共后缀,因为前缀的 ......
题解 Pumping 1909G Lemma 1909
共3320篇  :4/111页 首页上一页4下一页尾页