题解 字符串 字符noip
python基础之字符串、列表、字典
1. 字符串 2. 列表 增加 append(obj) insert(index,obj) extend([]) 修改 下标直接赋值 查找 in/not in 删除 del:根据下标进行删除 pop:删除最后一个元素 remove:根据元素的值删除 其他的 3. 元组 // 定义一个元素的元组需要加 ......
P10033 题解
不喜欢特判?不喜欢分讨?不喜欢被卡 corner?不喜欢证明?不喜欢动脑子? 那就看这篇题解! 感性思路 首先感性地感受一下题目宽泛的限制条件题解区各种花式的构造方法就不难想出,符合条件的序列实在很多,那不是随便构造?但是随便上随机化还是很容易被卡而且常数太大,又不想写屎山分讨被 corner 卡到 ......
Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组 首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直接使用转换方法进行转换。
Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组 首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直 ......
海亮01/08字符串专题
海亮01/08字符串 题单链接 SAM学习笔记 T1 CF235C 题意 给定一个主串\(S\)和\(n\)个询问串,求每个询问串的所有循环同构在主串中出现的次数总和。 题解 如果不问循环同构,只问正常询问串的出现次数,会吗? 直接上板子即可对叭? 那么对于循环同构,我们可以直接加长一倍(加到 \( ......
excel统计单元格内字符出现的次数
统计","在一个单元格中出现的次数: =LEN(B6)-LEN(SUBSTITUTE(B6,",","")) 参考:link ......
字符集、字符编码、unicode、uft-8
字符集就是字符的集合,如常见的 ASCII字符集,GB2312字符集,Unicode字符集等。 字符编码则代表字符集的实际编码规则,是用于计算机解析字符的,如 GB2312,GBK,UTF-8 等。字符编码的本质就是如何使用二进制字节来表示字符的问题。 Unicode是国际组织制定的,用于收纳世界上 ......
一维数组和字符数组
1.一维数组 写一个函数用于打印数组中的每一个元素,注意数组在传递时,元素个数传递不过去,仅传递数组内存首地址,所以sizeof(a)/sizeof(int)的值永远是1,无法算出数组元素真正的个数。 可以单步调试观察内存中变量值的变化。原理是编译器在编译时,只传递了数组的起始地址,故在子函数中可以 ......
day11 代码随想录算法训练营 1047. 删除字符串中的所有相邻重复项
题目:1047. 删除字符串中的所有相邻重复项 我的感悟: 做过的题,还是有印象的。 本身也不难,独立写出来了。 理解难点: 代码难点: 代码示例: class Solution: def removeDuplicates(self, s: str) -> str: stack = [] for i ......
P4149 [IOI2011] Race 题解
题目链接:Race 点分治基本题,从这题简单阐述点分治如何思考问题的。点分治常见的解决一类问题,就是树里面的一些路径类问题。比如一些计数是最常见的。 点分治的一个核心计数思想: 如图所见,对于某个点而言,我们将它作为根,那么它的子树并排地排起来,我们依次遍历每棵树并累计树。 我们容易知道,包括这个点 ......
[刷题班] LeetCode1002. 查找共用字符
题目描述 思路 关键字:“小写字母”、“出现频率”这些关键字都是为哈希法量身定做的。 求每个字符在所有字符串中最小出现的次数。最小次数为几就在结果集中添加几次该字符。 方法一: class Solution { public List<String> commonChars(String[] wor ......
用Roslyn玩转代码之一: 解析与执行字符串表达式
最近框架中的可视化界面设计需要使用到表达式引擎(解析代码字符串并动态执行),之前旧框架的实现是将表达式字符串解析为语法树后解释执行该表达式,本文介绍如何使用Roslyn解析表达式字符串,并直接转换为Linq的表达式后编译执行。 一、语法(Syntax)与语义(Semantic) C#的代码通过Ros ......
16_模板字符替换
实现效果 选择对应模板,文案会自动填充到多行文本框,且可替换占位字符会高亮 在替换编辑里,编辑替换占位字符 可添加、编辑、删除模板 具体操作流程及规则: 点击活动公告-添加或某个活动编辑处;找到添加模板 在模板界面可以随意添加或修改公告模板;也可以删除不再需要的模板 或者在【具体模板】输入要添加的模 ......
8种超简单的Golang生成随机字符串方式
本文分享自华为云社区《Golang生成随机字符串的八种方式与性能测试》,作者: 张俭。 前言 这是**icza**在StackOverflow上的一篇高赞回答,质量很高,翻译一下,大家一起学习 问题是:go语言中,有没有什么最快最简单的方法,用来生成只包含英文字母的随机字符串 icza给出了8个方案 ......
C语言字符串函数
#include <string.h> index(3) memchr(3), rindex(3), strchr(3), string(3), strpbrk(3), strsep(3), strstr(3), strtok(3), wcscspn(3), wcsspn strchr(3), st ......
P7907 [Ynoi2005] rmscne题解
题目链接:rmscne 神仙经典数据结构难题。看到求区间种类数有关的东西,需要下意识的反应到经典老题 HH的项链,这里可以学习我这篇 题解。具体学习下扫描线怎么做这类东西的。 看看本题,首先处理区间查询问题,而且是这种很复杂的子区间问题。这里的 \(l'\) 和 \(r'\) 所组成的子区间 \([ ......
java 数组字符串转数组或者list集合
java 数组字符串转数组,list集合(带泛型),二维数组,或者二维数组集合(带泛型) 今天前端传递过来一个二维数组类型的字符串,我需要把它每个字段导出到excel表中,那我就需要给他转换成二维数组或者list集合 1,转换成二维数组 这是传递过来的二维数组类型的字符串 "[[ "1", "流动资 ......
P6088 [JSOI2015] 字符串树 题解
思路 每次询问 \(u,v\) 的简单路径上有多少个字符串以 \(s\) 为前缀,不难想到用 trie 树去维护。而普通的 trie 只能查询所有字符串中产生的答案,对于这类区间询问,就要用到可持久化 trie 树了。不会右转可持久化 trie 树模板题。 \(u,v\) 的简单路径上编号不连续,非 ......
CF1896D Ones and Twos 题解
来自机房大佬 FFT 的简单解法。 思路 首先有个结论:如果 \(a\) 中存在一个子串的和为 \(x\) (\(x>2\)),那么也就一定存在一个子串之和为 \(x-2\)。怎么证明?其实和为 \(x\) 的子串有 \(3\) 种情况: \(\text{1}\dots \text{1}\) 两边都 ......
CF1917D Yet Another Inversions Problem 题解
官方题解。 思路 首先可以把 \(a\) 数组分成 \(n\) 块,每块都是长为 \(k\) 的 \(q\) 数组。于是我们可以把答案拆成两部分计算:块内的贡献和块外的贡献。对于块内,\(p_i\) 都是一样的,因此可以直接消去,计算的实际上就是 \(q\) 序列的逆序对数,把这个值 \(\time ......
P9194 [USACO23OPEN] Triples of Cows P 题解
直接建边边数过多,不好处理。我们可以考虑建一些虚点,让 \(u_i\) 和 \(n+i\) 连边,\(v_i\) 和 \(n+i\) 连边。设这些新连的点为白点,与白点有连边的点在原图中一定相连,并且一定是一棵树。删除操作相当于把 \(u\) 的子白点连到他的父白点上,使用并查集维护即可。 这时再考 ......
[ABC329E] Stamp 题解
正难则反。 直接往上覆盖不好做,那么可以考虑把字符从 \(S\) 上往下删。删的过程就是在 \(S\) 中找 \(T\) 并把他们变成 #。如果 \(S\) 中有字符为 #,那我们可以把它看成任意字符,因为向上贴的过程中有重复覆盖的情况,在删的时候我们并不知道他是否重复了,所以当成任意字符来看即可( ......
gym 102452 Constructing Ranches 题解
题目 题意 给定一颗树,每个点有点权。求有多少对点对 \((x,y)\) 满足 \(x<y\) 且以 \(x\) 到 \(y\) 的简单路径上的所有点的点权作为边长,能围成一个凸多边形。 \(1 \leq n \leq 10^5\),\(1 \leq a_i \leq 10^9\)。 思路 遇到这种 ......
CF1527D MEX Tree 题解
思路 如果一条路径的 \(\text {mex} = k\),那么 \(0 \sim k-1\) 这些点一定在路径中出现过,并且一定在一条链上。如果不在一条链上,那么就不满足简单路径这一条件了。因此我们在从小到大加点的过程中如果发现一个点不在已求出的链上,那么比这个点编号大的 \(k\) 答案一定都 ......
[ABC331F] Palindrome Query 题解
思路 判断一个字符串是否是回文串,可以从它的本质出发:正着读和倒着读是一样的。快速判断它正着和反着是否一样,用字符串哈希即可。又因为涉及单点修改,区间查询,那么使用线段树维护这两个值就行了。 这里讲一下如何 pushup。以正着的哈希值为例:我们要更新 \(p\) 这个点的 \(hash\) 值,已 ......
P9754 [CSP-S 2023] 结构体 题解
首先,我们需要想清楚要维护哪些信息,把每一种类型(包括基本类型)用结构体维护,里面存: 类型的对齐规则 占用长度 元素个数 每个元素的名字、起始位置、类型 元素名到编号的映射 struct node{ int dq;//对齐规则 ll sz;//长度 int num;//data numbers s ......
P6370 [COCI2006-2007#6] KAMEN 题解
题目 神奇模拟题。最直接的做法就是每个石头暴力向下滚,有 \(60\) 分。但是大样例跑了 \(15s\)。稍微观察一下,会发现很多次循环都是在重复向下走到一格空位上,于是考虑优化:用 set 维护每一列的那些位置有障碍(包括石头),每次直接 lower_bound 跳到下一个位置,会快很多,大样例 ......
[ARC105E] Keep Graph Disconnected 题解
赛时冲了两个多小时没冲出来,想得断断续续,导致没想到如何处理奇偶。 思路 根据限制条件一,可以知道最后的图一定是两个连通块,其中一块包含 \(1\),另一块包含 \(n\)。因为此时再想连边就必须连通两个块,使其不合法了。 每次操作都是新增一条边,那么到最后的边数是多少呢?假设其中一个连通块有 \( ......
CF1536F Omkar and Akmar 题解
思路 首先最后的局面在两两字母间一定不会多于 \(1\) 个空格。考虑反证,假设有两个空格,那么有以下两种情况:\(\text{A}\_\_ \text{B}\),\(\text{A}\_\_ \text{A}\),也就是两边的字母不同,相同。对于第一种,在任意一个空格都可以填一个与他相邻字符不同的 ......
CF1547C题解
思路 题意这里就不讲了,直接进入正题。 贪心。 首先我们知道要想尽可能的让每一次操作都合法就得使 \(k\) 最大化,那么要使 \(k\) 最大就得尽可能的选择 \(0\) 操作,所以贪心策略就出来了:优先选择 \(0\) 操作,\(A,B\) 序列那个有 \(0\) 就选哪个合并。如果两个序列当前 ......