题解sorting binary string

P9309 题解

此题问 \(\operatorname{lcm}(a\sim b)\) 的后导 \(0\) 个数。 考虑 \(\operatorname{lcm}\) 相当于对唯一分解中的素数的指数取 \(\max\),此题等价于: 定义 \(\operatorname{g}(x,y,z)\) 在 \([a,b]\ ......
题解 P9309 9309

[CF1902E] Collapsing Strings

题目链接 考虑拆贡献。 显然答案可以拆成对于所有 \(s_i\) 的每一个后缀的反串,作为前缀在所有串中的出现次数的加和。 这个东西字典树维护一下就行了。 不知道是谁考场上写哈希赛后被人对着模数卡掉了 点击查看代码 #include <bits/stdc++.h> #define FL(i, a, ......
Collapsing Strings 1902E 1902 CF

CF958E1 题解

Meaning 在二维平面内,有位置不同且不存在三点共线的 \(R\) 个红点和 \(B\) 个黑点,判断是否能用一些互不相交的线段连接每一个点,使得每条线段的两端都分别是黑点和白点。 Solution 当 \(R\ne{B}\) 时,显然无法实现红点与黑点的两两组合,故题干所述的情况一定不存在。 ......
题解 958E 958 CF E1

P5765 [CQOI2005] 珠宝 题解

P5765 [CQOI2005] 珠宝 题解 思路 好题,注意到有性质:颜色数最多为 \(\lfloor\log_2 n\rfloor + 1\),有了这个性质之后直接树形 DP 糊上去就过了。 简要的证明: 考虑一个点,显然一种颜色即可。 对于一个颜色为 \(c\) 的点,其儿子至少有 \(c - ......
题解 珠宝 P5765 5765 2005

【C/C++】通过下面的工作来改进String类声明(即将String1.h升级为String2.h)。 a. 对+运算符进行重载,使之可将两个字符串合并成一个。 b. 提供一个Stringlow()成员函数,将字符串中所有的字母字符转换为小写(别忘了cctype系列字符函数)。 c. 提供String()成员函数,将字符串中所有字母字符转换成大写。

通过下面的工作来改进String类声明(即将String1.h升级为String2.h)。 a. 对+运算符进行重载,使之可将两个字符串合并成一个。 b. 提供一个Stringlow()成员函数,将字符串中所有的字母字符转换为小写(别忘了cctype系列字符函数)。 c. 提供String()成员函 ......
字符 字符串 String 函数 字母

P2898 [USACO08JAN] Haybale Guessing G 题解

题目传送门 前置知识 二分答案 | 并查集 解法 对条件的合法性判断其他题解已经讲得很明白了,这里不再赘述。这里主要讲一下用并查集实现黑白染色问题。 以下内容称被覆盖为黑色,不被覆盖为白色。 本题因为是单向染色,即从白到黑,故可类似 luogu P1840 Color the Axis 和 D 的并 ......
题解 Guessing Haybale P2898 USACO

string

pg有3种字符串类型。 char(n):定长,不足用空格填补。省略n表示char(1)。 varchar(n):变长,省略n表示任意长度,无限制。 n是字符个数,不是字节个数。the length n must be greater than zero and cannot exceed 10,48 ......
string

贴一些我CF题的题解

CF1916B 分析 题目给出的是 \(x\) 的两个小于 \(x\) 的最大因子,首先考虑 \(a\) 不整除 \(b\) 的情况。既然 \(a\) 不整除 \(b\),那么 \(a\times b\) 必定是 \(x\) 的倍数,但是此时 \(a,b\) 就不一定是最大的,所以需要除以一些东西, ......
题解

杭州电子科技大学2023新生赛 G 逃离节奏面 题解

Question 杭州电子科技大学2023新生赛 G 逃离节奏面 题太长自己看吧 Solution 考虑到如果走了几步后走到了相同节奏面的相同点是没有意义的,所以直接 BFS ,对于走过的节奏面的哪个点不需要走就能刷出最短路了 实际上实现的时候细节很多,要注意一下 Code #include<bit ......
题解 新生 节奏 大学 电子

杭州电子科技大学2023新生赛 E 树 题解

Question 杭州电子科技大学2023新生赛 E 树 给定一颗包含 \(n\) 个节点的带边权的树,定义 \(xordist(u,v)\) 为节点 \(u\) 到 \(v\) 的简单路径上所有边权值的异或和 有 \(q\) 次询问,每次给出 l r x 求 \(\sum_{i=l}^r xord ......
题解 新生 大学 电子 科技

ostringstream istringstream实现string和int互转

int转string #include <sstream> int num = 100; std::ostringstream ss; ss << num; cout << ss.str(); string转int #include <sstream> int num; string str = " ......
ostringstream istringstream string int

【省选联考2020】树 题解

省选题解第一发~ 【省选联考2020】树 我和这道题还挺有缘分的。 有一次看大佬的省选游记(不知道是哪一年),然后提到有一道是01trie整体加一,当时我就印象深刻,然后在 oiwiki 上看了一下,心想这整体加一也只能从低位到高位维护 01trie 啊,又不能查询最大值,有什么卵用(划掉)。 这是 ......
题解 2020

c++ string split

std::vector<std::string> stringSplit(const std::string& str, char delim) { std::size_t previous = 0; std::size_t current = str.find(delim); std::vecto ......
string split

CF1545A AquaMoon and Strange Sort

CF1545A AquaMoon and Strange Sort 题目传送门 题意 有 \(n\) 个人从左到右站成一排,从左数第 \(i\) 个人的衣服上印着 \(a_i\)。每个人的朝向可以是朝左、朝右。一开始所有人的方向都是朝右。 您可以对这些人做一些“操作”,每次操作允许您找两个相邻的人让 ......
AquaMoon Strange 1545A 1545 Sort

题解 [SDOI2016] 游戏

可以看出来出题人很想出一道把李超和别的什么东西凑起来的题目,于是给了这么一个缝合怪。 https://www.luogu.com.cn/problem/P4069 符号有点混乱。比如箭头又可以表示路径又可以表示赋值,代入语境应该还是好理解的。 看到 \(a\times dis + b\) 就应激反应 ......
题解 SDOI 2016

CF1884D Counting Rhyme 题解

Problem - D - Codeforces Counting Rhyme - 洛谷 法1: 我们之前肯定看过这样一道非常经典的题: 求 \(a_i\) 中有多少对 \((i,j)\),满足 \(\gcd(a_i,a_j)=1\) \(n \leq 10^6\) 这题是莫反板子题,但显然可以不用 ......
题解 Counting 1884D Rhyme 1884

--{module_name}_binary_host_mirror和--{module_name}_binary_site

--{module_name}_binary_host_mirror和--{module_name}_binary_site demo // .npmrc文件 sass_binary_site=https://npmmirror.com/mirrors/node-sass/ nodejieba_bi ......

[ABC334C] Socks 2 题解

题目传送门 一道贪心题。 数量为 \(2\) 的袜子不用考虑,因为最好的情况就是相同颜色的配一对。 我们只需要考虑那 \(k\) 种只有 \(1\) 个的袜子,如果 \(k\) 为偶数,答案为相邻两数之差之和;如果 \(k\) 为奇数,就枚举删掉一个数,让剩下的数按照 \(k\) 为偶数的情况做,最 ......
题解 Socks 334C ABC 334

[ABC334E] Christmas Color Grid 1 题解

题目传送门 一道 dfs 题。 先统计出绿连通块数量,然后对于每个红色方块统计涂成绿色方块后会变成多少个连通块。正常涂成绿色后应该会增加一个大小为 \(1\) 的绿连通块,但若是有不同的绿连通块与其相邻,答案又会减少 \(1\)。 Code #include <bits/stdc++.h> cons ......
题解 Christmas Color 334E Grid

CF1917F Construct Tree 题解

Description 给你一个数组 \(l_1,l_2,\dots.l_n\) 和一个数字 \(d\)。问你是否能够构造一棵树满足以下条件: 这棵树有 \(n+1\) 个点。 第 \(i\) 条边的长度是 \(l_i\)。 树的直径是 \(d\)。 只需要判断是否有解即可。 \(2\le n\le ......
题解 Construct 1917F 1917 Tree

【题解】BZOJ 4403序列统计

tg.BZOJ 4403序列统计 pj.BZOJ 4403序列统计 没啥用的题解 \(QWQ\)——无脑思考 首先要想怎么求单调不上升序列的个数,因为可能会有重复的数,所以不能直接用排列组合。 那这道题怎么打呀? 我不知道啊\(\dots\) \((~:\) 因为原来是单调不下降序列,将第 \(i\ ......
题解 序列 BZOJ 4403

CF1806F GCD Master 题解

题目链接 Easy version Hard version 题目解法 参考 DeaphetS 的题解 很有意思的题,感觉 \(F1\) 不到 \(*2900\),\(F2\) 超过 \(*2900\) F1 简化题目中的操作:把 \(n\) 个数放到 \(n-k\) 组中,求 \(\max(\su ......
题解 Master 1806F 1806 GCD

[CF30E] Tricky and Clever Password 题解

[CF30E] Tricky and Clever Password 题解 注意到一个合法字符串首尾相同,考虑用 S 的反转和 S 跑 KMP。 对于只有一个串,暴力 manacher 即可。 匹配到某一位置 \((i, j)\) 时,查询区间最长的奇回文串长度,用二分 + ST 表解决,因为回文串 ......
题解 Password Tricky Clever 30E

P9995 [Ynoi2000] rspcn 题解

思路 比较典的 ODT 题目。 发现排序是一个非常有性质的操作。 它对区间的更改与颜色段均摊差不多。 那么我们可以想到用 ODT 来维护这一整个序列。 具体的,区间排序操作可以用 ODT 维护每次排序产生的段,每段用线段树维护排序后的结果。 每次修改就可以进行线段树的分裂与合并。 如何查询。 可以发 ......
题解 P9995 rspcn 9995 2000

P9992 [Ynoi Easy Round 2024] TEST_130 题解

最开始没看到子树的限制,以为是个极其困难题。 思路 由于问题是在子树下,可以考虑在 dfn 序上扫描线。 考虑一个点 \(u\) 对 \(v,d\) 的贡献。 令 \(dep_u\) 为 \(u\) 的深度,\(mdep_u\) 为 \(u\) 的子树下的最大深度。 \(dep_u< dep_v\) ......
题解 P9992 Round 9992 2024

P9993 [Ynoi Easy Round 2024] TEST_133 题解

思路 看到时限这么大,考虑暴力做法。 我们将原序列分为 \(\text{B}\) 个块,每个块类似线段树三一样的维护 \(add,maxadd\),表示这一块需要加的值,加的值的历史最大值。 同时对于每个数可以维护一个真实值与一个历史最值。 那么下传标记可以写成这样。 inline void pus ......
题解 P9993 Round 9993 2024

P9994 [Ynoi Easy Round 2024] TEST_132 题解

题解怎么都是用暴力日过去的啊。 思路 考虑根号分治,设阈值为 \(B\)。 对于第二维出现次数超过 \(B\) 的,我们可以在修改时暴力更改,这部分复杂度为 \(O(\frac{nm}{B})\)。 对于第二维出现次数小于 \(B\) 的,我们可以在修改是打标记,查询时遍历一遍,这部分的复杂度为 \ ......
题解 P9994 Round 9994 2024

P9991 [Ynoi Easy Round 2023] TEST_107 题解

思路 题目即要求删除区间中的一个或多个颜色。 考虑假如枚举删除颜色 \(k\)。 那么在 \(l,r\) 中的答案为: \[\max_{i=1}^{m+1} a_i-a_{i-1} \]其中 \(a_i\) 为颜色 \(k\) 在 \(l\sim r\) 中的出现位置,\(a_{0}=l,a_{m+ ......
题解 P9991 Round 9991 2023

AT_abc020_c 题解

链接(atcoder) 链接(luogu) 简单算法组合(? 算法一 爆搜,时间复杂度 \(O(2^{n \times m} \times t)\),不能通过此题。 算法二 考虑二分 \(t\),然后暴搜,时间复杂度 \(O(2^{n \times m} \times log2(t))\),不能通过 ......
题解 AT_abc 020 abc AT

CF1234F 题解

blog。小清新题,下文 \(V=20\) 即值域。 反转操作,本质就是选两个不相交连续段拼起来。 显然合法的最终串长度一定 \(\le V\)。将这些合法串预处理出来,那么每个串都对应一个「字母集合」。 随便 DP 一下,求出所有集合中,的最大的合法「字母集合」大小。\(dp_{\small U} ......
题解 1234F 1234 CF