Hdu 2256 Problem of Precision

Python爬虫实战:5分钟搞定慢慢买历史价格查询(附完整代码) 本文提供了一份Python爬虫实战指南,教你如何快速编写脚本自动查询慢慢买网站的商品历史价格。文章详细拆解了环境准备、接口分析、核心代码实现及常见问题应对,并附有完整代码,帮助读者将爬虫技术应用于日常比价,实现高效购物决策。 阅读详情

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;
}


C# MES通信从入门到精通(1)——串口传输文件 本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典! 阅读详情

相关推荐

近4000张真实城市场景行人数据集:YOLO训练实战指南

行人检测是计算机视觉在智能驾驶与机器人感知中的基础任务,其核心挑战在于模型对真实道路场景的鲁棒性——尤其在小目标、遮挡、光照变化及中国特有交通参与者(如外卖骑手、接娃家长)下的泛化能力。本文围绕轻量化、高覆盖、强落地性的近4000张实采图像,系统阐释如何构建面向YOLO系列模型的高质量训练数据集:从四维场景采样策略(光照-遮挡-尺度-姿态)出发,解析标注规范对检测精度的关键影响,并说明数据增强需服务于真实干扰源(雨痕、动态模糊、对比度衰减),而非盲目堆叠。该数据集专为已掌握YOLO训练流程的算法工程师、嵌入

weixin_32495691的博客 297

HDU2256 Problem of Precision

矩阵快速幂

a free man 571

基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战解析

本文详细解析了基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战方案。从环境搭建、驱动安装、双雷达配置、外参标定、时间同步到点云融合核心实现,全面介绍了技术要点与避坑指南,并提供了工程化部署与性能优化建议,助力开发者高效实现高精度点云合成应用。

ss78901的博客 1093

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

AOSP14 Launcher3——手势上滑关键类AbsSwipeHandler解析

通过精密的事件监听、状态管理和对系统动画 API 及 Launcher 内部组件的协调,实现了复杂而流畅的手势导航体验。它的抽象设计允许子类(如。是 Quickstep (Launcher3 的手势导航实现) 中处理。的核心逻辑抽象基类。这个非常核心且复杂的类。)定制特定的回家动画逻辑。好的,我们来深入分析。

Micheal_Yang's Blog 1519

企业网络架构设计:从内网到外网的无缝通信方案

本文详细解析了企业网络架构设计中的关键技术与实践方案,重点介绍了VLAN划分、OSPF路由优化、安全策略及无线网络集成等核心内容。通过OSPF多区域部署和链路聚合技术,实现内网到外网的无缝通信,提升企业网络性能与安全性。文章还提供了具体的配置示例和最佳实践,助力企业构建高效可靠的网络架构。

weixin_28331555的博客 623

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

【AI大模型应用开发实战】大型语言模型评估指南白皮书(LLM Eval)

近年来,大型语言模型(LLM)在自然语言处理领域取得了重大进展,例如 GPT-3 和 Chat-GPT。这些模型经过大型数据集的训练,在文本相关任务中表现出卓越的能力,甚至超越了人类。本文将简要介绍如何验证 LLMs 性能的评估指标。自然语言处理(NLP)是人工智能的一个领域,涉及计算机和人类语言之间的交互。NLP 的基本任务之一是语言建模 (LM),它涉及构建统计模型来分析和生成自然语言。LM 已成为推进机器语言智能的关键方法,使机器能够执行机器翻译、情感分析和对话系统等任务。

AI天才研究院 1011

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

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

水果君の日常 2439

基于泰勒展开改进的物理信息神经网络

基于泰勒展开改进的物理信息神经网络

天天酷科研的博客 502

YOLOv11改进策略【损失函数篇】| 替换激活函数为Mish、PReLU、Hardswish、LeakyReLU、ReLU6

在卷积神经网络中,激活函数通过在神经网络中引入非线性,使网络能够学习和逼近复杂函数,从而处理复杂的模式识别与分类问题。

Limiiiing的博客 2784

hdu 2256 Problem of Precision

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

Abner 974

YOLOv8【第十一章:视频追踪与流处理篇·第3节】匈牙利算法(Hungarian Algorithm)与 KM 算法匹配机制详解!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 443

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

1230

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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、付费专栏及课程。

余额充值