Online Judge    Online Exercise    Online Teaching    Online Contests    Exercise Author
F.A.Q
Hand In Hand
Online Acmers
Forum | Discuss
Statistical Charts
Problem Archive
Realtime Judge Status
Authors Ranklist C/C++/Java Exams
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
Virtual Contests
DIY | Web-DIY beta
Recent Contests
Author >
Mail Mail ()
Control Panel Control Panel
Sign Out Sign Out 2018百度之星复赛晋级名单出炉(增加20%晋级名额)~
Sequence Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others)
Total Submission(s): Accepted Submission(s): Problem Description
Let us define a sequence as below

  Your job is simple, for each task, you should output Fn module +.

Input
The first line has only one integer T, indicates the number of tasks. Then, for the next T lines, each line consists of integers, A , B, C, D, P, n. ≤T≤≤A,B,C,D≤≤P,n≤ Sample Input Sample Output Source
Multi-University Training Contest Recommend
chendu | We have carefully selected several similar problems for you:

分块矩阵快速幂

构造    0 1  0            fn-2            fn-1

c d  1     *       fn-1   =       fn

0 0 1              p/i              p/i

 //这题也是利用这个性质,比如p=16,
//那么:i按照p/(p/i)+1来递增,
//得到:1,2,3,4,5,6,9,17.
//滑动的区间中每个数对于p来说除数一样,比如【9,17)这部分对于16来说除数都是1, #include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
#define ll long long
const int mod =1e9+;
struct node{
ll a[][];
};
struct pp{
ll a[][];
};
ll num[];
ll num2[];
node juzheng(node p,node q)
{
node ans;
memset (ans.a,,sizeof ans.a);
for(int i=; i<=; i++)
for(int j=; j<=; j++)
for(int h=; h<=; h++)
ans.a[i][j] =(ans.a[i][j]+p.a[i][h]*q.a[h][j])%mod; return ans;
}
pp juzheng2(node z,pp q)
{
pp ans;
memset (ans.a,,sizeof ans.a);
ans.a[][]=(z.a[][]*q.a[][]+z.a[][]*q.a[][]+z.a[][]*q.a[][])%mod;
ans.a[][] =(z.a[][]*q.a[][]+z.a[][]*q.a[][]+z.a[][]*q.a[][])%mod;
ans.a[][] =(z.a[][]*q.a[][]+z.a[][]*q.a[][]+z.a[][]*q.a[][])%mod;
return ans;
} node juzheng_qsm(node q,int m)
{
node ans;
memset(ans.a,,sizeof(ans.a));
ans.a[][]=;ans.a[][]=;ans.a[][]=;
while(m)
{
if(m%==)
{
ans=juzheng(ans,q);
}
m=m/;
q=juzheng(q,q);
}
return ans;
} int main()
{
int n;
scanf("%d",&n);
while(n--)
{
ll A,B,C,D,p,n;
memset(num2,,sizeof num2);
scanf("%lld%lld%lld%lld%lld%lld",&A,&B,&C,&D,&p,&n);
if(n<=) {printf("%lld\n",n==?:B);continue;}
ll cnt=;
ll temp=-; pp S;
S.a[][]=A;
S.a[][]=B;
S.a[][]=;
node san;
memset(san.a,,sizeof san.a);
san.a[][]=;
san.a[][]=C; san.a[][]=D; san.a[][]= san.a[][]=;
ll L=min(p,n);
ll i;
for( i=;i<=L;i=min(L,p/(p/i))+)
{
S.a[][]=p/i;
S=juzheng2(juzheng_qsm(san,min(n,p/(p/i))+-i),S);
} if(--i<n)
{
S.a[][]=;
S=juzheng2(juzheng_qsm(san,n-i),S);
} cout<<S.a[][]<<endl; }
return ;
}

hdu6395 (矩阵快速幂+分块)的更多相关文章

  1. HDU-6395 多校7 Sequence(除法分块+矩阵快速幂)

    Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  2. [hdu-6395]Sequence 分块+矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395 因为题目数据范围太大,又存在递推关系,用矩阵快速幂来加快递推. 每一项递推时  加的下取整的数随 ...

  3. HDU6395 Sequence(矩阵快速幂+数论分块)

    题意: F(1)=A,F(2)=B,F(n)=C*F(n-2)+D*F(n-1)+P/n 给定ABCDPn,求F(n) mod 1e9+7 思路: P/n在一段n里是不变的,可以数论分块,再在每一段里 ...

  4. 杭电多校第七场 1010 Sequence(除法分块+矩阵快速幂)

    Sequence Problem Description Let us define a sequence as below f1=A f2=B fn=C*fn-2+D*fn-1+[p/n] Your ...

  5. hdu 6395Sequence【矩阵快速幂】【分块】

    Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total ...

  6. HDU - 6395 Sequence (整除分块+矩阵快速幂)

    定义数列: $\left\{\begin{eqnarray*} F_1 &=& A \\ F_2 &=& B \\ F_n &=& C\cdot{}F_ ...

  7. HDU6395-Sequence 矩阵快速幂+除法分块 矩阵快速幂模板

    目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog Problem:Portal传送门  原题目描述在最下面. Solution ...

  8. HDU6395(分段+矩阵快速幂)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6395 给你一个式子,给出你A,B,C,D,P,n,让你求出第n项的式子Fn.(其中ABCDPn均在1e9的 ...

  9. BZOJ2326 [HNOI2011]数学作业(分块矩阵快速幂)

    题意: 定义函数Concatenate (1 ..N)是将所有正整数 1, 2, …, N 顺序连接起来得到的数,如concatenate(1..5)是12345,求concatenate(1...n ...

随机推荐

  1. MySQL-ISNULL()、IFNULL()和NULLIF()函数

    以下三个函数都可以用于where子条件,作为数据删除.更新的记录定位依据. 如: SELECT * FROM usergrade WHERE ISNULL(USERNAME); 一.ISNULL(ex ...

  2. P3440 [POI2006]SZK-Schools(费用流)

    P3440 [POI2006]SZK-Schools 每所学校$i$开一个点,$link(S,i,1,0)$ 每个编号$j$开一个点,$link(i,T,1,0)$ 蓝后学校向编号连边,$link(i ...

  3. 结巴库及词频统计bb

    下面是利用云图和结巴库完成词频统计.代码如下: # -*- coding:utf- -*- from wordcloud import WordCloud import matplotlib.pypl ...

  4. eclipse改jsp文件编码格式 统一设置

  5. XSS漏洞学习笔记

    XSS漏洞学习 简介 xss漏洞,英文名为cross site scripting. xss最大的特点就是能注入恶意的代码到用户浏览器的网页上,从而达到劫持用户会话的目的. 说白了就是想尽办法让你加载 ...

  6. Codeforces Global Round 1 解题报告

    A 我的方法是: #include<bits/stdc++.h> using namespace std; #define int long long typedef long long ...

  7. [math]本博客已经支持书写数学公式

    本博客已经支持mathjax格式公式 使用方法 使用方法单美元符号加单行公式. 使用方法双美元符号加多行公式. 展示 单行公式:\(x^2+2x+1=0\) 多行公式:\[x=\frac{{-b}\p ...

  8. Docker Swarm Mode 学习笔记(创建 Swarm 集群)

    Swarm 集群由管理节点与工作节点组成. 初始化集群 使用命令:docker swarm init 如果你的 Docker 主机有多个网卡, 拥有多个 IP 地址, 必须使用 --advertise ...

  9. jquery.validator 手机号验证

    1.在input中加上mobile="true",maxlength="11" <label class="w170 control-label ...

  10. 销售及SAP销售业务方案思维导图

    销售: SAP销售方案: