
矩阵
zhouyuyang233
此乃ZJ之蒟蒻也
望大牛勿喷
我等蒟蒻感激不尽
展开
-
bzoj1297: [SCOI2009]迷路
传送门 T这么大,N这么小,普通做法绝对T。 但我们发现每一次转移方式相同。 于是考虑矩乘。 我们可以先拆点,将一个点化为9个,状态是(位置,时间) 注意,虽然他们可能还在路上,但是我们可以连到时间为k-1的地方,连权值为1的边。 同一个店时间相差1的连边。 答案就是f[S][T]#include<iostream>#include<cmath>#include<cstdio>#原创 2017-04-18 18:12:14 · 498 阅读 · 0 评论 -
bzoj1494: [NOI2007]生成树计数
传送门 将k个点的连通性用最小表示法压成状态,那么最多有52种状态 最小表示法中,f[i]表示最小的与其联通的点编号。 计算出每个状态的生成树个数,作为初始行向量A 对于每种状态考虑新加入一个点并向这k个点连边,每种连法可以转移到哪些状态,得到转移矩阵B 那么答案就是A∗Bn[所有点都连通的状态] 就是代码炒鸡长。#include<cmath>#include<cstdio>#inc原创 2017-05-02 14:57:39 · 643 阅读 · 0 评论 -
bzoj1344: [Baltic2007]Connected Points连点
传送门 插头dp+矩乘优化。 首先大力yy一波这道一定是插头dp 发现状态只有6个。 大概就是这样。(求轻喷) 然后大力人脑转移。(大约30min)的样子。 发现这种东西灰常资辞矩乘优化。 然后就写好了。#include<cmath>#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#inc原创 2017-05-24 20:45:19 · 357 阅读 · 0 评论 -
bzoj1409: Password
传送门 其实题目就是求p^F[n] 发现p,q互质,于是我们开心的大力用欧拉函数和矩阵快速幂 据说暴力求欧拉函数会被卡?#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>#define ll long long#define N原创 2017-05-25 20:53:31 · 421 阅读 · 0 评论 -
bzoj1898: [Zjoi2005]Swamp 沼泽鳄鱼
传送门 首先我们发现lcm(2,3,4)=12很小 于是我们预处理出12个时刻内所有合法转移 然后我们大力矩阵乘法就可以了。#include<cstring>#include<cmath> #include<cstdio> #include<iostream> #include<cstdlib> #include<algorithm>#define ll long lo原创 2017-07-08 21:59:42 · 317 阅读 · 0 评论