Hdu 2256 Problem of Precision

MATLAB小白也能搞定!BCT脑网络分析工具箱安装与入门指南 本文为零基础用户提供了一份详尽的BCT脑网络分析工具箱安装与入门指南。从MATLAB环境配置、BCT工具箱下载与路径添加,到连接矩阵构建、节点度与聚类系数等基础指标计算,手把手带领神经科学研究者跨越编程门槛,快速掌握脑影像数据分析的核心流程。 阅读详情

Problem of Precision

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 614    Accepted Submission(s): 344


Problem Description

 

Input
The first line of input gives the number of cases, T. T test cases follow, each on a separate line. Each test case contains one positive integer n. (1 <= n <= 10^9)
 

Output
For each input case, you should output the answer in one line.
 

Sample Input
  
3 1 2 5
 

Sample Output
  
9 97 841
 

Source
 

Recommend
lcy


参考别人的解题思路,写的代码,感觉他的解题思路写的很清晰。下面便是他的解题思路:
解题思路原文
这个题目用快速幂+fmod是AC不了的,应该是浮点数精度的原因,推导的过程都体现在图上了,剩下的工作就是二分矩阵求解了。

  此外,在计算完x[n]和y[n]之后不能直接用(x[n]+(int)(y[n]*sqrt(6.0)))24来得到最后的结果的,先取整再模和先模再取整的结果是不一样的这一点举个例子就比较容易看出来了。

   比如(2000*1.372)00,这样先乘再取模得到的结果就是744,如果先把2000模1000,显然最后结果就是0了。

#include<stdio.h>

int Matrix[3][3];
int tmp1[3][3],tmp2[3][3];

void fun(int n)                         //求矩阵的快速幂
{
    int i,j,k;
    n-=2;
    Matrix[1][1]=tmp1[1][1]=5;
    Matrix[1][2]=tmp1[1][2]=12;
    Matrix[2][1]=tmp1[2][1]=2;
    Matrix[2][2]=tmp1[2][2]=5;
    while(n)
    {
        if(n%2)
        {
            for(i=1;i<=2;i++)
                for(j=1;j<=2;j++)
                    tmp2[i][j]=Matrix[i][j];
            for(i=1;i<=2;i++)
                for(j=1;j<=2;j++)
                {
                    Matrix[i][j]=0;
                    for(k=1;k<=2;k++)
                        Matrix[i][j]=(Matrix[i][j]+tmp1[i][k]*tmp2[k][j])24;
                }
        }
        n/=2;
        for(i=1;i<=2;i++)
            for(j=1;j<=2;j++)
                tmp2[i][j]=tmp1[i][j];
        for(i=1;i<=2;i++)
            for(j=1;j<=2;j++)
            {
                tmp1[i][j]=0;
                for(k=1;k<=2;k++)
                    tmp1[i][j]=(tmp1[i][j]+tmp2[i][k]*tmp2[k][j])24;
            }
    }
}

int main(void)
{
    int T,n;
//    freopen("d:\\in.txt","r",stdin);
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        fun(n);
        if(n==1)                                         //n==1属于特殊情况
            printf("9\n");
        else
            printf("%d\n",(2 * (Matrix[1][1]*5+Matrix[1][2]*2 )-1)24);

    }
    return 0;
}


FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma) 网口stmmac报错调试(Failed to reset the dma) 阅读详情

相关推荐

别再死记硬背了!用一张时序图彻底搞懂Setup和Hold检查的本质

本文深入解析数字IC设计中的Setup和Hold时序检查原理,通过波形图直观展示数据在触发器间的传递过程。详细讲解Setup检查为何关注前一周期的数据,Hold检查为何关注同一周期的数据,并提供实际设计中的考量因素和修复策略,帮助工程师彻底理解时序检查的本质。

weixin_29927965的博客 363

HDU2256 Problem of Precision

矩阵快速幂

a free man 571

wireshark抓包分析TCP协议和用Fiddler抓包Https分析

wireshark抓包分析TCP协议和用Fiddler抓包Https分析 1.实验说明: 以某种游戏的客户端连接服务器、断开服务器为例,用wireshark抓包分析TCP协议的三次握手连接、四次握手断开,与计算机网络原理进行验证;用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 2.实验过程: wireshark实验: (1)实验准备:安装《洛克王国》游戏客户端, 运行洛克王国客户端,打开内存资源管理器查看PID 根据PID查看洛克王国服务端的IP地址和端口号 并打开命令行运行以下命令: n

qq_42032327的博客 1256

HDU 2256 Problem of Precision(矩阵快速幂)

题目地址:HDU 2256 思路: (sqrt(2)+sqrt(3))^2*n=(5+2*sqrt(6))^n; 这时要注意到(5+2*sqrt(6))^n总可以表示成an+bn*sqrt(6); an+bn*(sqrt(6))=(5+2*sqrt(6))*(a(n-1)+b(n-1)*sqrt(6))                         =(5*a(n-1)+12*b(n-

scf0920 1570

LD分析实战:基于Plink和R的连锁不平衡计算与可视化全流程

本文详细介绍了基于Plink和R的连锁不平衡(LD)分析全流程,包括基因型数据预处理、LD计算参数设置及结果可视化技巧。通过实战案例解析PLINK文件格式转换、r²值计算关键参数,并展示如何使用ggplot2绘制高质量LD热图,帮助研究人员高效完成基因组关联分析。

weixin_29074295的博客 319

vue3:实现ECharts3D地图详细示例,echarts实现3D地图map3D,vue3如何利用echarts绘制3d地图立体城市省市地区分布,可视化数据大屏3D炫酷中国地图(复制源码,开箱即用)

echarts实现中国地图记录篇之3D地图,Echarts地图之——如何让地图显示出3d感,【3d地图】vue中使用echarts geo3D,echarts实现某个市3D地图展示,vue3中使用echarts实现中国地图,3D地图图表,echarts实现3D地图——map3D,数据大屏3d地图,vue3+echarts绘制中国地图,3D地图,省、市、县,【3d地图】vue3中使用echarts geo3D,echarts实现某个市3D地图展示,ECharts3D地图(详细示例——附有具体注释),echar

✅ 精选推荐文章 3669

HDU 2256 Problem of Precision

题意: 思路: 打表出前几项的结果:9,97,969,9601,95049,940897 用x表示(sqrt(2.0)+sqrt(3.0))^2 先求出 x = 5+2*sqrt(6.0) -> (5*2-1)%1024=9 x^2 = 49+20*sqrt(6.0) -> (49*2-1)%1024=9...

bancaidun1539的博客 110

ncode控件使用总结

数据格式txt转s3t #HEADER #TITLES Absolute_Time,COG_Ax,COG_Ay,COG_Az,LF_SPINDLE_AZ #UNITS ,g,g,g,g, #DATATYPES Double,Float,Float,Float,Float #DATA 2. 导入s3t数据 3. 输入数据控件 直接拖入数据源或者添加控件数据 4.

技术联盟 2005

HDU 2256 Problem of Precision (矩阵快速幂)

HDU 2256 A Simple Math Problem (矩阵快速幂) ACM 题目地址:HDU 2256 Problem of Precision 题意:  给出一个式子,求值。 分析:  推起来最后那步会比较难想。  具体过程见:    表示共轭只听说过复数的和图的...  这构题痕迹好明显...  跟基友开玩笑说:如果遇到这种题,推到Xn+Yn*s

水果君の日常 2439

【变化检测】变化检测相关数据集+代码+论文合集

光学影像变化检测领域数据集(有label的,无label的)、高光谱影像变化检测领域数据集、3D变化检测领域数据集、传统变化检测算法、深度学习变化检测算法、SAR变化检测算法、高光谱变化检测算法论文及代码等资源。

向上生长的程序媛的博客 2088

系统安装(kuntaiR522 kvm安装)

鲲泰R522服务器kvm安装rocky

weixin_46396917的博客 1820

hdu 2256 Problem of Precision

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2256

Abner 974

Amazon SES 移出沙盒完整指南 & 高通过率模板

AWS SES沙盒模式转正式模式申请指南 申请正式模式需通过AWS审核,常见被拒原因包括邮件用途不清晰、缺少退订机制或发送量不合理。人工申诉需登录AWS Support Center提交服务限额提升请求,填写详细的公司信息、邮件用途及合规措施。 高通过率申诉模板需包含: 公司信息:名称、网址及与AWS的合作情况。 邮件规范:明确类型(交易/营销)、退订链接及退信处理机制。 发送计划:合理预估发送量,确保合规。 关键点:真实信息、用途清晰、退订机制完善、发送量合理。首次被拒可修改后重新提交。

xianyinsuifeng的博客 327

HDU 2256 Problem of Precision 构造矩阵

Problem of Precision Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 948    Accepted Submission(s): 554 Problem Description   In

小人物的草稿本 907

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU 2256 Problem of Precision(矩阵快速幂 数论 )

HDU 2256 Problem of Precision(矩阵快速幂 数论 )

1230

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

HDU - 2256 Problem of Precision

Description   Input The first line of input gives the number of cases, T. T test cases follow, each on a separate line. Each test case contains one positive integer n. (1  

那些年 755

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Hdu 2256 Problem of Precision[矩阵快速幂 + 数学]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2256 题目的意思很简单粗暴。

990

【ICPC-238】hdu 2256 Problem of Precision

点击打开hdu 2256 思路: 矩阵快速幂 分析: 1 题目要求的是(sqrt(2)+sqrt(3))^2n %1024向下取整的值 3 这里很多人会直接认为结果等于(an+bn*sqrt(6))%1024,但是这种结果是错的,因为这边涉及到了double,必然会有误差,所以根double有关的取模都是错误的思路 代码: /**************...

藏经阁 | 玄苦 2666

hdu2256 Problem of Precision(矩阵快速幂)

题意: 给定n,要求计算: ⌊(2+3)2n⌋%1024\lfloor(\sqrt{2}+\sqrt{3})^{2n}\rfloor \%1024⌊(2​+3​)2n⌋%1024 数据范围:n<=1e9

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 209

HDU_2256_Problem of Precision

Problem of Precision Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1159    Accepted Submission(s): 688 归纳推理+矩阵快速幂; Problem Descriptio

梦载代码 393

[hdu2256][矩阵乘法]Problem of Precision

http://acm.hdu.edu.cn/showproblem.php?pid=2256 sol: 容易得到(int)(Xn+Yn*sqrt(6))%1024的式子,然而这个式子不够。 对其进行转化后能变成2xn-1(找规律选手) 下面是一份写的不错的题解 引用自http://blog.youkuaiyun.com/chenguolinblog/article/details/102...

Gzb1128的栖息地 224

[HDU2256]Problem of Precision

题目大意: #include #include #include #include #include #include using namespace std; struct Matrix { int element[2][2]; }; int n, kase; Matrix a, b; Matrix MUL(Matrix a, Matrix b) {

然而据说 629
上一篇: Hdu 2276 Kiki & Little Kiki 2
下一篇: Hdu 1757 A Simple Math Problem
Magic_____
博客等级 码龄14年 11粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值