随笔分类 - ACM / 题源:牛客
摘要:传送门 题意: 每次询问一个区间,求这个区间最长单调递增子序列的长度 题解: 赛时想到了尺取预处理,从当前的点开始第一个高度大于它的点的位置 然后就没有然后了 赛后看题解,用的方法是倍增,具体方法是,维护一个数组st[j][i] 代表从j点开始,跳$2^i$次能到哪个点 这样的话每次询问复杂度就到了
阅读全文
摘要:传送门 题意: 给出一个全由小写字母组成的字符串,让你找出三个区间,这三个区间不能重合,并且每个区间内1,每个字母出现的顺序不能超过m次,找出使得这三个区间长度之和最大的情况 题解: 1,如何找出最长的一个区间使得每个字母出现的次数不超过m次 用一个数组记录26个字母分别出现多少次,再用一个指针记录
阅读全文
摘要:传送门 题意: 输入一个5*5的矩阵,由01两种字符组成,判断写的是什么数字,0,8或9 题解: 观察数字的特征,8这个数字里有2个互不连通且不与边界相连接的0组成的连通分量 9这个数字有一个弯钩, 01110 01010 01110 01010 01110 观察图中红色的1,它上下左右四个邻接点只
阅读全文
摘要:传送门 牛牛定义了一个递归函数F(x),x为正整数且定义域范围$x \in [1,10^{18}]$ $ F(x) = \begin{cases} 1 & \text{ if } x=1 \\ F(x+1)+1 & \text{ if } x\neq1 \quad and \quad x%2=1 \
阅读全文
摘要:传送门 光、对立和小红三个人在玩捉蛇游戏。已知蛇有三种:红蛇、蓝蛇和绿蛇。蛇可以咬住自己的尾巴,形成衔尾蛇。每条蛇可以咬住自己的尾巴,也可以咬住别的蛇的尾巴。一共有a条红蛇,b条蓝蛇,c条绿蛇。她们想知道一共可以形成多少种不同的衔尾蛇的环? 注:蛇可以不用全部用完。 题解: 觉得应该是polya定理
阅读全文
摘要:传送门 题意: 我们定义两个数互质当且仅当gcd(a, b) = 1。 现在qcjj手里有n个数,分别为$a_1, a_2, a_3 \dots a_{n - 1}, a_{n}$。问,没有在这n个数中出现过并且与这n个数都互质的最小的数是多少。qcjj觉得这个问题太简单了,于是她把这个问题交给你来
阅读全文
摘要:传送门 中文题面就直接复制了 给定一个长度为 n 的序列a和一个长度为 n 的序列b,对于序列a中的每一个数字$a_i$,牛牛都可以进行以下操作:(1) 将数字 $a_i从 a_i$ 变成 $a_i + b_i$ ;(2) 将数字 $a_i从 a_i$ 变成 $a_i - b_i$ 。牛牛很懒,所以
阅读全文
摘要:题意: 给你一个“斐波那契”字符串数列,第n项由第n-1项和第n-2项拼接而成,输出某项的某位及其后10位。 题解: 递归求解即可。
阅读全文
摘要:题意: 给你一个方阵,再在方阵上给定一些点,按照希尔伯特曲线经过的先后顺序为这些点排序 题解: 定义好比较函数后直接调用排序算法即可。 希尔伯特曲线本来就是用于二维到一维的映射的,因此我们可以考虑对于每一个点预处理出它是希尔伯特曲线上第几个经过的,然后排序。 可以看出,假设在方阵的中心设立一个原点,
阅读全文
摘要:题意: 韩信有若干个兵,给定你若干个模数和余数,再给你一个1e18以内的范围限制,求解同余方程组,如果无解,输出“他一定在撒谎”,如果最小解超出范围限制,输出“他可能在撒谎”,否则输出最小解 注意:不保证模数互质,也不保证“他可能在撒谎”的情况答案不爆long long 题解: 因为不保证模数互质,
阅读全文
摘要:题意: 给出一个无向图,表示一种有机物质的结构式,问你这个有机物质是列表中的哪个。 题解: 判断图同构需要枚举全排列以对应点,但是此题中几乎只需要将点度数排序后一个一个比较,对于甲基位置再加个特判即可。
阅读全文
摘要:题意: 给定一个稀疏矩阵,里面有若干个气球,让你横着开三枪,竖着开三枪,问最多能打爆多少气球,要求相同方向,相邻两枪必须间隔r。 题解: 横向记录每列有多少个气球,分别在哪行上。 然后把这个数据改造成以此点为左端点,此列,以及此行右r列,以及右2r列的信息。 纵向记录每行有多少个气球。 然后将此数据
阅读全文
摘要:题意: 平面上有几个宽度相同的矩形区域被涂黑了,让你找到一条横线横截若干个矩形,把这些黑色部分抠下来一部分使得它们以这条横线为对称轴,求能抠下来的最大面积。 题解: 在随着对称轴上移的过程中,必然有一部分矩形有效面积在增加,一部分有效面积在减少,一部分有效面积不变。 单个矩形状态发生变化时,仅当对称
阅读全文
摘要:题意:计算斐波那契数列前n项和的m次方模1e9 题解: $F[i] – F[i-1] – F[i-2] = 0$ $F[i]^2 – 2 F[i-1]^2 – 2 F[i-2]^2 + F[i-3] = 0$ $F[i]^3 – 3 F[i-1]^3 – 6 F[i-2]^3 + 3 F[i-3]
阅读全文
摘要:题意: 一开始有n人互不认识,每回合有两个人认识,认识具有传递性,也就是相互认识的人组成小团体。现在问你每个回合,挑选四个人,这四个人互不认识,有多少种挑选方法。 题解: 认识不认识用并查集维护即可,重点在于如何统计挑选方法。 每个回合两个人互相认识,排除两个人本就在一个小团体中的情况,实际上就是两
阅读全文
摘要:题意: 给你32个物品,给定一个容积,让你恰好把这个背包装满,求出装满的方案 题解: 暴力计算的话,复杂度$2^{32}$肯定会炸,考虑一种类似bsgs的算法,先用$2^{16}$的时间遍历前一半物品的所有子集,将所得结果存进map里,再遍历后一半物品的子集,每得到一个解,在map里查询有没有相加正
阅读全文
摘要:题意: 已知 $x+y$ $mod$ $q = b$ $x*y$ $mod$ $q = c$ 已知b和c,求x和y 题解: 容易想到$b^2-4c=x^2-2xy+y^2=(x-y)^2$ 那么开个根号就能得到x-y,很容易就得出x和y了 在模q意义下对k开根号的方法就是找到w,使得$w*w$ $m
阅读全文
摘要:题意: 对于一个序列,把可以把连着三个相同的字母拿走,问最多拿走多少组。 题解: 直接模拟栈,三个栈顶元素相同则答案+1,并弹出栈
阅读全文
摘要:题意: 构造出一个由1和-1组成的$2^k*2^k$的矩阵,使得矩阵任意两列内积为0 题解: 数学知识,沃尔什矩阵。沃尔什矩阵的特性被CDMA(码分多址)采用,使得编码成为无线信号的频段和振幅之外的第三维,提高了无线信道利用率。 构造沃尔什矩阵只需倍增构造,以第i个矩阵的第k行重复两遍,作为第i+1
阅读全文
摘要:题意: 给定一个序列,问你子区间中不同数字数量,在所有子区间中之和为多少。 题解: 统计每个数字在多少个区间中出现即可。对于每个数字,直接枚举左右端点。 注意去重,因此要记录每个数字上一次出现在哪里,在下一次出现时,从该数字上一次出现为止之后开始枚举左端点。
阅读全文