`
xxx0624
  • 浏览: 31710 次
文章分类
社区版块
存档分类
最新评论

HDU4602+数学+推导公式

 
阅读更多

推导公式。

列出前5的数列,即可发现规律。

/*
推导公式
a[n] = 2^(n-1) + (n-2)*2^(n-3)
*/
#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
typedef long long int64;
const int64 mod = 1e9+7;

int64 FastPow( int64 n,int64 m ){//n^m
	int64 sum = 1;
	while( m>=1 ){
		if( m%2==1 ){
			sum *= n;
			sum %= mod;
		}
		n *= n;
		n %= mod;
		m/=2;
	}
	return sum;
}

int main(){
	int T;
	scanf("%d",&T);
	while( T-- ){
		int64 n,k;
		//scanf("%lld%lld",&n,&k);
		scanf("%I64d%I64d",&n,&k);
		if( k>n ){
			printf("0\n");
			continue;
		}
		if( k==n ){
			printf("1\n");
			continue;
		}
		int64 delta = k-1;
		int64 Index = n-delta;
		
		if( Index==1 ){
			printf("1\n");
			continue;
		}
		if( Index==2 ){
			printf("2\n");
			continue;
		}
		
		//printf("%lld\n",(FastPow2(2,Index-1)%mod+FastPow2(2,Index-3)*(Index-2)%mod)%mod);
		printf("%I64d\n",(FastPow(2,Index-1)%mod+FastPow(2,Index-3)*(Index-2)%mod)%mod);
	}
	return 0;
}



分享到:
评论

相关推荐

    hdu 300+ AC 代码

    大数计算的应用包括加密算法、金融计算和数学模拟等。在编程竞赛中,大数问题可能涉及到加减乘除、模运算以及大数比较等操作。 2. **线段树**:线段树是一种数据结构,用于高效地处理区间查询和更新操作。它可以...

    HDUc++上机测试真题(错题汇集1

    在C++编程语言中,`new`和`delete`是两个关键的操作符,它们与C语言中的`malloc`和`free`有所不同。`new`不仅分配内存,还会根据指定的类型调用对应的构造函数来初始化对象,而`malloc`仅仅分配内存,不涉及对象的...

    HDU刷题地图+精选详细笔记

    本人准备2020年保研机试时刷的题目(虽然最后机试取消了,...来自某中流985,在HDU和vjudge平台上大概刷了400道。本文件地图(excel表格)包含了绝大部分我刷过的题目,笔记中具有思路、代码、总结和心得。 大佬勿入!

    HDU+2000-2099+解题报告

    HDU(杭州电子科技大学)在线评测系统是许多编程竞赛爱好者和学习者经常访问的平台,它提供了大量的算法题目供用户练习和挑战。这个压缩包文件“HDU 2000-2099 解题报告”显然包含了在这个题号范围内的一些问题、...

    HDU+2000-2099+解题报告.zip

    在HDU OnlineJudge中,题目通常涉及了算法竞赛中常见的问题类型,如图论、动态规划、贪心算法、排序与搜索、字符串处理、数学计算等。解题报告中的每一道题目都提供了详尽的解题思路,旨在帮助参赛者理解和掌握各种...

    hdu+acm课件

    最后,"HDU+ACM课件"可能是一个综合性的课件集合,涵盖了ACM竞赛的各种主题,包括数据结构、算法、问题解决策略等。这是一份全面的学习资料,对于系统性地学习ACM知识非常有价值。 通过学习这些文件,你可以深入...

    acm课件简单数学题(杭电)(HDU)

    在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest,简称ICPC)中,数学是至关重要的一部分,尤其是在解决杭电(Hangzhou Dianzi University,简称HDU)的题目时。本课件"acm课件简单...

    hdu.rar_hdu

    5. **数学应用**:组合数学、数论(质因数分解、模运算、欧几里得算法等)、概率论等。 6. **编码技巧**:IO优化(如scanf/printf代替cin/cout,文件流操作)、常量定义、预处理宏等。 7. **模板代码**:如快速幂...

    ACM HDU题目分类

    数学题是 ACM HDU 题目分类中的一大类,例如,1006 感觉有点 BT 的题;1007 经典问题,最近点对问题,用分治;1017 简单数学题;1018 简单数学题;1019 简单数学题 等等。 字符串处理 字符串处理是 ACM HDU 题目...

    hdu题目分类

    递推算法是一种通过前几项的结果来推导后几项结果的方法,类似于数学中的递推公式。在HDU OJ中,递推题目如1133、1143等,要求选手能够识别出问题的递推关系,并利用递推公式进行高效计算。 ### 字符串处理 字符串...

    HDU题目java实现

    11. **数学知识**:部分题目可能需要运用到离散数学、组合数学、数论等领域的知识。 12. **数据结构**:包括栈、队列、堆、队列、树、图等,以及它们的实现和应用。 13. **多线程**:在处理并发问题时,Java的...

    HDU_2010.rar_hdu 2010_hdu 20_hdu acm20

    【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...

    ACM hdu 线段树题目+源代码

    ACM hdu 线段树题目+源代码 线段树是一种非常重要的数据结构,它广泛应用于算法竞赛和实际编程中。今天,我们将通过 ACM hdu 的几个题目来学习和掌握线段树的基本概念和应用。 线段树的基本概念 线段树是一种...

    hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj

    【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...

    hdu1250高精度加法

    本题(hdu1250)主要考察的就是如何通过编程实现高精度加法,并解决一个特定的数学问题。 #### 题目解析 根据题目描述,该题目编号为HDU1250,其核心在于利用高精度加法解决问题。具体地,题目涉及到了斐波那契数列...

    hdu1290解题报告

    ### hdu1290解题报告 #### 题目背景与意义 此题作为对杭州电子科技大学五十周年校庆的献礼,通过一道趣味性的数学问题来庆祝这一重要时刻。题目背景设置在一个充满想象力的情境下,即如何通过不同数量的切刀将一个...

    杭电ACMhdu1163

    【标题】:杭电ACMhdu1163 【描述】:这是一道源自杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的ACM编程竞赛题目,编号为1163。这类问题通常需要参赛者利用计算机编程解决数学、逻辑或算法上的挑战,...

    ACM HDU

    【ACM HDU】指的是在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)中,参赛者在杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的在线评测系统上完成并已解决的题目集合...

    HDU DP动态规划

    【标题】"HDU DP动态规划"涉及到的是在算法领域中的动态规划(Dynamic Programming,简称DP)技术,这是解决复杂问题的一种高效方法,尤其适用于有重叠子问题和最优子结构的问题。动态规划通常用于优化多阶段决策...

    HDU acm-PPT课件

    【ACM入门与提高:HDU ACM竞赛课程详解】 ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest,简称ICPC或ACM/ICPC)是一项全球性的竞赛,旨在激发大学生对计算机科学的兴趣,提升他们的...

Global site tag (gtag.js) - Google Analytics