摘要: 解决问题 高斯消元是用来解决n元一次方程组的,思路很简单,就是小学的加减消元与代入消元 首先我们先把第i行往下的每一行都减去该行的一个倍数,使得第i个未知数均被消去。 由于进度问题我们每次选取这些行中i的系数最大的交换为改行。 此时我们得到了一个所含未知数数量递减的方程组 之后我们把下面几行一一向上 阅读全文
posted @ 2022-05-31 18:32 蒟蒻jht 阅读(41) 评论(0) 推荐(0)
摘要: SAM可以解决几乎所有的字符串子串问题 SAM支持将一个字符串的所有子串与SAM中一条从起始点开始的路径一一对应(并在线性的时间与空间当中) 它的核心思想是将整个字符串都从头建进去。 核心代码: 点击查看代码 void add(int c){ int p=lst;//该点前的“主链”上的点 int 阅读全文
posted @ 2022-05-31 18:31 蒟蒻jht 阅读(451) 评论(1) 推荐(1)
摘要: T1 想了一会儿证了一下性质就出来了 T2 乍一看,背包板子(但数据范围不对 仔细一看,v<=3从这方面下手,物品按体积分为三类,枚举一类,三分一类,另一类应变,最后O(nlogn) T3 性质:选点顺序与最后的答案无关 所以我们可以枚举该点选不选,然后O(n)维护当前的连边(用二进制表示),然后就 阅读全文
posted @ 2022-05-03 21:51 蒟蒻jht 阅读(36) 评论(0) 推荐(1)
摘要: 今天的模拟赛看来是信心场鸭 一场比赛两道原题(大佬说是三道) T1 ax+by=c 啊? 这不是一道简简单单的exgcd咩。 问有多少正整数解。 求一下x最小的正整数解,然后看看y能往下降几个a 注意正负号和0(考场上调死我了) 做完一看,居然花了一个小时 T2 原题 emmmmmm 不想说什么.. 阅读全文
posted @ 2022-05-01 17:32 蒟蒻jht 阅读(61) 评论(0) 推荐(0)
摘要: 1.定义 我们定义一个矩阵A*B,首先需要使A的宽等于B的长。 对于矩阵C等于A*B \(c_{i,j}=\sum_{} a_{i,k}+b_{k,j}\) 一些运算律 结合律:A*(B*C)=(A*B)*C 分配律:A*(B+C)=A*B+A*C 2.应用一:矩阵加速 它一般可以用于一些dp的加速 阅读全文
posted @ 2022-03-04 17:30 蒟蒻jht 阅读(347) 评论(0) 推荐(0)
摘要: fhq treap(无旋treap) treap:其中每个点有输入值与随机值两种值,输入值满足二叉树性质,随机值满足堆性质。 而fhq如何实现平衡呢 它需要两个操作:分裂与合并 分裂: 目的:将其分成所有权值都大于或小于等于某一值的两棵平衡树 我们现在需要两个指针,每一次走到该点权值是否大于该值的反 阅读全文
posted @ 2022-02-26 08:28 蒟蒻jht 阅读(89) 评论(0) 推荐(0)
摘要: 众所周知,期望大部分题目时放在dp里面的 对于期望的题使用的dp一般都倒序进行 为什么呢? 我们在看期望的题时总会出现这么一句话每一个状态将等概率转移给后面的某些点。 而倒序枚举恰好能够满足转移至本点的各个状态所对应的概率相等。 例如本题 点击查看代码 #include<bits/stdc++.h> 阅读全文
posted @ 2022-02-25 21:48 蒟蒻jht 阅读(60) 评论(0) 推荐(0)