HDU6395(分段+矩阵快速幂)】的更多相关文章

题目:http://acm.hdu.edu.cn/showproblem.php?pid=6395 给你一个式子,给出你A,B,C,D,P,n,让你求出第n项的式子Fn.(其中ABCDPn均在1e9的范围内) 分析: 如果Fn=C*F(n-2) + D*F(n-1) + num ; 我们就可以直接构造出这个斐波那契的矩阵快速幂 :写出相似的矩阵 1.f(n)=a*f(n-1)+b*f(n-2)+c:(a,b,c是常数) 但是这里的P/n 是变化的 , 我们无法转化出来 , 但是这里 P/n 是向…
实际上,对于位数相同的连续段,可以用矩阵快速幂求出最后的ans,那么题目中一共只有18个连续段. 分段矩阵快速幂即可. #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<queue> #include<cmath> #define ll long long using na…
http://acm.hdu.edu.cn/showproblem.php?pid=6395 Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1475    Accepted Submission(s): 539 Problem Description Let us define a sequence as belo…
题意: 已知\(A,B,C,D,P,n\)以及 \[\left\{ \begin{aligned} & F_1 = A \\ & F_2 = B\\ & F_n = C*F_{n-2} + D*F_{n-2}+\lfloor(\frac{P}{n})\rfloor \end{aligned} \right. \] ,求\(F_n \ mod\ (1e9e+7)\),\(n \leq 1e9\) 思路: 显然\(\lfloor(\frac{P}{n})\rfloor\)相同的情况是有…
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 LiveC…
题意: 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里是不变的,可以数论分块,再在每一段里用矩阵快速幂 debug了一下午.. 坑点: 1.数论分块的写法要注意,已更新 2.矩阵乘法在赋值回去的时候记得模一下 3.矩阵相乘不可逆,注意看一下 代码: #include<iostream> #include<cstdio> #include<algorithm> #…
Your job is simple, for each task, you should output Fn module 109+7. Input The first line has only one integer T, indicates the number of tasks. Then, for the next T lines, each line consists of 6 integers, A , B, C, D, P, n. 1≤T≤200≤A,B,C,D≤1091≤P,…
Sequence 题目传送门 解题思路 可以比较容易的推出矩阵方程,但是由于p/i向下取整的值在变,所以要根据p/i的变化将矩阵分段快速幂.p/i一共有sqrt(p)种结果,所以最多可以分为sqrt(p)段进行快速幂. 代码如下 #include <bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; typedef long long ll; inline int read(){ int res = 0, w = 0; char…
题目大意: F(1)=A, F(2)=B,  F(i)=C*F(i-2)+D*F(i-1)+p/i(向下取整) 给定A B C D p n 求F(n) 构造 矩阵A *   矩阵B        =          矩阵C ┌ F(n-2) F(n-1) 1  ┐   ┌ 0   C  0  ┐        ┌ F(n-1) F(n)   1   ┐ |      0 0   0    | *   |  1   D  0  |   =    |      0 0   0    | └ 0 …
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395 因为题目数据范围太大,又存在递推关系,用矩阵快速幂来加快递推. 每一项递推时  加的下取整的数随着n变化,但因为下取整有连续性(n一段区间下取整的数是相同的),可以分块,相同的用矩阵快速幂加速 想了好久..如果最小的开始的值是[p/i]的数为i,那连续的一段长度是[p/(p/i)]-i+1,但为什么分段数是根号n级别啊?... 套矩阵快速幂,时间复杂度O(sqrt(n) * log(n)) ⎧…