fuzhou 1692 Key problem ***
Problem 1692 Key problem
Accept: 103 Submit: 553 Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
Input
Output
Sample Input
Sample Output
Source
FOJ月赛-2009年3月--- Coral
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<cstdlib>
- using namespace std;
- #define N 102
- typedef __int64 LL;
- LL n,m,L,R,mod;
- LL f[];
- struct Matrix
- {
- LL mat[N][N];
- void ini()
- {
- memset(mat,,sizeof(mat));
- }
- void init()
- {
- for(LL i=;i<n;i++)
- for(LL j=;j<n;j++)
- if(i==j) mat[i][j]=;
- else mat[i][j]=;
- }
- void make_first()
- {
- for(LL i=;i<n;i++)
- {
- LL k1=(i+n-)%n;
- mat[i][k1]=R;
- LL k2=(i+)%n;
- mat[i][k2]=L;
- }
- }
- }M_hxl,M_tom;
- Matrix Multiply(Matrix &x, Matrix &y)
- {
- LL i, j, k;
- Matrix z;
- z.ini();
- for(k = ; k < n; k ++)
- if(x.mat[][k])
- {
- for(j = ; j < n; j ++)
- if(y.mat[k][j])
- z.mat[][j] = (z.mat[][j] + (LL)x.mat[][k] * y.mat[k][j]) % mod;
- }
- for(i = ; i < n; i ++)
- {
- z.mat[i][] = z.mat[i - ][n - ];
- for(j = ; j < n; j ++)
- z.mat[i][j] = z.mat[i - ][j - ];
- }
- return z;
- }
- void cs()
- {
- LL i,j;
- for(i=;i<n;i++)
- {
- printf("\n");
- for(j=;j<n;j++)
- printf("%I64d ",M_hxl.mat[i][j]);
- }
- printf("\n");
- }
- void power_sum2()
- {
- M_hxl.init();
- M_hxl.make_first();
- M_tom.init();
- cs();
- while(m)
- {
- if(m&)
- {
- M_tom=Multiply(M_tom,M_hxl);
- }
- m=m>>;
- M_hxl=Multiply(M_hxl,M_hxl);
- }
- for(LL i=;i<n;i++)
- {
- LL sum=;
- for(LL j=;j<n;j++)
- {
- sum=(sum+f[j]*M_tom.mat[i][j])%mod;
- }
- if(i==)printf("%I64d",sum);
- else printf(" %I64d",sum);
- }
- printf("\n");
- }
- int main()
- {
- LL T;
- while(scanf("%I64d",&T)>)
- {
- while(T--)
- {
- scanf("%I64d%I64d%I64d%I64d%I64d",&n,&m,&L,&R,&mod);
- for(LL i=;i<n;i++)
- scanf("%I64d",&f[i]);
- if(m==)
- {
- for(LL i=;i<n;i++)
- {
- if(i==)printf("%I64d",f[i]%mod);
- else printf(" %I64d",f[i]%mod);
- }
- printf("\n");
- continue;
- }
- power_sum2();
- }
- }
- return ;
- }
fuzhou 1692 Key problem ***的更多相关文章
- FZU 1692 Key problem( 循环矩阵优化 + 矩阵快速幂)
链接:传送门 题意: n个小朋友围成一个环( 2 <= n <= 100 )然后进行m次的游戏. 一开始,第 i 个小朋友有 Ai 个苹果. 定义游戏的规则为:每一次游戏处于 i 位置的小 ...
- 【BZOJ】【1640】【USACO2007 Nov】/【1692】【USACO2007 Dec】队列变换
后缀数组/贪心 每次从等待序列的头或尾拿出一个放到答案序列的末尾,那么每次贪心比较头和尾的字典序大小即可…… TAT贪心很好想,但是我一开始没想到是可以直接比较字符串大小……而是一位一位判的,WA了… ...
- Complexity and Tractability (3.44) - The Traveling Salesman Problem
Copied From:http://csfieldguide.org.nz/en/curriculum-guides/ncea/level-3/complexity-tractability-TSP ...
- HOJ题目分类
各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...
- Spring MVC 学习 -- 创建过程
Spring MVC 学习 -- 创建过程 Spring MVC我们使用的时候会在web.xml中配置 <servlet> <servlet-name>SpringMVC< ...
- SpringMVC源码剖析(三)- DispatcherServlet的初始化流程
在我们第一次学Servlet编程,学Java Web的时候,还没有那么多框架.我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转 ...
- Spring MVC 学习总结(一)——MVC概要与环境配置
一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务 ...
- SpringMVC解析3-DispatcherServlet组件初始化
在spring中,ContextLoaderListener只是辅助功能,用于创建WebApplicationContext类型实例,而真正的逻辑实现其实是在DispatcherServlet中进行的 ...
- Oracle常见的几种等待事件
1. CPU time CPU time其实不是真正的等待事件.是衡量CPU是否瓶颈的一个重要指标.一般来讲,一个良好的系统,CPU TIME 应该排在TOP 5 TIME Event的最前面. 当然 ...
随机推荐
- 《快学Scala》第四章 映射与元组
- 0基础浅谈反射型xss(2)
0x1:回顾前文疑惑“先闭合,在构造” 上一篇,我们说到了xss的一个触发精髓,“先闭合,在构造”,对于前面的先闭合,我们来简单的解释一下: 首先说,为什么要闭合? 因为HTML标签都是成对出现的 ...
- 白帽hacker酷炫小技能大盘点!
白帽子是谁? 他们与一行行代码打交道,在“0”和“1”的世界中寻找风险,在IT产业软硬件核心技术和代码等自主研发能力不足.安全防护手段滞后.地下黑客业务已形成产业链的背景下,我国网络安全正面临日益严峻 ...
- HTML5语义化标签总结
1.语义化标签总结 基础布局标签 <header></header> <nav></nav> <main></main> < ...
- 网络请求及各类错误代码含义总结(包含AFN错误码大全)
碰见一个很奇葩的问题, 某些手机在设置了不知什么后, 某些 APP 死活 HTTPS 请求失败, 例如以 UMeng 统计HTTP 请求失败为例, Log如下: UMLOG: (Error App ...
- keycloak ssl-required报错问题处理
两台主机,网段不同,第一台129.30.108.179/24 第二台172.16.160.92/24 都安装keycloak : docker run -d --name keycl ...
- QuantLib 金融计算——基本组件之 Index 类
目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...
- Collections.singletonList方法的使用
方法注释 /** * Returns an immutable list containing only the specified object. * The returned list is se ...
- Python使用浏览器模拟访问页面之使用ip代理
最近需要使用浏览器模拟访问页面,同时需要使用不同的ip访问,这个时候就考虑到在使用浏览器的同时加上ip代理. 本篇工作环境为win10,python3.6. Chorme 使用Chrome浏览器模拟访 ...
- Flask 数据库迁移
在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中. ...