摘要:
请留言 阅读全文
摘要:
字符串 前言 假期的时候刷了点字符串的专题,感觉板子变得更加普适和完善了 KMP kmp算法实际上就是找最长公共前后缀,之前一直都是用的acwing的板子,根据董晓算法的板子和自己写题的习惯完善了一下。 kmp还可以用来找循环节 板子 bool KMP(string s, string t){ in 阅读全文
摘要:
D. Distribution in Metagonia 题面 题意 给你一个整数,要求你拆成这样的数的和:即每个数的质因子只能是2或者3, 且每个数之间不能互相整除。 思路 我们总是拆成 \((2^x* 3^y)* k\) 的形式,其中其中k显然是一个既不能被2整除也不能被3整除的奇数。对于这个k 阅读全文
摘要:
树状数组 简要介绍 树状数组其实是通过维护不同长度的区间和来达到O(logn)级别的点修改和区间查询。 主要是利用了lowbit 函数,其实是非常简单滴。qvq 支持的功能 1、单点修改和区间查询 2、区间修改和单点查询(利用差分) 3、区间修改和区间查询(利用差分+公式变形) 板子 单点修改和区间 阅读全文
摘要:
sort 对于sort来说,传入的比较函数一定要让 == 的情况为false,不然会出错…… 浮点数 例题链接:https://ac.nowcoder.com/acm/contest/30393/E 浮点数相加有可能会产生精度误差,比如0.3+0.6 = 0.89999999...... 所以假如说 阅读全文
摘要:
C题 Beautiful Numbers 题面 样例 题意 意思是问你给定数字a, b和所想要生成数字的位数n,问你在这样的条件下有多少个数满足每一位相加之后也只由数字a, b构成 思路 因为我们知道n的长度是1e6,也就是估摸着求和不会超过1e7,所以求和出来的数的位数应该最多只有7位数,直接一个 阅读全文
摘要:
C题 The Suspects 题面 补充说明:0为患者,输出0所在的连通块的大小 思路 这题就是并查集的板子题,有意思的点是维护连通块核心所连接的成员的数量,在计算总数量的时候实际上是核心所记录数量的转移 代码 #include <iostream> #include <algorithm> #i 阅读全文
摘要:
位运算 异或 简介&简单性质 1、一个数异或自己为0,称为自反 异或的话其实可以看做不进位的加法 奇怪的用法 对于一个排列 0~ \(2^{n-1}\) 来说,我们可以找到$2^{n-1}$这个数并记为$x$,让0~$2^{n-1}-1$的任一个数记为$y_1$,${y_1}\oplus{x}$总是 阅读全文
摘要:
B题 最长公共子序列 题面 样例 思路 首先已知所求的是两个排列的最长公共子序列,如果二者有公共子序列,那么这个子序列的各个元素在P1出现的顺序一定和在P2出现的顺序是一样的。 我们实际上可以做的是以P1为基准,将P2中的元素与P1中的元素进行匹配。也就是说现在我们假设将P1数组存在一个离散化的数组 阅读全文
摘要:
第一场 E炸鸡块的君的高中会议 题目 样例 思路 首先看到这个题目数据范围就可以知道这不是一个可以暴力过的题。所以应该要推一个结论。 我们可以将这个同学的一来一回看成一组,那么就可以理解为一个来回中n可以减少n-(m-1)个人。 那么我们现在要让所有人都进去,那就是看n/(m-1)的数量。 但是有可 阅读全文
摘要:
#离散化 使用背景 适用于负数情况和所存数据较为稀疏的情况 重要工具 vector unique 二分查找 题目 题面 假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。 现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。 接下来,进行 m 次询问,每个询问包含两个整数 l 阅读全文