HDU 2045 不容易系列之(3)―― LELE的RPG难题(递推)
题意:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
题解:本来当n=1时,答案是0的(首尾不同时不可能的),但是这儿答案是3
接着我们可以这样来想
当n=2时答案是6
当n>2时,我们等于前一个(dp[i-1])的个数加上,最后一位有两种可能(固定第i-1位不变时)。所以就是 dp[i]=dp[i-1]+2*dp[i-2](i>2)
#include<set> #include<map> #include<queue> #include<stack> #include<cmath> #include<vector> #include<string> #include<cstdio> #include<cstring> #include<stdlib.h> #include<iostream> #include<algorithm> using namespace std; #define eps 1E-8 /*注意可能会有输出-0.000*/ #define Sgn(x) (x<-eps? -1 :x<eps? 0:1)//x为两个浮点数差的比较,注意返回整型 #define Cvs(x) (x > 0.0 ? x+eps : x-eps)//浮点数转化 #define zero(x) (((x)>0?(x):-(x))<eps)//判断是否等于0 #define mul(a,b) (a<<b) #define dir(a,b) (a>>b) typedef long long ll; typedef unsigned long long ull; const int Inf=1<<28; const double Pi=acos(-1.0); const int Mod=1e9+7; const int Max=100010; map<int,int> mp; ll dp[150]; void Init(int n) {dp[1]=3ll;dp[2]=dp[3]=6ll;for(int i=4;i<n;++i)dp[i]=2*dp[i-2]+dp[i-1];return; } int main() {std::ios::sync_with_stdio(false);int t,n,m;Init(51);while(cin >> n){cout << dp[n] << endl;}return 0; }
转载于:https://www.cnblogs.com/zhuanzhuruyi/p/5922321.html
HDU 2045 不容易系列之(3)―― LELE的RPG难题(递推)相关推荐
- HDU2045 不容易系列之(3)—— LELE的RPG难题(递推)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- HDU2045 不容易系列之(3)—— LELE的RPG难题
不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- HDU-不容易系列之(3)—— LELE的RPG难题
链接http://acm.hdu.edu.cn/showproblem.php?pid=2045 #include<stdio.h> int main() {int n,i;__int64 ...
- LELE的RPG难题
不容易系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- HDU1465 不容易系列之一【递推】
不容易系列之一 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- HDU2049 不容易系列之(4)——考新郎【递推】
不容易系列之(4)--考新郎 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- HDU 4539郑厂长系列故事――排兵布阵(状压DP)
HDU 4539 郑厂长系列故事――排兵布阵 基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态), 直接套了一个4重循环居然没超时我就呵呵了 1 //#pragma ...
- HDU 4521 小明系列问题——小明序列 LIS+动态规划
HDU 4521小明系列问题--小明序列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- hdu 1465 不容易系列之一(错位排序)
不容易系列之一 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
最新文章
- mysql intersects_mysql gis 空间数据库 根据 经纬度查找附近 (INTERSECTS,within)
- iOS开发之网络编程--1、NSURLSession的基本使用
- java jtable刷新_java-单击按钮更新JTable
- 玩转oracle 11g(15):命令学习3
- ffmpeg优化mp4以及hls参数设置
- 火车头php接口制作,火车头接口
- 【项目实践】:KNN实现手写数字识别(附Python详细代码及注释)
- ABAP操作Excel(转)
- 3D VR卡镜的使用方法
- Linux视频教程在线观看Boobooke
- 趣谈网络协议——HTTPS协议
- Python 科学计算
- Quartus II 13.1入门级使用方法 -仿真篇,适用于小白
- vs2008 sp1补丁安装到最后一点点的时候,就无法安装下去了 解决方法[转]
- Web应用程序安全原理(Web服务面临的威胁)
- 计算机在线作业题,精选《计算机原理与结构》在线作业试题
- Cheat Enginee(CE)的详细使用指南~包含下载安装教程以及核心功能讲解
- 深度学习论文阅读目标检测篇(四)中文版:YOLOv1《 You Only Look Once: Unified, Real-Time Object Detection》
- 芝麻授权 java调用_【java】手机浏览器怎么调用支付宝进行用户授权呢?
- linux看剩余电量命令,用Linux命令行检测笔记本电池用量
热门文章
- 最详尽使用指南:超快上手Jupyter Notebook
- 4005基于邻接表的顶点的删除(C++,附思路)
- 项目部署—连接不上远程redis服务怎么办?
- 什么是进程?什么是线程?
- java中如何声明班干部,java类成员变量的定义和声明
- 计算机二级计划总结,计算机二级细节总结
- 【进阶技术】一篇文章搞掂:OAuth2
- mysql 8.0 java连接报错:Unknown system variable 'query_cache_size'
- tensorflow学习笔记一:安装调试
- 安装sendmail