当前位置: 首页 > news >正文

设计网站官网狗/市场营销平台

设计网站官网狗,市场营销平台,哪个商城网站建设好,亚马逊关键词题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1005 题目大意&#xff1a; 给你一个递推公式&#xff0c;求出第n项。由于某项可能太大&#xff0c;所以取余7 解题思路&#xff1a; 矩阵二分幂的经典运用。 代码如下&#xff1a; #include<iostream&g…

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005

题目大意:

给你一个递推公式,求出第n项。由于某项可能太大,所以取余7

解题思路:

矩阵二分幂的经典运用。


代码如下:

#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include<climits>
using namespace std;#define CLR(arr, what) memset(arr, what, sizeof(arr))
typedef long long LL;
const LL Size = 3;
const LL MOD = 7; //取余class Matrix67
{
public:Matrix67(const LL ff1, const LL ff2, const LL aa, const LL bb, const LL cc, const LL nn); //构造函数void copymat(LL mata[Size][Size], LL matb[Size][Size]); //矩阵复制:后->前void binary(LL n); //矩阵二分幂:次数void multiply(LL mata[Size][Size], LL matb[Size][Size]); //矩阵连乘LL result(); //打印结果private:LL f1, f2, a, b, c, n;LL mat[Size][Size], temp[Size][Size], mid[Size][Size]; //二分幂、递推、单位矩阵
};Matrix67::Matrix67(const LL ff1, const LL ff2, const LL aa, const LL bb, const LL cc, const LL nn)
{CLR(mat, 0); CLR(temp, 0); CLR(mid, 0);f1 = ff1, f2 = ff2, a = aa, b = bb, c = cc, n = nn;mat[0][1] = aa, mat[1][0] = 1, mat[1][1] = bb, mat[2][1] = 1, mat[2][2] = 1; //初始化单位矩阵temp[0][0] = ff1, temp[0][1] = ff2, temp[0][2] = cc; //初始化递推矩阵copymat(mid, mat);
}void Matrix67::copymat(LL mata[Size][Size], LL matb[Size][Size])
{for(int i = 0; i < Size; ++i)for(int j = 0; j < Size; ++j)mata[i][j] = matb[i][j];
}void Matrix67::binary(LL n)
{if(n == 1)return ;binary(n >> 1);multiply(mat, mat);if(n & 1) //奇次幂multiply(mat, mid);
}void Matrix67::multiply(LL mata[Size][Size], LL matb[Size][Size])
{LL sum, tempmat[Size][Size];for(int i = 0; i < Size; ++i){for(int j = 0; j < Size; ++j){sum = 0;for(int k = 0; k < Size; ++k)sum = (sum + mata[i][k] * matb[k][j]) % MOD;tempmat[i][j] = (sum + MOD) % MOD;}}copymat(mata, tempmat);
}LL Matrix67::result()
{if(n > 1){binary(n - 1);multiply(temp, mat);}return (temp[0][0] % MOD + MOD) % MOD; //temp[0][1]是f(n+1),注意~
}int main()
{LL a, b, n;while(scanf("%lld%lld%lld", &a, &b, &n) && a && b && n){Matrix67 m(1, 1, b, a, 0, n); //af(n-1)+bf(n-2),顺序调换~~printf("%lld\n",m.result() % MOD);}return 0;
}


http://www.jmfq.cn/news/4769623.html

相关文章:

  • 咖啡店网站首页怎么做/网络营销是干什么的
  • 深圳wap网站建设/湖北网站推广
  • 做海报图片去哪个网站找 知乎/南沙seo培训
  • 新乡网站设计公司/手机软文广告300字
  • 网站外地备案/关键词seo
  • 个人想做外贸怎么做/seo顾问合同
  • 怎么修改wordpress模版/seo推广服务
  • 深圳网站建设 独/免费google账号注册入口
  • 网友要求你帮助他在某网站做测试/厦门网站综合优化贵吗
  • 荔湾做网站/seo整站优化外包公司
  • 外包经验会影响后续找工作吗/seo入门培训教程
  • 查询公司的网站备案信息/怎样创建网站平台
  • 拼团购物网站怎么做/苏州网站维护
  • wordpress微信支付后开通会员/哈尔滨百度关键词优化
  • 深圳四站合一网站建设电话/百度seo搜索
  • 网站建设应用技术/广州中小企业seo推广运营
  • 网站建设公司 深圳信科/衡阳seo优化推荐
  • 潮州网站seo/市场调研方案怎么写
  • angularjs做网站案例/武汉网络营销公司排名
  • 做百度移动网站吗/百度电脑端网页版入口
  • 网站关键字设置格式/免费的网站推广软件下载
  • 网站建设详细的步骤有哪些/seo排名优化
  • 网站建设的步骤教程视频/网络游戏推广员
  • 网站阵地建设管理/免费建一级域名网站
  • 免费网站奖励自己的软件/竞价推广和信息流推广
  • 基督网站讲道新年做 新 造人/应用商店下载
  • 建站行业获客/考研比较厉害的培训机构
  • 介绍一学一做视频网站/营销管理制度范本
  • 网站做好怎么开始做推广/信息流广告优化师培训
  • 边坝网站制作/网络营销岗位有哪些