矩形覆盖(python)
题目描述
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
'''
if(number <=0):
return 0
elif(number ==1 or number == 2):
return number
return (self.rectCover(number-1)+self.rectCover(number-2))
#您的代码已保存
#运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
#case通过率为0.00%
''' #类似于青蛙跳台阶,当n=1时,只有一种横向排列的方式。
#当n等于二时,2*2有两种选择,横向或者是竖向。
#当n等于3的时候对于2*3来说,如果选择的是竖向排列,则剩下的就是2*2排列,
#如果选择的是横向,则对于2*n剩下的则只有1*n的一种选择。
#2*n的大矩形就相当于“跳台阶“问题中的台阶,大矩形的长度n相当于台阶的个数n;
#从左至右的去覆盖,把小矩形竖着放相当于跳一个台阶,把小矩阵横着放相当于跳两个台阶。
#故:当前n的覆盖种数 = 当前n-1的覆盖总数 + 当前n-2的覆盖总数
#即:f (n) = f (n-1) + f (n-2)
x = [0,1,2]
for i in range(3, number+1):
x.append(x[i-1]+x[i-2])
return x[number]
矩形覆盖(python)的更多相关文章
- 【OpenJudge 1793】矩形覆盖
http://noi.openjudge.cn/ch0405/1793/ 好虐的一道题啊. 看数据范围,一眼状压,然后调了好长时间QwQ 很容易想到覆盖的点数作为状态,我用状态i表示至少覆盖状态i表示 ...
- NOIP2002矩形覆盖[几何DFS]
题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...
- bzoj 1185 旋转卡壳 最小矩形覆盖
题目大意 就是求一个最小矩形覆盖,逆时针输出其上面的点 这里可以看出,那个最小的矩形覆盖必然有一条边经过其中凸包上的两个点,另外三条边必然至少经过其中一个点,而这样的每一个点逆时针走一遍都满足单调性 ...
- [剑指OFFER] 斐波那契数列- 跳台阶 变态跳台阶 矩形覆盖
跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number) ...
- NOIP2002 矩形覆盖
题四 矩形覆盖(存盘名NOIPG4) [问题描述]: 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2), ...
- UVA-11983-Weird Advertisement(线段树+扫描线)[求矩形覆盖K次以上的面积]
题意: 求矩形覆盖K次以上的面积 分析: k很小,可以开K颗线段树,用sum[rt][i]来保存覆盖i次的区间和,K次以上全算K次 // File Name: 11983.cpp // Author: ...
- 【旋转卡壳+凸包】BZOJ1185:[HNOI2007]最小矩形覆盖
1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 1945 Solve ...
- BZOJ:1185: [HNOI2007]最小矩形覆盖
1185: [HNOI2007]最小矩形覆盖 这计算几何……果然很烦…… 发现自己不会旋转卡壳,补了下,然后发现求凸包也不会…… 凸包:找一个最左下的点,其他点按照与它连边的夹角排序,然后维护一个栈用 ...
- BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]
1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 1435 Solve ...
随机推荐
- .Net 上传文件和下载文件
一.上传文件 1.普通的form表单提交 注意点: 请求方式必须为Post. form表单里必须设置enctype属性(enctype = "multipart/form-data" ...
- PHP Composer 包管理器的安装和使用
一,包管理器的安装 01,首先确定 php 命令能够全局使用,要是不能请修改环境变量 02,使用 curl 命令安装 => curl -sS http://install.phpcomposer ...
- NRF51822之FICR
uint32_t deviceID[2];union{ uint32_t DW; uint8_t B[4];} device_ID;//read device ID deviceID ...
- Collection List接口
常用的:ArrayList,Vector 特点:有序的,允许多个空值
- flex 上下div固定, 中间div自适应
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- redis开启外网访问
redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf 打开redis.conf文件在NETWORK部分有说明 ######################### ...
- JAVA_Package
Javaの名前空間の仕組みの1つにパッケージがあります.大規模開発では必須の概念です.また.他人の作ったコードの再利用という観点でも.パッケージを正しく活用する必要があります. ・完全修飾名:パッケー ...
- mysql网课部分笔记
mysql> \s 查看当前数据库的状态 \c 取消当前所输入的命令或字符 ------------------------------------------------------- m ...
- .NET(C#) win Form窗体的常用属性以及事件
使用.Net编写Windows程序,对于窗体控制常见项目 属性:1.让窗体在启动时在指定位置出现 form1.StartPosition Manual CenterScreen WindowsDefa ...
- svg-edit和svg中的自定义属性
用svg的码农们肯定知道,在path.rect等元数据中会加入一些自定义属性,保存于数据库,但是用svg-edit编辑器时, 读取的时候,无法读取些这些自定义属性.解决办法:找sanitize.js文 ...