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

QDUoj GZS的三角形 棋盘里的数学 (数学规律题)


1.


GZS的三角形

发布时间: 2015年9月6日 15:18   最后更新: 2016年6月26日 12:10   时间限制: 1000ms   内存限制: 256M

机智无比的G神今天完成了一天的任务,实在是无聊的紧,拿起一支笔在纸上画起了三角形,边长为1, 2, 3,.........

 

即使是无聊到这种程度,G神发达的大脑也在不停的思考,从顶部的点到沿着所画出的边到达底边的方案有多少种呢。

结果可能比较大, 结果对1000003取余。

例如,边长为2的情况如下所示:

第一行有一个整数 T (1 <= T <= 1000) ,是三角形的个数。
接下来T行,每行一个整数 N (1 <= N <= 10^18),代表三角形边长。

输出T行,每行代表方案数,结果对1000003取余。

  复制
3
1
2
3
2
8
48



规律如上:可以得到第n行即边长为n的ans[n] = 2 * ans[n-1] + (n-1) * 2*ans[n-1] = 2 * n * ans[n-1]。


但是直接这么做时间会爆,当 n >= 1000003时,对 1000003取余之后都为0。


#include <iostream>
#include <cstdio>
#define M 1000003
#define LL long long
using namespace std;
LL ans[M+5];
int main(){
	int t, i;
	LL n;
	ans[1] = 2;
	for(i = 2; i < M; ++i)
		ans[i] = 2*i*ans[i-1] % M;
	cin >> t;
	while(t--){
		scanf("%lld", &n);
		if(n >= M){
			printf("0\n");
			continue;
		}
		printf("%lld\n", ans[n]);
	}
	return 0;
}


2.



棋盘里的数学

发布时间: 2016年9月13日 20:39   最后更新: 2016年9月20日 12:04   时间限制: 1000ms   内存限制: 128M

lhcoder有一个n行m列的棋盘,有一颗棋子从左上角(1,1)开始移动,每次只能往右或者往下移动一格,到右下角(n,m)一共有多少移动方案?

有多组测试数据,每组测试数据中有两个整数n和m(2 <= n, m <= 1000),代表为n行m列的棋盘。

一个整数p,代表从左上角(1,1)移动到右下角(n,m)的方案数,由于方案数可能比较大,结果请对99991取模。

  复制
2 2
2
  复制
2 3
3




规律如下:当x = 1或y = 1时,该ans = 1;除此之外,(x, y)的ans = (x-1, y)的ans + (x, y-1)的ans。


#include <iostream>
#include <cstdio>
#define M 99991
#define LL long long
using namespace std;
LL a[1005][1005];
LL doo(int x, int y){
	if(a[x][y] != 0) return a[x][y];
	if(x == 1 || y == 1) return a[x][y] = 1;
	else return a[x][y] = (doo(x-1, y) + doo(x, y-1)) % M;
}
int main(){
	int n, m;
	a[1][2] = a[2][1] = 1;
	while(~scanf("%d %d", &n, &m)){
		printf("%lld\n", doo(n, m));
	}
	return 0;
}



相关文章:

  • N-tier architecture N层架构 (转)
  • 树状数组区间更新+区间查询+单点查询
  • PHPCMS如何实现后台访问限制?
  • 树的直径 —— 即一棵树的最长路 附题(大臣的旅费 by蓝桥杯)
  • 一个关于按位或的故事~~(QDU-码农必修)
  • ConcurrentHashMap 解读(一)
  • Today一只菜鸡的PAT甲级测试(PAT1124, PAT1125, PAT1126, PAT1127)
  • 快速排序--自行实现+qsort+sort
  • 归并排序--二路归并
  • quartz定时任务时间设置描
  • ctype.h头文件中的tolower和toupper以及cctype其他函数的应用
  • mbr损坏以及grub.conf的配置文件丢失或出错的方法
  • 单链表的基本操作
  • 抽象类与接口的区别
  • 不常用的模拟链表
  • ES6 ...操作符
  • HTTP--网络协议分层,http历史(二)
  • jquery cookie
  • MQ框架的比较
  • ng6--错误信息小结(持续更新)
  • supervisor 永不挂掉的进程 安装以及使用
  • 工程优化暨babel升级小记
  • 工作中总结前端开发流程--vue项目
  • 前言-如何学习区块链
  • 如何优雅地使用 Sublime Text
  • 写给高年级小学生看的《Bash 指南》
  • 正则与JS中的正则
  • MPAndroidChart 教程:Y轴 YAxis
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​iOS安全加固方法及实现
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • (done) 两个矩阵 “相似” 是什么意思?
  • (分布式缓存)Redis持久化
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (接口封装)
  • (六)Hibernate的二级缓存
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net Application的目录
  • .NET BackgroundWorker
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 材料检测系统崩溃分析
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @SentinelResource详解
  • @test注解_Spring 自定义注解你了解过吗?
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [20190416]完善shared latch测试脚本2.txt
  • [BZOJ 3282] Tree 【LCT】
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [C puzzle book] types
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [Hibernate] - Fetching strategies
  • [jQuery]使用jQuery.Validate进行客户端验证(中级篇-上)——不使用微软验证控件的理由...