杭电多校第一场05 杭电6755:Fibonacci Sum【斐波那契通项公式】

学Simulink--复杂路况场景实例:基于Simulink的智能车辆高速公路行驶仿真(超车与车道变换) 本文详细介绍了基于Simulink的智能车辆高速公路超车仿真系统设计方法。系统包含多车道交通流建模、三层超车决策逻辑(触发条件、可行性检查、执行许可)、五次多项式变道轨迹规划以及横向纵向协同控制等核心模块。通过设定三车道场景(自车初始速度100km/h,前方慢车72km/h),演示了如何实现安全高效的左变道超车全过程(5秒完成3.75m横向移动),并验证了变道平滑性(最大横向加速度1.8m/s²)和安全距离(最小TTC 5.2s)。文章还强调了传感器融合的必要性,并提供了从交通流生成到控制器设计的完整Sim 阅读详情

题目

事先说一下:我是多校的时候ac的,比赛一停就当场换机子了,赛时是1800ms过的,赛后就TLE了,自己加速一下。

题目就是求斐波那契的:
在这里插入图片描述
这个题我和队友思索了很长时间,从各种性质到代换式子都不能解决。然后最后一点时间刚一下通项公式就做出来了。

通项公式: F n = ( 5 ) 5 ∗ ( ( 1 + ( 5 ) 2 ) n + ( 1 − ( 5 ) 2 ) n ) F_n=\frac {\sqrt(5)}{5}*((\frac{1+\sqrt(5)}{2})^n+(\frac{1-\sqrt(5)}{2})^n) Fn​=5( ​5)​∗((21+( ​5)​)n+(21−( ​5)​)n)
为了方便计算和理解让
a= 1 + ( 5 ) 2 \frac{1+\sqrt(5)}{2} 21+( ​5)​
b= 1 − ( 5 ) 2 \frac{1-\sqrt(5)}{2} 21−( ​5)​

k次方对吧,我们可以说 ( ( 5 ) F c ) k (\sqrt(5)F_c)^k (( ​5)Fc​)k的每一项是不是就是
C k i ∗ a i c b ( k − 1 ) ∗ c C_k^i *a^{ic}b^{(k-1)*c} Cki​∗aicb(k−1)∗c
然后发现 ( ( 5 ) F 2 c ) k (\sqrt(5)F_{2c})^k (( ​5)F2c​)k的每一项竟然是
C k i ∗ a i ∗ 2 c b ( k − 1 ) ∗ 2 c C_k^i *a^{i*2c}b^{(k-1)*{2c}} Cki​∗ai∗2cb(k−1)∗2c

对应每一项是不是 F 2 c F_{2c} F2c​都是 F c F_c Fc​的平方,然后类推出来一个结论:

对第i项( 0 < = i < = k 0<=i<=k 0<=i<=k):有一个等比数列,可以求前N项。
代码需要跑T*(K+1)次;

其实我是猜到要O(K)的。
为什么N、C都给了1e18范围,就K给了1e5?T是1e2,如果是O(T*K)时间就能过了,再加上20次常数,这不就是要求的2s吗?NC都不能直接一步一步算,所以一定会被压缩。我一开始想法是构造出来一个矩阵S。 S k S^k Sk就是题目要求的结果。但是失败了。于是想一下到底NC是log级别的压缩还是O(1)的压缩。

最后推出答案。代码如下:(常数可能比较大,杭电换了比比赛时候更慢的机子,不能直接交,草了)
code

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <climits>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <iomanip>
//
using namespace std;
const int INF = 0x3f3f3f3f;//1.06e9大小
const int mod = 1e9 + 9;
const long long mod2 = 998244353;
const long long mod3 = 1e9;
const double PI = 3.14159265;
const double eps =1e-8;
typedef unsigned long long ULL;
typedef long long LL;
#define ms(x, n) memset(x,n,sizeof(x))
#define debug printf("***debug***\n")
#define pii pair<int ,int>
#define X first
#define Y second
#define pb push_back
//以下define不能在团队赛中使用
#define rep(i,from,to) for(int i=from;i<=to;++i)
#define per(i,from,to) for(int i=from:i>=to;--i)
/*
*/
const int MAXN=1e5+20;
const int sq5=616991993;
int t,k,jcn[MAXN],jc[MAXN],a[MAXN],b[MAXN];// a、b二项式两个单元
LL n,c;
//jcn 阶乘逆元,jc 阶乘;
inline LL ksm(LL x,LL n)
{
	LL res=1;
	LL base =x;
	while(n)
    {
		if(n&1)res=res*base%mod;
		base=base*base%mod;
		n>>=1;
	}
	return res;
}

inline LL C(int n,int m)//组合
{
     return 1LL*jcn[n]*jc[m]%mod*jc[n-m]%mod;
}
int main()
{
    int t;
    cin>>t;
    jcn[0]=1;
    for(int i=1;i<=100000;++i)
    {
        jcn[i]=1LL*jcn[i-1]*i%mod;
    }
    jc[100000]=ksm(jcn[100000],mod-2);
    for(int i=100000;i;--i)
    {
        jc[i-1]=1LL*jc[i]*i%mod;
    }
    a[0]=b[0]=1;
    for(int i=1;i<=100000;++i)
    {
        a[i]=1LL*a[i-1]*(1+sq5)%mod*jc[2]%mod,b[i]=1LL*b[i-1]*(1-sq5+mod)%mod*jc[2]%mod;
    }
    while(t--)
	{
        scanf("%lld %lld %d",&n,&c,&k);
        LL ans=0;
        for(int i=0;i<=k;++i)
        {
            LL tmp=1LL*a[i]*b[k-i]%mod,res=0;
            tmp=ksm(tmp,c);
            if(tmp==1)
            {
                res=C(k,i)*(n%mod)%mod;
            }
            else
            {
                res=C(k,i)*((ksm(tmp,(n+1)%(mod-1))-tmp+mod)%mod)%mod*ksm(tmp-1,mod-2)%mod;
            }
            if(!((k-i)&1))(ans+=res)%=mod;
            else (ans+=mod-res)%=mod;
        }
        ans=ans*ksm(ksm(sq5,mod-2),k)%mod;
        printf("%lld\n",ans);
    }
    return 0;
}


USLE模型(1.2):LS因子的计算 基于USLE的甘南川西北土壤侵蚀研究。准备好30米分辨率的dem。 阅读详情

相关推荐

Comsol 压电换能器声场仿真(远场分析、边界元法优化)

本文详细介绍了在Comsol中使用边界元法进行压电换能器远场声场仿真的高效方法。针对传统有限元法计算远场时内存消耗大、耗时长的问题,文章阐述了边界元法在处理无限域、提升计算效率和精确获取远场指向性方面的核心优势,并提供了从多物理场耦合设置、网格划分策略到求解器配置及结果验证的完整实战指南。

weixin_29045585的博客 405

HDU - 6755 Fibonacci Sum【Fibonacci数列的幂和】

### [题目链接](http://acm.hdu.edu.cn/showproblem.php?pid=6755) - 题意:给定 $N,C,K$,求$({F_{0}}^K+{F_{C}}^K+{F_{2C}}^K+...+{F_{NC}}^K) \ mod\ 1e9+9$,其中$F_i$是 $Fibonacci$ 数列的第 $i$ 项。 --- ##### 思路: 三个前置知识: 1. $Fibonacci$ 数列的通项公式:$F_n=\frac{1}{\sqrt{5}}[(\frac{1+\sqr

L_X_ 370

ISP之LSC(Lens Shading Correction)

LSC - Lens Shading Correction即镜头暗影校正。

IQ_WXY的博客 5097

Fibonacci Sum(二项式求和)

这道题没写过类似的感觉确实不好想,考点在与二项式求和优化等式。特别是优化等式这里,是真的坑。 废话不多说,上推到过程: 因为: 可以有: 所以有二项式展开: 很明显竖起来是等比,所以这样就可以把复杂度变成klogn了; 然后可以得出公式S结果公式为: 由于需要mod1e9+9,所以可以由费马小定理可知变形为: qi的值和阶乘的值都可以预处理,但是你会发现如果直接带这个公式写出来就T了。这就是真的变态卡快速幂。。。。。。。。。 这是我超时的代码: #include<bits/stdc++.h.

qq_44555205的博客 2260

Fluent基于低氧舱气体交换仿真(氮气与空气混合)

一、背景概述 模拟低氧舱充氮气和排除混合气体的过程,假设注入95%的氮气,舱内原有气体为空气,压力为标准大气压,温度为300K。观察气体注入过程中,舱内平均氮气和氧气浓度的变化。 二、Fluent设置 Setup 1、General type选择压力基 绝对速度 瞬态 重力勾选 2、Model 能量方程开启 组分运输开启,设置方法如下: 选择后OK,view就会变成Edit,点击Edit。然后再次点击Edit。 将组分中的非氮气氧气和空气的气体移除,右边选项需要将空气放在最后一位。 3、Materi

qq_35535616的博客 1万+

DNA图谱分析:自动分析DNA图谱中的变异YOLOv5、YOLOv8、YOLOv10

YOLO(You Only Look Once)是一种基于卷积神经网络(CNN)的目标检测模型,因其高效的检测速度和优异的精度而广泛应用于计算机视觉任务。一次性检测:与传统的目标检测方法不同,YOLO通过回归方法同时预测多个边界框和类别信息,从而实现高效的目标检测。高精度与高速度:YOLO在检测精度和速度之间找到了平衡,适用于实时目标检测任务。

YOLO 730

HDU - 6755 Fibonacci Sum(斐波那契+二次剩余+二项式定理)

传送门 对于斐波那契问题,一般想到的解法是递推或者矩阵快速幂,但是本题数据非常之大,怎么做都超时,临时想了一下斐波那契的公式,觉得这个浮点误差很大没法写,实际上可以写但是要用到很多知识,本题的总结收获不少(唯一难受的是代码优化能做的都做了自己写的还是超时) 首先给出斐波那契数列的公式: F(n)=15[(1+52)n−(1−52)n]F(n)=\frac{1}{\sqrt{5}}[(\frac{1+\sqrt{5}}{2})^n-(\frac{1-\sqrt{5}}{2})^n]F(n)=5​1​[(21

Happig的博客 509

《四》:LBE,VR 大空间系列——Pico的空间扫描方式

(这里有个选项叫高精度扫描模式,这个功能在下方详细补充)系统会根据绘制的顶点,将区域分割成若干个4X4米的小方格,我们只需要根据提示,首先进入一个方格子空间内部,然后依次凝视每个区域上下左右前后六个面的小方格组,每一面4个,直至全部消失, 消失后地面会出现一个方形行走路径,我们沿着边缘正或反走一圈即可,完成后此块区域即自动消失。不过由于pico有一个高精度扫描圈,如图加粗的圆环,这个圆环的意思是在在内部的区域扫描精度较高,越远离原点的区域误差越大,所以为了更有效的利用,建议原点设置在场地中心区域。

unitygroup的博客 2882

【杭电多校2020】Fibonacci Sum【斐波拉契通项】【推式子】

题意:设FiF_iFi​为斐波拉契数列,求 ∑i=0N(FiC)k\sum_{i=0}^N(F_{iC})^ki=0∑N​(FiC​)k 模109+910^9+9109+9 N,C≤1018,k≤105N,C\leq10^{18},k\leq10^5N,C≤1018,k≤105 把斐波拉契暴力拆开 FiC=15[(1+52)iC−(1−52)iC]F_{iC}=\frac 1 {\sqrt{5}}[(\frac {1+\sqrt{5}}2)^{iC}-(\frac {1-\sqrt{5}}2)^{iC}]F

Lstdo的博客 690

一步步教你使用 NVIDIA 推出的全新GPU加速求解器 cuOpt:解锁超高效率的求解体验

未完成

Linshaodan520的博客 869

OpenClaw 生成测试用例

OpenClaw 只是躯干,Skills 才是灵魂。很多同学觉得 OpenClaw 没用,就像是买了一台顶级电脑却没装操作系统。通过这四步走,不仅可以学会如何让 AI 干活,更重要的是,可以学会如何管理 AI 的能力。

十二测试录 737

杭电多校第一场 1005 Fibonacci Sum(二次剩余,等比数列)

Fibonacci Sum题意思路二次剩余二项式定理特判q=1求二次剩余代码题解 Fibonacci Sum 题意 给定N,C,K,求 Fi为斐波那契数列 定义为 结果模1e9+9 思路 二次剩余 我们知道斐波那契数列通项公式为 为了能表示5\sqrt{5}5​ 我们要用到二次剩余定理。 大概的意思就是解X2=n(mod p),n和p已知,X为n\sqrt{n}n​ 模p意义下的整数。 就和逆元的意义相似。 文章下方给出求二次剩余的代码。 可以不必理解原理,只要会用就行。原理此处不详述。 求出5\sq

离开那天的博客 353

提示工程架构师干货:AI上下文工程在社交媒体舆情溯源中的应用

在舆情溯源中,“上下文”不是单一的“文本内容”,而是多维度、多源的信息集合溯源时间:从事件爆发到找到源头,只用了24小时(传统方法需要3-5天);溯源准确性:100%(通过人工验证确认);后续行动:品牌X发布了澄清声明,揭露了品牌Y的恶意行为,舆情在48小时内平息。社交媒体舆情溯源是一个“复杂的系统工程”,需要结合数据、模型、上下文理解。AI上下文工程的出现,让我们从“被动应对”转向“主动溯源”,从“模糊判断”转向“精准分析”。

Java大师兄的博客 812

HDU6755.Fibonacci Sum

HDU6755.Fibonacci Sum(二次剩余) 思路:fibnaccifibnaccifibnacci二次剩余转等比数列求和。 由fibonaccifibonaccifibonacci公式:Fn=15×[(5+12)n−(5−12)n]F_n=\dfrac{1}{\sqrt{5}}\times [(\dfrac{\sqrt{5}+1}{2})^n-(\dfrac{\sqrt{5}-1}{2})^n]Fn​=5​1​×[(25​+1​)n−(25​−1​)n] 令a=(5+12)n,b=(5−12)n

Harris-H的博客 794

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

hdu6755 Fibonacci Sum(二项式定理)

题目链接:点击这里 题目大意: 给定正整数 n,c,kn,c,kn,c,k 求: ∑i=0nF(ic)kmod  1e9+9\sum_{i=0}^nF(ic)^k \mod 1e9+9i=0∑n​F(ic)kmod1e9+9 其中 F(i)F(i)F(i) 为斐波那契数列的第 iii 项 题目分析: 我们知道斐波那契数列的通项如下: F(n)=15((1+52)n−(1−52)n)F(n) = \frac 1 {\sqrt 5}((\frac{1+\sqrt5} 2)^n-(\frac {1-\sqrt 5

羊驼的博客 318

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HDU 6755 Fibonacci Sum (二项式定理+预处理) 2020杭电多校第一场

原题题面 The Fibonacci numbers are defined as below: F0=0,F1=1F_0=0,F_1=1F0​=0,F1​=1 Fn=Fn−2+Fn−1(n>1)F_n=F_{n-2}+F_{n-1}(n>1)Fn​=Fn−2​+Fn−1​(n>1) Given three integers NNN, CCC and KKK, calculate the following summation: (F0)K+(FC)K+(F2C)K+(F3C)K...+(

因为一无所有,所以拥有无限可能。 1670

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

1005.Fibonacci Sum(杭州电子科技大学2020学习总结)

思路:首先要知道斐波那契数列的通向公式为 利用这个公式计算会简便很多,可以设D=根号五分之一,A=二分之根号五加一,B=二分之一减根号五,则Fn的K次方可利用二项式定理,得到图中的公式 。发现公式在i取不同值时,有对应的等比数列,求它们的和就行了。注意当公比为1时要特殊判断。 看了这篇文章才理解的,里面也讲了优化的办法https://blog.youkuaiyun.com/oampamp1/article/details/107508328 代码仿造题解写得,有微小的改动。 #include <bits...

xiaotutuyahttp_的博客 582

[HDU6755]Fibonacci Sum

题意 定义Fibonacci 数列: F0=0,F1=1Fn=Fn−1+Fn−2 (n>1) F_0=0,F_1=1\\ F_n=F_{n-1}+F_{n-2}\ (n>1) F0​=0,F1​=1Fn​=Fn−1​+Fn−2​ (n>1) 给定整数N,c,kN,c,kN,c,k,求 ∑n=0NFnckmod  109+9 \sum_{n=0}^NF_{nc}^k\mod{10^9+9} n=0∑N​Fnck​mod109+9 N,c≤1018,k≤105N,c\le1

BeNoble_的博客 1734

【2020年杭电暑假第一场】6755 Fibonacci Sum

【2020年杭电暑假第一场】6755 Fibonacci Sum (二次剩余+二项式定理+等比数列 + 预处理)前置技能题意思路Code二次剩余板子后记 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6755 前置技能 二项式定理、二次剩余、等比数列、欧拉降幂、阶乘逆元 参考:牌王无敌 题意 计算一个式子 思路 由斐波那契通项公式得 Fn=15((1+52)n−(1−52)n)F_n=\frac{1}{\sqrt 5}((\frac{1+ \sqrt 5}

狙击美佐的博客 329

2020杭电HDU多校第一场Fibonacci Sum(斐波那契+二次剩余+玩命优化)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6755 Problem Description The Fibonacci numbers are defined as below: Given three integers N, C and K, calculate the following summation: Since the answer can be huge, output it modulo 1000000009 (10^9+9). In

孤风的博客 850

2020杭电暑假多校第一场

第五题: Fibonacci Sum 我们写出斐波那契的通项公式,然后令a=1+sqrt(5)/2, b=1-sqrt(5)/2,因为5是1e9+9的二次剩余。用x来替代,那么我们a就可以变成(1+x)*inv2,同理b变成(1-x)*inv2。写出替换之后我们二项式展开然后就可以发现当我们r和c固定的时候,C后面就是一串等比数列,所以用等比数列求和公式和欧拉降幂就可以得到答案了。 #include<bits/stdc++.h> //#define int long long typedef l

行走天涯的豆沙包的博客 693

Fibonacci Sum (HDU - 6755,斐波那契数列幂之和 + 亿点小优化)

一.题目链接 \quad Fibonacci Sum 二.题目大意 \quad T组数据,每次给出三个整数 N,C,K,求 ∑i=0Nfibi×CK (mod 109+9)\sum_{i=0}^{N}fib_{i \times C}^K \ (mod \ 10^9+9)∑i=0N​fibi×CK​ (mod 109+9). \quad 1≤T≤102,1≤N,C≤1018,1≤K≤1051 \leq T \leq 10^2, 1 \leq N,C \leq 10^{1

The___Flash的博客 471

Fibonacci Sum 推公式

F(n)F(n)F(n)为Fibonacci数列第n项,求∑(F(iC)k,0≤i≤N\sum(F(iC)^k, 0\le i \le N∑(F(iC)k,0≤i≤N。 给多组N,C,K,1≤N,C≤10181\le N, C \le 10^{18}1≤N,C≤1018,k≤105k\le 10^5k≤105 解法: 把斐波那契数列拆成这样 Fn=d(an−bn)F_n=d(a^n-b^n)Fn​=d(an−bn) d=15,a=1+52,b=1−52d = \frac{1}{\sqrt5} ,a=\fra

__surtr的博客 322

杭电多校赛2020第一场VP实录

D - Distinct Sub-palindromes 思博题。 AC Code\mathcal AC\ CodeAC Code #include<cstdio> int main(){ int T;scanf("%d",&T); for(;T--;){ int n;scanf("%d",&n); if(n == 1) puts("26"); if(n == 2) puts("676"); if(n == 3) puts("17576"); if(n &g

Freopen的博客 511

2020 HDU多校赛第一场

在多校赛开始的前一天晚上看到了这么一条消息,我就知道这第一场比赛肯定不简单了。 果不其然。今天多校又是罚坐的一天。在开局了一个多小时后,大部分才A了一道题。 最后靠着队友才过了两题。 1004 Distinct Sub-palindromes 要求组一个长度为n的字符串。要求子回文串要尽可能的少。 这题的题面太具有迷惑性。明明结果最大也才26*25*24。还说最后结果要取模。 一开始以为长度为n的字符串,子回文串个一定是n,那么最后结果就是26^n。但是看到一群人wa了之后。就像事情没这么简单。 后

江小举的博客 2612

多校第一场——1005 Fibonacci Sum

Problem Description The Fibonacci numbers are defined as below: Given three integers N, C and K, calculate the following summation: Since the answer can be huge, output it modulo 1000000009 (109+9). Input The first line contains an integer T (1≤T≤200), d

weixin_43330910的博客 174
上一篇: 2020牛客暑期多校训练营 (第三场)E Two Matchings【排序后按照 4或6个分成1块的选择 来dp】
下一篇: Codeforces Round #658 (Div. 2) C2 Prefix Flip (Hard Version)【构造匹配】[规定步数内达成目标的题目]
DevourPower
博客等级 码龄7年 52粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值