后缀codeforces round deja
如何批量去掉文本的括号前后缀内容
静下心想想,日常的工作中,你们有没有遇到过这样的场景:ERP系统中的客户名称是按照项目、工程来命名的,我们应该如何通过这样的客户名称来提取得到真正的公司名称? 这里,我用AIGC随机生成了一些样本。 1. (海生项目)卓越光电科技有限公司 2. (蓝海贸易项目)天翼有限公司 3. 鸿图科技(武汉)有 ......
P9992 [Ynoi Easy Round 2024] TEST_130 题解
最开始没看到子树的限制,以为是个极其困难题。 思路 由于问题是在子树下,可以考虑在 dfn 序上扫描线。 考虑一个点 \(u\) 对 \(v,d\) 的贡献。 令 \(dep_u\) 为 \(u\) 的深度,\(mdep_u\) 为 \(u\) 的子树下的最大深度。 \(dep_u< dep_v\) ......
P9993 [Ynoi Easy Round 2024] TEST_133 题解
思路 看到时限这么大,考虑暴力做法。 我们将原序列分为 \(\text{B}\) 个块,每个块类似线段树三一样的维护 \(add,maxadd\),表示这一块需要加的值,加的值的历史最大值。 同时对于每个数可以维护一个真实值与一个历史最值。 那么下传标记可以写成这样。 inline void pus ......
P9994 [Ynoi Easy Round 2024] TEST_132 题解
题解怎么都是用暴力日过去的啊。 思路 考虑根号分治,设阈值为 \(B\)。 对于第二维出现次数超过 \(B\) 的,我们可以在修改时暴力更改,这部分复杂度为 \(O(\frac{nm}{B})\)。 对于第二维出现次数小于 \(B\) 的,我们可以在修改是打标记,查询时遍历一遍,这部分的复杂度为 \ ......
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+ ......
[Codeforces] CF1538F Interesting Function
CF1538F Interesting Function 题目传送门 题意 给定两个正整数 \(l, r\)(\(l < r\)),将 \(l\) 不断加 \(1\) 直到 \(l = r\),求出这一过程中 \(l\) 发生变化的位数总数。 位数变化指: \(l=909\),将 \(l+1\) 后 ......
codeforces比赛(1):codeforces 918_div4
A、Odd One Out 跳转原题点击此:A题地址 1、题目大意 给你三个数,其中两个是相等的,问你还有一个不相等的数是多少。 2、题目解析 直接暴力枚举即可,只要找到两个数相等,那么答案就是另一个数。 #include<bits/stdc++.h> using namespace std; in ......
[Codeforces] CF1536C Diluc and Kaeya
CF1536C Diluc and Kaeya 题意 题目传送门 给你一个字符串 \(S\),其中只包含 'K' 或 'D' 两种字符,要求划分这个字符串使得各部分的 \(n(D):n(K)\) 相同,其中 \(n(D)\) 表示 \(S\) 中字符 'D' 出现的个数,最大化划分后形成的组数。 求 ......
codeforces刷题(1100):1901B_div2
挺好的一道裸区间贪心,非常基础。我刚开始写可能想的太复杂了(重复考虑了0的情况),不过看了题解恍然大悟,还是菜就多练。 ......
codeforces刷题(1100):1902B_div2
B、Getting Points 跳转原题点击此:该题地址 1、题目大意 Monocarp为了完成总共n天的某学期的p学分任务。Monocarp每天可以选择两种度过方式:上一次课和完成最多两个任务 或者 休息一天。其中上课获得l学分,每个任务获得t学分,其中任务不可以重复接取,并且每周获得一个新的任 ......
Pinely Round 3 (Div. 1 + Div. 2)
A. Distinct Buttons #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; int a=0,b=0,c=0,d=0; for(int i=1;i<=n;i++){ int x,y; cin ......
「题解」Codeforces 1427G One Billion Shades of Grey
感谢 127 的指导/ll \(|h_u-h_v|=\max(0,h_u-h_v)+\max(0,h_v-h_u)\),那么可以把它看成这样的问题: \[\min \{\sum_{(u,v)}\max(0,h_u-h_v+w_{u,v})c_{u,v}\} \]对偶一下,问题就变为:如果两个格子相邻 ......
题解 P9993【[Ynoi Easy Round 2024] TEST_133】
就硬把 线段树 3 和 数列分块入门 2 揉到一起出。 维护原数组 \(a\) 及其历史最大值 \(hist\),对每个块,维护块内 \(a\) 升序排序后结果 \(p\)、块内 \(a\) 升序排序后历史最大值前缀和 \(prehist\)、块加标记 \(add\)、块历史和加标记 \(hista ......
后缀数组(SA)
终于刷完网络流后准备继续做sa,发现自己忘完了,于是来写个博客。 应用 用\(O(nlogn)\)将字符串后缀排序,以找到优美的性质 概念 两个数组:\(sa\)和\(rk\) \(sa_i\)表示将字符串后缀排序后,排名为\(i\)的后缀的开头字母在原串的位置 \(rk_i\)表示后缀\(i\)的 ......
codeforces刷题(1100):1904B_div2
B、Collecting Game 跳转原题点击此:该题地址 1、题目大意 获得一个由n位正整数组成的数组。你可以选择选择任意一个数作为你的判断值。然后任意一个 \(\le\) 它的数可以被选中加入你的分数(注意判断值不算在里面),同时该数被移除数组。你的任务是,对于该数组中的每个数,都将其作为判断 ......
LibreOJ#535. 「LibreOJ Round #6」花火
LibreOJ#535. 「LibreOJ Round #6」花火 \(n\) 个烟火排成一排,从左到右高度分别为 \(h_1,h_2,\cdots,h_n\),这些高度两两不同。 每次 Yoko 可以选择两个相邻的烟火交换,这样的交换可以进行任意多次。 每次 Yoko 还可以选择两个不相邻的烟火交 ......
CodeForces 1917E Construct Matrix
洛谷传送门 CF 传送门 \(2 \nmid k\) 显然无解。 若 \(4 \mid k\),发现给一个全 \(2 \times 2\) 子矩形全部异或 \(1\) 不会对行异或和和列异或和造成影响。那么我们找到 \(\frac{k}{4}\) 个全 \(0\) 的 \(2 \times 2\) ......
codeforces刷题(1100):1905B_div2
B、Begginer's Zelda 跳转原题点击此:此题地址 1、题目大意 给你一个子树,你可任意选择两个节点\(u、v\),这两个节点之间的所有节点(包括\(u、v\))都将结合变为一个新的节点。要求你通过该操作将所有的节点变为只有一个节点,求最小的操作数。 2、题目解析 由题意可得:当\(u、 ......
CodeForces 1917F Construct Tree
洛谷传送门 CF 传送门 考虑形式化地描述这个问题。先把 \(l\) 排序。然后相当于是否存在一个 \(\{1, 2, \ldots, n\}\) 的子集 \(S\),使得: \(\sum\limits_{i \in S} l_i = d\)。 \(\exists T \subseteq S, \m ......
Codeforces Round 915 (div2) E
E. Tree Queries [题目链接](https://codeforces.com/contest/1904/problem/EProblem - E - Codeforces) 题意概括: 给定一棵大小为 \(n\) 的树,回答如下询问,询问之间相互独立: 给定一个点 \(x\) 与 \( ......
codeforces刷题(1100):1917B_div2
模板 B、Erase First or Second Letter 跳转原题点击此:该题地址 1、题目大意 给你一个字符串,可以执行任意次以下操作,生成最终的字符串(不可为空),问你能生成的不重复字符串数为多少。 操作一:删除字符串第一个字符; 操作二:删除字符串第二个字符。 2、题目解析 发现,操 ......
Codeforces 1909G - Pumping Lemma
这个题思考角度很多,做法也很多。这里介绍一种 @asmend 和我讲的做法。 设 \(d=m-n\),那么我们枚举 \(|x|=i,|y|=j\),设 \(s,t\) 的 LCP 长为 \(l_1\),LCS 长为 \(l_2\),那么可以得到这组 \((i,j)\) 合法的充要条件是: \(i\l ......
<学习笔记> 后缀树(数)组
后缀排序 倍增+基数排序 code bool cmp(int x,int y,int k){ // 常数优化,使访问连续 if(oldrk[x]==oldrk[y] && oldrk[x+k]==oldrk[y+k]) return 1; else return 0; } void get_sa() ......
Codeforces1917F - Construct Tree
Codeforces1917F - Construct Tree Problems 给一个长度为 \(n\) 的序列 \(l\) 和 \(d\)。 要求判断是否可以构造出一颗节点数为 \(n+1\) 的树,满足 \(l\) 的每一个元素唯一对应为一条边的长度,并使整棵树的直径长度恰好为 \(d\)。 ......
CodeForces 1906K Deck-Building Game
洛谷传送门 CF 传送门 UNR #2 黎明前的巧克力。 枚举两个人选的卡的并集 \(S\),那么当 \(\bigoplus\limits_{i \in S} a_i = 0\) 时 \(S\) 有贡献 \(2^{|S|}\)。 考虑将 \(2^{|S|}\) 分摊到每个元素上,也就是每个元素有 \ ......
Codeforces1917E - Construct Matrix
Codeforces1917E - Construct Matrix 首先考虑因为 \(n\) 为偶数,所以 \(k\) 为奇数时不可能满足条件。 其次,如果 \(4|k\),那么实际上在矩阵中一直放 \(2\times 2\) 的全为 \(1\) 的矩阵就可以了。 随后,如果 \(k \equiv ......
Codeforces Round 917 (Div. 2)
基本情况 A题秒了,B题卡了一年。 B. Erase First or Second Letter Problem - B - Codeforces 卡题分析 两方面原因 没有变通,一开始的思路是公式算出总字串数再想办法找重复的减掉,但搞了一个小时都不可行,应该早点换成正着来找的思路。 没有更深入的 ......
codeforces刷题(1100):1907C_div3
C、Removal of Unattractive Pairs 跳转原题点击此:[该题地址](Problem - 1907C - Codeforces) 1、题目大意 给定一个字符串,可以删除相邻的两个不相等的字符。问你删除后能得到最小的字符串长度为多少。 2、题目解析 因为只要两个不相等的字符相邻 ......
Element UI --Upload组件,上传的文件名后缀重复问题
在使用Element UI 的Upload组件,发现上传的文件名后缀是重复的。(eg. test.pdf.pdf) 在检查了相关组件的使用,没有任何问题,最后发现是windows电脑自动会隐藏文件扩展名,导致用户以为文件没有扩展名,继续修改成带后缀的文件名导致。 可以点击文件--查看--勾选扩展名, ......