08 2019 档案
摘要:题目 分析 枚举所有的答案,然后再判断,复杂度为 。 对于每个可能的答案,如果不符合某个条件,则返回false。 我也不知道题干是按 “充分必要条件” 处理还是 “必要条件处理”,反正没用完所有条件就出结果了。 两年前第一次看到这个,就想用程序解决,可是当时C语言都才开始学。 转眼就
阅读全文
摘要:题意 对一个栈有入栈和出栈两种操作,求每次操作后栈的最大值的异或。 题目链接 分析 类似于单调栈,但是还没有那么复杂。 只需保持栈顶为最大值,如果入栈元素小于栈顶元素,则重复一次栈顶元素入栈;否则,直接入栈。 大概长这样: 参考链接:https://blog.csdn.net/Aerry_ale/a
阅读全文
摘要:一个01串S能匹配如下表达式当且仅当S是一个可以被3整除的二进制数, ^1((10*1)|(01*0))*10*/.test("1000000100")) 原
阅读全文
摘要:题意 输入两个正规表达式,判断两者是否相交(即存在一个串同时满足两个正规表达式)。本题的正规表达式包含如下几种情况: 单个小写字符 或:(). 如果字符串 满足 或者满足 ,则 满足 连接:(). 如果字符串
阅读全文
摘要:题意 一个DFA可以用一个5元组 表示,其中 为状态集, 为字母表, 为转移函数, 为起始状态, 为终态集。给出两个 DFA(有限状态自动机),判断他们是否等价。 分析 一个简单的做法
阅读全文
摘要:在编译原理的语法分析中,很多文法都是递归形式给出的。 假设有如下文法: G[F]: F→fG G→gF 判断字符串 a 是否满足的程序如下: 易知,这个程序输出总为 -1,因为不存在有限长的 F,F = fgF. 反过来,要想结果输出的不是 -1,F的结果是G(pos+1),G的结果又是F,不可能从
阅读全文
摘要:其实,对我来说是反过来的,我是为了使用Markdown而安装VS Code(虽然久仰大名) 安装VS Code 安装Markdown插件 使用篇 1. 安装vscode 之所以啰嗦一下,是因为据说安装版明显不如绿色解压版 2. 安装Markdown Preview Enhanced vscode默认
阅读全文
摘要:##第一部分:测试 ### ABC #### ABC ```c++ #include<bits/stdc++.h> using namespace std; int a; int main() { scanf("%d", &a); printf("hello world\n"); return 0;
阅读全文
摘要:题意 设 $$g_m(n)=\begin{cases}& g_m(i) = 0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0 \leq i \leq m\\& g_
阅读全文
摘要:这里仅记录自己(小米 air)安装与卸载Ubuntu双系统的过程,亲测有效。 1,安装 小米笔记本安装Win10+Ubuntu16.04 LTS 双系统 Win10 压缩卷提示磁盘空间不足 2. 卸载 win10 gpt分区+uefi引导 卸载双系统ubuntu 简单的说就是删除 Ubuntu 系统
阅读全文
摘要:概念 用hash求最长回文串/回文串数 首先,易知,回文串具有单调性。 因此,可以二分。 通常,枚举一下起点或者中点,然后二分长度。 这样复杂度为 ,逊色于马拉车 ,但在时限不那么紧的情况下,hash也是不错的选择。 例题 题意:对于一个 0/1 串,如果将这个字符串
阅读全文
摘要:题意 给出两个字符串 ,求 在 中出现的次数。 分析 预处理出两个字符串的哈希值,再逐位比较。 时间复杂度为 ,和 算法一样。 可能常数大一点点,还有就是没法用 的 数组。 参考链接:https://zh
阅读全文
摘要:概念 查询字串的hash值 我们所说的哈希通常都是进制哈希,因为它具有一些很方便的性质,例如,具有和前缀和类似的性质。 假设一个字符串的前缀哈希值记为 ,进制为 ,那么显然 . 记 为 $bas
阅读全文
摘要:只讨论最常用的进制哈希。 例题 洛谷P3370 题意:求 N 个字符串中有多少个不同的字符串()。 分析: 对每个字符串求一次哈希值,然后统计有多少个不同的哈希值。 单哈希 选择一个大质数,或者自然溢出。 双哈希 采用两个模数,哈希冲突的概率会降低很多,但常数会增大。 参考
阅读全文
摘要:其实扩展中国剩余定理与中国剩余定理的关系不大,后者使用类似拉格朗日插值法构造解,前者是模方程两两合并。 C++版 参考链接:https://www.cnblogs.com/zwfymqz/p/8425731.html
阅读全文
摘要:题意 构造 个点使其凸度(顶点数最多的凸多边形的顶点数)恰好为 ,且任意三点不能共线。 (题意有点绕,建议看英文原文 分析 首先,题目并不是求凸包上的顶点数,而是求能形成的凸多边形的最大顶点数。 直接构造符合条件的结果。 易知,凸函数上的点都能构成凸多边形。 将 个点置于 $y
阅读全文
摘要:题意 最初有 个人且互不认识,接下来 行,每行有 ,表示 和 交朋友,朋友关系满足自反性和传递性,每次输出当前选取4个人且互不认识的方案数。 分析 并查集维护集合的并。 考虑两个集合的并对答案的影响,总的来说就是减去集合x中选一个、集合y中选一个,剩下的选两
阅读全文
摘要:题意 有长度为 ()的数列,给出 ,求和为 的子集,保证子集存在且唯一。 分析 答案肯定是来自左右半边两部分组成的。 如果我们用哈希表存一半,计算另一半的值 ,再在哈希表中查找 ,这样规模从 降至
阅读全文
摘要:题意 给定 , 表示 中 出现的次数, 满足 ,求小于 的最大的 . 分析 正解不会...,学习了oeis大法。 打表得到前几个数字,然后取oeis上找完整的。 之所以能这么做,是因为 只有
阅读全文
摘要:题意:rt 分析: 当然不可能去遍历,应该寻找统计的方法。 如计算 78501 中 "5" 出现的次数。 我们可以枚举“5”出现的位置, 如当“5”位于倒数第2位时,写成 xxx5x,由于5大于0,前面只能取0~784,后面无限制为10; 如当“5”位于倒数第3位时,写成xx5xx,由于5等于5,前
阅读全文
摘要:题意 给出两个矩形,问这两个矩形把平面分成了几部分。 分析 不需要什么高级技能,只需 “简单” 的分类讨论。 (实在太难写了,对拍找出错误都不想改 推荐 博客,其中有个很好的思路,即只讨论答案为2,3,5,6的情况,其余都为4,这样可以省掉一些麻烦。
阅读全文
摘要:题意 在 自然溢出下,请输出一串字符串和 ,使得对任意 都能找到两个长度为 的字串的 值相同。 分析 自然溢出等价于两个哈希值模 相等。 如果 为偶数,只需构造两串长度至少为65的串且只有最高位不同,
阅读全文
摘要:题意 求 (). 分析 数据范围这么大 的复杂度也挺不住啊 根据取模的意义,$k \ mod \ i = k - \left \lfloor \frac{k}{i} \right \rfloo
阅读全文
摘要:经典题型 数位 DP 问题往往都是这样的题型,给定一个闭区间 ,让你求这个区间中满足 某种条件 的数的总数。 强烈推荐 OI Wiki——数位DP 例题 BZOJ 1026 题目:windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 wi
阅读全文
摘要:题意 假设现在你在准备考试,明天的考试有 道题目,对于分值为 的题目至少复习 小时才能做对,已知总分为,求确保完成 道题的最少时间。 分析 手动尝试一下,发现答案都是 这样的形式。例如, $5 \ 18 \ 3 \Rightarrow 6
阅读全文
摘要:题意 B - Balanced Neighbors 给定一个整数 (),构造一个顶点编号为 的无向图,需满足如下两个条件: 简单图且连通 存在一个整数 ,使得对于每个顶点,与其相连的顶点的编号和都为 可以证明至少有一个满足上述条
阅读全文
摘要:题目 Task1:试判断能否构造并构造一个长度 的 的排列,满足其 个前缀和在模 的意义下互不相同 Task2:试判断能否构造并构造一个长度 的 的排列,满足其 个前缀积在模 的意义下互不相同。 分析 既然考虑原数列很难
阅读全文
摘要:概念 RMQ 是英文 Range Maximum/Minimum Query 的缩写,表示区间最大(最小)值。 解决 RMQ 问题的主要方法有两种,分别是 ST 表和线段树。本文主要讲 ST 表。 ST表 表,即 算法,它预处理的时间是 ,
阅读全文
摘要:概念 如果一个系统由 个变量和 个约束条件组成,其中每个约束条件形如 ,其中 是常数(可以是负数,也可以是非负数),则称其为差分约束系统。我们要解决的问题是:求一组解 $x_1= a-1, x_2 = a_2,...,x_n = a_n
阅读全文
摘要:题意 有 n 个位置排成一行,可以放 m 种妹子。每个位置可以放也可以不放,规定某些妹子不能相邻,求方案数。 分析 没处交题,只能找别人题解的代码对拍,应该没错吧?? 参考链接:https://blog.csdn.net/FSAHFGSADHSAKNDAS/article/details/52745
阅读全文
摘要:题意 给你一个度序列,问能否构成一个简单图。 分析 对于可图化,只要满足度数之和是偶数,即满足握手定理。 对于可简单图化,就是Heavel定理了。 简单地说,把 从大到小排序后,找出度最大的点(设度为),将它与度次大的 的点连边,然后这个点就可以不管了。一直重复这个过程,直
阅读全文
摘要:题目 求非嵌套子矩阵的个数。 分析 单调栈的套路题(类似的有求最大子矩阵)。 首先,按列预处理,每个位置化成连续1的个数。 例如,左边的图转成右边。 然后枚举每一行作为矩阵的底边,再从前往后枚举每一列,并维护一个关于高度的单调上升的栈。对于栈中每一个Up值,还需要维护一个其向左能拓展的最远位置Lef
阅读全文
摘要:题目 求所有子区间中不同元素之和。 分析 枚举相邻的相同数字形成的区间,计算它是哪些区间的子区间,每次有-1的贡献,将其从总贡献中减去。 这里遍历了两遍,队友写的只遍历一遍,更加简短。https://ac.nowcoder.com/acm/contest/view-submission?submis
阅读全文
摘要:题目 有一个直角三角形三边为 A,B,C 三个整数。已知 C 为最长边长,求一组B,C,使得B和C最接近。 (题目链接) 分析 打表找规律。 或者直接一点的枚举 的值。(既然枚举 B 不现实,枚举差值是一种很好的思路啊,学习了 %%% 博客) 或者使用费马大定理(的一小部分), 当 $A
阅读全文
摘要:题意 给定一个斜面,从某处让一个小球作自由落体运动,求小球与斜面的碰撞次数(假设都为弹性碰撞)。 分析 题图如下,x轴、y轴是虚拟的。 根据高中物理的套路,沿斜面方向分解重力加速度即可。
阅读全文
摘要:前置知识 代数基本定理 定理:每个次数 ≥ 1 复系数多项式在复数域中至少有一个跟。 由此推出,n次复系数多项式方程在复数域内有且只有n个根(重根按重数计算)。(只要不断把多项式除以(x-xa),即可从有一个根推出有n个根) 实系数多项式因式分解定理 定理:每个次数 ≥ 1 实系数多项式在实数域上都
阅读全文
摘要:题意 给定一个 n 个元素的数列,从前 k 个元素中取5次不下降子序列,求取得的和的最大值(k从1至n) 分析 考虑将数字 a[i] 拆成 a[i] 个 a[i],比如 “4,1,2”→“4,4,4,4,1,2,2”,则问题转化为:找到最多 5 个不共享元素的不下降子序列,使得这些子序列包含的元素总
阅读全文
摘要:[HNOI 2009] 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}; (2)所有的奇数项满足a1<a3<…<a2n-1,所有的偶数项满足a2<a4<…<a2n; (3)任意相邻的两项a2i-1与a2i(1≤i≤n)满足奇数
阅读全文
摘要:题意:中文题意很清楚 LOJ2263 分析: 根据Dilworth定理,最小链覆盖=最长反链。 问题转化为求 个最小不上升序列能覆盖的最大数的个数. 参考链接: 1. https://blog.csdn.net/qq_35649707/article/details/82501437 2.
阅读全文
摘要:题意 有 种树,每种树都有高度 ,费用 ,数量 ,现要砍掉一些树,使得剩下的树中最高的树的数量超过一般,求最小的费用。($1 \leq n \leq 10^5, \ 1 \leq H_i \leq 10^9, \ 1 \leq C_i \leq 200, \ 1
阅读全文
摘要:杨氏矩阵既可以用来当堆,又可以当成平衡树。。在具体存储的时候,我们将没有元素的地方置为无穷大∞。 增 假如现在我们有这样一个矩阵,要向其中插入一个元素7。 只要这个矩阵不是满的,初始时应该将待插入的元素放到矩阵的右下角。 现在我们要将它移动到矩阵中合适的位置。如果它的上边和左边都有元素,那么就选择其
阅读全文
摘要:杨表 在数学中,杨表(Young table)又称杨氏矩阵,最初用于对称群的表示理论。 杨图由有限个相邻的方格排列而成,其中,各横行的左边对齐,长度从上到下递增。分为英式画法和法式画法,这里只讨论标准杨表, 标准杨表:在杨图的n个方格中任意填入1到n中的相异正整数,各行和各列中的数字皆严格递增。 勾
阅读全文
摘要:题目 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 分析 莫比乌斯经典入门题。 (我也刚学,就写一下
阅读全文
摘要:2002年印度数学家Manindra Agrawal, Neeraj Kayal,Nitin Saxena 给出了一个是否为素数的判别准则。 证: $\because (x-a)^p = x^p + \sum_{i=1}^{p-
阅读全文
摘要:理论部分 欧拉定理:若 为正整数,且 互质,则 . 降幂公式: $$a^b=\begin{cases}a^{b \% \varphi(p)} & gcd(a,p)=1 \\ a^b & gcd(a,p)\n
阅读全文
摘要:题意 给定 个物品,体积分别为 ,现有 的容积一样的箱子,按如下策略装入物品:每次选取尽可能大的装入(较大的不能装入时可以向小的找),依次装入箱子。 分析 首先,不具有严格的单调性,即可能大的箱子不符合但小的符号。与我们的直觉有点不同,是这个策略造成的。 但是基本单调,最优
阅读全文
摘要:题目 给出一个 ,判断是否存在 个顶点的自补图,如果存在,输出边和映射。 分析 一个无向图若同构于它的补图,则称该图为自补图。 定理:一个自补图一定存在 或 个顶点. 证: 原图的边数+补图的边数=完全图的边数=n(n-1)/2 由于原图与补图同构,所以边数相等
阅读全文
摘要:理论部分 二次剩余 在数论中,整数 对整数 的二次剩余是指 除以 的余数。 当存在某个 ,使得式子 成立时,称“ 是模 的二次剩余” 当对任意 ,$X^2 \equiv d(mod \ p
阅读全文
摘要:题目 给出一个 个顶点 条边的图,要求阻塞一些边,使得从 到 的最短路变长,求阻塞的边长度和的最小值,不必保证阻塞后可达。 分析 很显然,要阻塞的边肯定在最短路图上,先跑一遍单源最短路,求出最短路图。 要使最短路变长,肯定要同时切断原有的所有最短路,又要是长度(相当于
阅读全文
摘要:题目 将 ()质因数分解,求质因数幂的最小值。 分析 直接质因数分解,不太行。 可以这样想,对小区间质因数分解,n变小了,再枚举答案。 打印1-10000之间的素数表然后质因数分解,分解完剩下的那个数, 两种质数(肯定大于 )相乘,最多二次,
阅读全文
摘要:题意 给定 个数,接下来有 次询问,每个询问的 要异或上一次的答案,才是真正的值(也就是强制在线)。每次询问,输出 内第 小的 . 分析 通常主席树用来求区间第K大,其实它的实际作用是统计某个区间内值的个数。所以
阅读全文
摘要:题意:问是否存在一段区间其加减交错和为K。 显然,我们可以用set保存前缀和,然后枚举一个端点查找。具体的 若在st1中查找 ,为 ,在st2中则是 。 注意这样作差的话,没有考虑到 开始的,只要在st2中插入一个0即可。 然而,这题卡set,
阅读全文
摘要:题目 几乎原题 BZOJ3122题解 分析 先推一波公式,然后除去特殊情况分类讨论,剩下就是形如 的方程,可以使用BSGS算法。 在标准的BSGS中,内外层循环都是 ,题目查询 次,,$ p \leq
阅读全文
摘要:题意 给你 个集合,每个集合中包含一些整数。我们说一个集合表示一个整数当且仅当存在一个子集其异或和等于这个整数。现在你需要回答 次询问 (),是否 到 的每个集合都能表示 . 分析 先求出每个集合的线性基,然后用线段树维护线性基的交,详见代码
阅读全文
摘要:题意:给定M*N的数码图,问能否移动到最终状态 分析 有解的判定条件可见 八数码有解条件 值得一提的是,这道题求逆序对卡树状数组,只能用归并排序。 参考链接:https://www.cnblogs.com/nopartyfoucaodong/p/9673434.html
阅读全文