BZOJ 4204 && BZOJ 2510 循环矩阵
n^3logn非常显然。所以要用一种因为这个矩阵是一个循环矩阵,所以只要知道第一行就可以知道所有行了。 C[i][j]=C[i-1][j-1];
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int Maxn=;
int n,m,k;
struct Matrix{double a[Maxn];}Ori,Bas,Ans;
inline Matrix operator * (Matrix A,Matrix B)
{
Matrix C; memset(C.a,,sizeof(C.a));
for (int i=;i<=n;i++)
for (int j=;j<=n;j++) C.a[i]+=A.a[j]*B.a[(i-j+n+)%n==?n:(i-j+n+)%n];
return C;
}
inline Matrix Pow(Matrix Base,int Exp)
{
Matrix Ret; memset(Ret.a,,sizeof(Ret.a)); Ret.a[]=;
while (Exp)
{
if (Exp&) Ret=Ret*Base;
Base=Base*Base; Exp>>=;
}
return Ret;
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
for (int i=;i<=n;i++) scanf("%lf",&Ori.a[i]);
Bas.a[]=(double)(m-)/(double)m;
Bas.a[]=/(double)m;
Bas=Pow(Bas,k);
Ans=Bas*Ori;
for (int i=;i<=n;i++) printf("%.3lf\n",Ans.a[i]);
return ;
}
C++
C[1][i]=A[1][k]*B[k][i]; 就可以转换为 C.a[1][i]=A[1][k]*B[1][i-k+1];
类似题目:POJ 3150 HDU 2276 HDU 4576
BZOJ 4204 && BZOJ 2510 循环矩阵的更多相关文章
- bzoj 2510: 弱题 循环矩阵
2510: 弱题 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 124 Solved: 61[Submit][Status][Discuss] De ...
- 【BZOJ 2510】 2510: 弱题 (矩阵乘法、循环矩阵的矩阵乘法)
2510: 弱题 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 374 Solved: 196 Description 有M个球,一开始每个球均有一 ...
- bzoj 2510: 弱题 概率期望dp+循环矩阵
题目: Description 有M个球,一开始每个球均有一个初始标号,标号范围为1-N且为整数,标号为i的球有ai个,并保证Σai = M. 每次操作等概率取出一个球(即取出每个球的概率均为1/M) ...
- 【循环矩阵乘优化DP】BZOJ 2510 弱题
题目大意 有 \(M\) 个球,一开始每个球均有一个初始标号,标号范围为 \(1\) - \(N\) 且为整数,标号为 \(i\) 的球有 \(a_i\) 个,并保证 \(\sum a_i = M\) ...
- BZOJ 4818 [Sdoi2017]序列计数 ——矩阵乘法
发现转移矩阵是一个循环矩阵. 然后循环矩阵乘以循环矩阵还是循环矩阵. 据说还有FFT并且更优的做法. 之后再看吧 #include <map> #include <cmath> ...
- LA 3704 (矩阵快速幂 循环矩阵) Cellular Automaton
将这n个格子看做一个向量,每次操作都是一次线性组合,即vn+1 = Avn,所求答案为Akv0 A是一个n*n的矩阵,比如当n=5,d=1的时候: 不难发现,A是个循环矩阵,也就是将某一行所有元素统一 ...
- UVA 1386 - Cellular Automaton(循环矩阵)
UVA 1386 - Cellular Automaton option=com_onlinejudge&Itemid=8&page=show_problem&category ...
- hihocoder 1388 fft循环矩阵
#1388 : Periodic Signal 时间限制:5000ms 单点时限:5000ms 内存限制:256MB 描述 Profess X is an expert in signal proce ...
- UVaLive 3704 Cellular Automaton (循环矩阵 + 矩阵快速幂)
题意:一个细胞自动机包含 n 个格子,每个格子取值是 0 ~ m-1,给定距离,则每次操作后每个格子的值将变成到它距离不超过 d 的所有格子在操作之前的值之和取模 m 后的值,其中 i 和 j 的距离 ...
随机推荐
- UI测试 错题分析
从服务器端获取的json对象,可以直接访问对象中的属性 该属性的作用就是C text属性显示节点文本,state属性默认为open 看错行 不能用 ' ' 包裹 state:节点状态,'open' ...
- discuz被别人评论一段代码,然后页面就变样了
ۣۣۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖۖ ...
- python类中super()和__init__()的区别
class Base(object): def __init__(self): print 'Base create' class childB(Base): def __init__(sel ...
- 解决VS2015安装Android SDK 后文件不全及更新问题
近日安装VS2015专业版后.想进行Android开发,就新建了一个Blank app 结果报[值不能为空 null 参数名:path1] 1:首先检查工具 xamarin 工具那设置的SDK路径对不 ...
- iOS安全相关学习资料
https://github.com/zhengmin1989/iOS_ICE_AND_FIRE (冰与火代码) http://weibo.com/zhengmin1989?is_hot=1 (蒸米 ...
- web网站 Vs 移动App 谁更能打动你?之 产品经理篇
从web1.0到web2.0,由单调变为丰富——无论是内容,呈现,还是用户交互,当我们(接触互联网只有五六年的人)可能还沉浸在这绚丽多彩,啧啧称奇web交互体验之中,移动App不知道在什么时候已经悄然 ...
- Sql语句复习
1.两张表A,B 其中A表中字段1,字段2,字段3要迁移到B表中字段4,字段5,字段6,迁移后B表的字段7 全赋值为123: insert into B(字段4,字段5,字段6,字段7) select ...
- jQuery使用ajaxSubmit()提交表单示例
ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先引入这个插件.如下所示: 代码如下: <script src=" ...
- 算法练习之leetcode系列1-3
1.Reverse Words in a String public class Solution { public String reverseWords(String s) { String re ...
- vs调试时启动多个Development Server
环境:一个解决方案下面有多个项目,当调试其中一个项目时,其他项目也会开启服务,在右下角显示多个图标. 解决方法:选中不想启动的项目,按F4,然后把“总是在调试时启动”设置为Fasle.这样就搞定了.