2190 ACM 数学概率论的乘法和加法原则
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2190
思路:明显我们要寻找 边长为n和边长为n-1,n-2,n-3·····的规律,这样得出一个递推公式就能方便的得出f(n)(边长为n的值)
由于只有两种类型的地板砖,2*2 1*1,所以最后加入的一行,可能是1*1的砖块,也可能是2*2砖块的一部分,所以 f(n)就和f(n-1)和f(2)有关
接下来推导:
由数学概论论可知:
两种个情况,不同情况之间用加号
同一情况下,的下一步操作的方法数 之间用乘法
1 第n行放的是1*1的砖块
所以只需要在f(n-1)的基础上放即可,且1*1砖块的方法只有一种
2 第n行放的是2*2砖块的一部分
所以在f(n-2)的基础上放即可,本来有三种的,但是舍弃1*1的情况,因为和上述情况重复,2*2放左边或右边,两种情况
结论:f(n)=f(n-1)*1+f(n-2)*2
代码:
#include<iostream>
#include<cstdio>
using namespace std; int main()
{
int c;
int sch[];
sch[]=;
sch[]=;
sch[]=;
for(int i=;i<;i++)
sch[i]=sch[i-]+sch[i-]*;
cin>>c;
while(c--)
{
int n;
cin>>n;
cout<<sch[n]<<endl;
}
return ;
}
2190 ACM 数学概率论的乘法和加法原则的更多相关文章
- bzoj 1798: [Ahoi2009]Seq 维护序列seq 线段树 区间乘法区间加法 区间求和
1798: [Ahoi2009]Seq 维护序列seq Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeO ...
- 线性结构2 一元多项式的乘法与加法运算 【STL】
02-线性结构2 一元多项式的乘法与加法运算(20 分) 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和 ...
- PTA 02-线性结构2 一元多项式的乘法与加法运算 (20分)
原题地址 https://pta.patest.cn/pta/test/15/exam/4/question/710 5-2 一元多项式的乘法与加法运算 (20分) 设计函数分别求两个一元多项式的 ...
- ACM数学知识体系
在盛情收到学弟邀请给他们整理ACM数学方面的知识体系,作为学长非常认真的弄了好久,希望各学弟不辜负学长厚爱!!!非常抱歉因为电脑全盘格式化好多word.PPT都丢失,我尽量具体地给大家找到各知识点学习 ...
- PTA数据结构 习题3.6 一元多项式的乘法与加法运算 (20分)
一元多项式的乘法与加法运算 https://pintia.cn/problem-sets/434/problems/5865 设计函数分别求两个一元多项式的乘积与和. 时间限制:200 ms 内存限制 ...
- PAT 02-线性结构2 一元多项式的乘法与加法运算 (20分)
设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. ...
- 用分治法实现大数乘法,加法,减法(java实现)
大数乘法即多项式乘法问题,求A(x)与B(x)的乘积C(x),朴素解法的复杂度O(n^2),基本思想是把多项式A(x)与B(x)写成 A(x)=a*x^m+b B(x)=c*x^m+d 其中a,b,c ...
- 1490 ACM 数学
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1490 题意: 给出n*n 的矩阵,选出不同行不同列的n个元素,并求和: 如果所有选法所产生的和相等,则输出 ...
- ACM数学
1.burnside定理,polya计数法 这个专题我单独写了个小结,大家可以简单参考一下:polya 计数法,burnside定理小结 2.置换,置换的运算 置换的概念还是比较好理解的,< ...
随机推荐
- mysql 文件导入
load data infile 文件路径 into table 表 fields terminated by ',' lines terminated '\n'
- 使用Calendar获取上一月,下一月,上一年,下一年的当天日期
Calendar的add(int field,int amount)方法 field 表示月或年,天等字段 amount 代表增量或减量 例如: 上月的当天日期 Calendar cal = Cal ...
- H: Dave的组合数组(二分法)
Dave的组合数组 Time Limit: C/C++ 1 s Java/Python 3 s Memory Limit: 128 MB Accepted: 3 ...
- 20165323 实验一 Java开发环境的熟悉
一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:杨金川 学号:20165323 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间:13:45 - 15:25 实验序号:一 实 ...
- Sql Server并发和事务
锁的作用范围通常在事务中,事务是建立在并发模式下. 从SQL Server 2005开始,加入了一种新的并发模式-----乐观并发.不管使用哪种并发模式,如果多个会话同时修改相同的数据,都会产生资源争 ...
- 磁盘blk_update_request: I/O error
https://www.cnblogs.com/chris-cp/p/6340289.html
- shell 写的 jrottenberg/ffmpeg 转码
#!/bin/bash ];then echo "The argument must be 2" exit; else echo "$1 $2" fi VIDE ...
- kickstart-G
感觉自己很蠢,large数据只能交一次,忘记这回事了 A题 O(n^2)解法,用vector<set> 缓存j后面的数据,减少一重循环 #include <string> #i ...
- [转]Java Web笔记:搭建环境和项目配置(MyEclipse 2014 + Maven + Tomcat)
来源:http://www.jianshu.com/p/56caa738506a 0. 绪言 Java Web开发中,除了基础知识外,开发环境搭建,也是一项基本功.开发环境包括了IDE.项目管理.项目 ...
- C# 之 GUID格式化
Guid的带参数的ToString()方法来实现格式化,如下: //// 摘要: // 根据所提供的格式说明符,返回此 System.Guid 实例值的字符串表示形式. //// 参数: // ...