————线性代数————
hanyuweining
明日はきっと 明日はきっと 仆が世界の中心なので
展开
-
矩阵乘法学习笔记
经历了一发被虐以后,我发现我对矩阵乘法一无所知...于是开始补坑QAQ感觉矩乘貌似写起来不是很麻烦就不放代码了(其实是你懒得写)一、基础大体过程 —> 我一般的理解方式就是我们在第一个矩阵框一行,然后在第二个矩阵框一列,然后他们的交点的地方就是我们放值的地方。、这个样子(?) 矩阵乘法的基本性质1.满足结合律->这也是我们可以矩阵快速幂...原创 2018-09-26 15:54:32 · 464 阅读 · 0 评论 -
BZOJ3160 万径人踪灭
传送门FFT好题~我们观察一波性质 首先 回文的子序列一定是 j+k=i 其中j和k分别是两个下标 然后i是固定的这玩意看起来是不是就很像卷积= =+我们要求的是f[i]就是固定值是i的时候两侧的相同字符对数然后呢 我们分别把a和b做一遍a就是把一个位置上是a的赋成1然后FFT自乘 b同理a,b对应系数相加就得到了f[i]求答案就是枚举所有i求2^f[i]-1但...原创 2018-12-24 19:58:07 · 116 阅读 · 0 评论 -
CF622F The Sum of the k-th Powers
传送门自然数幂和的拉格朗日插值求法列出柿子然后带一下值就可以了qwq预处理分子分母啥的 见代码吧。附代码。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 20021225#define ll long lo...原创 2018-12-24 21:01:07 · 288 阅读 · 1 评论 -
HDU 4609 3-idiots
传送门问给定n条小木棍 随机选3根构成三角形的概率看起来和多项式没啥关系对不对 = =但实际上它的确可以用多项式来做qaq我们构造多项式然后自乘一下就能得到两根木棍拼起来的方案数然后枚举所有拼出来的长度 算一下>=这个长度的木棍个数求出不能拼成三角形的方案数然后最后用减一减 除一除就可以了qwq【注意sum的预处理范围是两倍权值T^T】附代码。#...原创 2018-12-25 08:00:59 · 117 阅读 · 0 评论 -
【挖坟】HDU3205 Factorization
分圆多项式问题在于精度貌似出了一些奇怪的问题。。。【输出也写的有问题QAQ】完全不会处理了 加上全网没有题解T^T挖个坑以后补。。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 20021225#define ...原创 2018-12-25 15:53:53 · 195 阅读 · 1 评论 -
洛谷3321 SDOI2015 序列统计
懒得放传送【大雾有趣的一道题前几天刚好听到Creed_神犇讲到相乘转原根变成卷积的形式看到这道题当然就会做了啊w对于m很小 我们暴力找原根 如果你不会找原根的话 出门左转百度qwq找到原根以后所有数转成原根的幂次然后卷积就吼了啊多项式卡速米 由于是循环卷积所以每一次还要转回系数相加再转回来所以是不优美的O(nlg^2n) =v=代码在这里。//Love and...原创 2019-01-05 10:17:50 · 215 阅读 · 0 评论 -
BZOJ3625 CF438E 小朋友与二叉树
心态崩了 不放传送门了 辣鸡bz还是正经一点写一下题解= =就是显然我们可以把权值写成生成函数形式g(0/1序列)来表示权值是否出现然后f来表示总的方案数可以列出 分别枚举左右子树和空树的情况然后解方程得到显然开根开出来常数项是1 而g不带常数项 那么就必须取-才能保证除法有效然后为了计算方便我们把柿子写成(平方差上下同乘)然后就是多项式开根和多项式求逆了多项式...原创 2019-01-02 11:35:44 · 148 阅读 · 0 评论 -
CF662C Binary Table
FWT板子w就是一个显然的做法就是枚举哪些行翻转,然后对于每一列贪心取翻转或者不翻即min(count(i),n-count(i))这样肯定是过不去的 我们来考虑优化我们记录数组F表示对于一个数i它的较优翻转 即上面的那个柿子然后再记录一个数组表示原来的矩阵中每一列的计数 cnt[i]表示将一列看成一个二进制数 这个数是i的列数对于答案我们有就是考虑计算贡献 ans[k]表示行...原创 2019-01-07 11:02:29 · 341 阅读 · 0 评论 -
LOJ149 0/1分数规划
竟然没有写过分数规划的题解考前挣扎一发板子(二分答案k 然后0/1分数规划的方法就是 分母乘过去然后贪心解决注意实数二分的精度 一般估计一个次数比较好不然容易出现精度比较误差【惨痛教训就做完了qwq//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm&g...原创 2019-01-18 15:41:37 · 195 阅读 · 0 评论 -
BZOJ5297 CQOI2018 社交网络
考前挣扎有向图生成树我们知道对于无向图生成树可以通过矩阵树定理来算具体就是度数矩阵 - 邻接矩阵 去掉任意一行一列得到余子式 对行列式求值有向图生成树分为外向和内向两种外向生成树当然是所有边指向儿子 他的矩阵树定理是这个样子对于有向边(x,y)度数矩阵d[y][y] ++ 邻接矩阵e[x][y] ++内向生成树所有边指向父亲对于有向边(x,y)度数矩阵d[x][x]...原创 2019-01-18 19:31:55 · 139 阅读 · 0 评论 -
CF917D Stranger Trees
传送门非常舒适的一道题 趁机学了一发拉格朗日插值2333貌似是WC2018讲的题我们对于在原图中存在的边 记为x 没出现的边记为1然后矩阵树定理求出行列式 对应的x^k的系数就是跟原图有k条重边的方案数显然带多项式进去不好算那么我们拉格朗日插值 对于x分别算1-n得到了n个值然后插值回来就可以了拉格朗日求系数我也没有找到好的博客 于是找到学长求助 结果他们说的我很懵...原创 2018-12-24 15:23:36 · 268 阅读 · 0 评论 -
洛谷4721 【模板】分治 FFT
传送门久违的多项式全家桶= =+分治NTT 用的就是cdq分治的思想 对于当前递归到的区间[l,r] 我们处理出[l,mid]对[mid+1,r]答案的贡献然后分治递归求解就可以啦qwq这个贡献是前一半卷积的答案加过去就可以啦对于x的贡献附代码。#include<cstdio>#include<cmath>#include<algor...原创 2018-12-22 18:36:32 · 156 阅读 · 0 评论 -
线性基学习笔记
补坑线性基在我的理解来看,就是把原来较大的集合转换成最大的数的二进制位数大小的集合。通过这个操作可以用选择子集异或的形式表示出原集合。基础实现每次插入一个数就从高位到低位,如果这位是1的话,分两种情况。如果线性基里存在这一位了,那么这个数异或上线性基里的数,不然的话线性基里这一位数就是这个数啦。代码实现很简单。void build(ll x){ for(int i=lg-...原创 2018-09-03 14:55:37 · 309 阅读 · 0 评论 -
UOJ197 线性规划
传送门由于这道题标程GG了所以必不可能AC嘛2333单纯形法是一个很玄学的东西qwq就是 非标准型 -> 标准型 -> 规范型 -> 松弛型一个玄学操作——转轴操作(privot)等着学习笔记到时候再补吧先把程序放出来写了一些注释方便理解qwq#include<cstdio>#include<cstring>#includ...原创 2018-12-06 11:07:16 · 128 阅读 · 0 评论 -
BZOJ1061 NOI2008 志愿者招募
传送门本来是费用流神建模但是被单纯形搞定了鸭2333mi,j表示第i天第j种志愿者能否工作 Ai表示第i天至少要用的人数要最小化代价(目标函数) 不是标准型所以根据线性规划的对偶性就可以做了qwqqq线性规划的对偶性:如果和均有可行解,则他们最优解相同或同时为Unbounded 这个题需要满足最优解是整数(你又不可能把人劈开)但是实际上这个矩阵的...原创 2018-12-06 11:43:12 · 86 阅读 · 0 评论 -
BZOJ3527 ZJOI2014 力
传送门FFT复健中。。。把柿子拆开 两边分别变成q卷g g是1/i^2就可以了(第二个把q翻转就好了)菜到这个都想不出(附代码。FFT学习笔记先等我鸽着吧#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<com...原创 2018-12-06 11:47:37 · 105 阅读 · 0 评论 -
BZOJ3550 ONTAK2010 Vacation
传送门(没有是因为我没有权限号)单纯形暴力构造吼啊对每个元素限制一下不能选多于一个 再对每N个元素限制一下不能多于K个一共是3N+2N-1=5N-1个约束跑就行了2333(单纯形在不需要ID的时候尽量不要写 因为需要开N+M的空间 RE惨惨 非常容易忘)附代码。#include<cstdio>#include<cstring>#includ...原创 2018-12-06 13:57:59 · 129 阅读 · 0 评论 -
BZOJ3112 ZJOI2013 防守战线
传送门 (消失的题面)洛咕 (这里还是有题面的233)还是根据线性规划列个柿子然后对偶一下就可以了对偶一定想清楚行列(附代码。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 20021225#define ll...原创 2018-12-06 15:21:33 · 197 阅读 · 0 评论 -
BZOJ4503 两个串
没有传送门 因为是权限题 =.=利用卷积来做字符串匹配问题= =+如果我们现在有两个串 单纯要匹配它们我们可以怎么做呢?很明显是不可以的因为可能出现这种情况aabbbbaa两个部分抵消掉了=.=我们如何处理这样的问题呢?平方!这样子就好多了qwq然后我们来处理通配符 通配符设为0然后乘上去就可以啦qwq是不是非常优秀 = =+然后我们回归原题...原创 2018-12-26 15:36:10 · 159 阅读 · 0 评论 -
BZOJ4259 残缺的字符串
没有传送门 = =跟上一个题一样 请戳链接唯一的变化就是柿子稍微一改然后没啥了注意翻转的位置要改。。。所以不如翻那个不需要改的= =+#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#d...原创 2018-12-26 16:01:49 · 272 阅读 · 0 评论 -
【学习笔记】之多项式使人头秃
真的自闭= =多项式是什么鬼哦 首先 介绍 FFT我才不想写那么多柿子呢大体说一下FFT干了啥我们对两个多项式进行卷积(即多项式乘法) 也就是 暴力计算的话是n^2的我们考虑把它变成点值[即(x,y)表示f(x)=y] 点值相乘就快了嘛 但是变成点值了以后咋变回来呢有个叫傅里叶的nb的人 他发明了一个nb的东西叫傅里叶变换= =也就是通过 虚数中的单位根...原创 2018-12-10 11:40:14 · 341 阅读 · 0 评论 -
BZOJ4269 再见xor
考前挣扎线性基裸题mx直接求 次大直接从低到高枚举第一个非0位然后次大就是异或上就行了【显然贪心呐qwq不到800b可还行//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 2...原创 2019-01-18 20:25:08 · 190 阅读 · 0 评论