前言:

日月如梭,光阴似箭。大家好,我盛艺承又回来了。今天给大家讲一下纪中的DP(递推)真题。

题目描述

在网格中取一个N x 1的矩形,并把它当作一个无向图。这个图有2(N+1)个顶点,有3(N-1)+4条边。这个图有多少个生成树?答案 mod 12345 后输出。

输入

样例输入:1

输出

样例输出:4
答案 mod 12345 后输出。
 

样例输入

1

样例输出

4
思路:
这一题应该算比较水的了吧。。。。。。只要推出了递推式就能做出来了
这里我们就直接推了吧。
我们通过枚举,不难发现——
n=1时   4
n=2时  15
n=3时  56
n=4时  209
只用枚举4个就够了。
通过这4组样例,我们不难发现——f[i]=f[i-1]*4-f[i-2]。也就是说,目前f的第i项,等于f的i-1项*4-f的i-2项。
当然,这只是递推公式。还要把他得到的答案%12345(题目说的)。
不过你这样做了以后呢,也得不到100分。为什么呢?因为有可能f[i-1]*4-f[i-2]为负数。那样的话就完犊子了。所以我们为了防止这种事情发生,我们给他+12345。这样就可以保证不会出现负数了。
为什么呢?因为,如果答案就是负数,加上12345后,就相当于给了他一个绝对值。而如果他是正数的话,后面还有一个%12345呢,也没有关系。
下面是代码:

#include<bits/stdc++.h>
using namespace std;
int f[10005]={1,4},i,n;//f数组用来计算出当前的第f[i]项的值为多少。
int main(){
cin>>n;
for(i=2;i<=n;i++) f[i]=(f[i-1]*4-f[i-2]+12345)%12345;//用一个for循环来求出当前第f[i]的值为多少。
cout<<(f[n])%12345;//输出时别忘记%12345啊!
}

递推(dp)纪中真题的更多相关文章

  1. 递推DP 赛码 1005 Game

    题目传送门 /* 递推DP:官方题解 令Fi,j代表剩下i个人时,若BrotherK的位置是1,那么位置为j的人是否可能获胜 转移的时候可以枚举当前轮指定的数是什么,那么就可以计算出当前位置j的人在剩 ...

  2. 递推DP URAL 1031 Railway Tickets

    题目传送门 /* 简单递推DP:读题烦!在区间内的都更新一遍,dp[]初始化INF 注意:s1与s2大小不一定,坑! 详细解释:http://blog.csdn.net/kk303/article/d ...

  3. poj 2229 【完全背包dp】【递推dp】

    poj 2229 Sumsets Time Limit: 2000MS   Memory Limit: 200000K Total Submissions: 21281   Accepted: 828 ...

  4. 递推DP URAL 1167 Bicolored Horses

    题目传送门 题意:k个马棚,n条马,黑马1, 白马0,每个马棚unhappy指数:黑马数*白马数,问最小的unhappy值是多少分析:dp[i][j] 表示第i个马棚放j只马的最小unhappy值,状 ...

  5. 递推DP URAL 1017 Staircases

    题目传送门 /* 题意:给n块砖头,问能组成多少个楼梯,楼梯至少两层,且每层至少一块砖头,层与层之间数目不能相等! 递推DP:dp[i][j] 表示总共i块砖头,最后一列的砖头数是j块的方案数 状态转 ...

  6. 递推DP URAL 1260 Nudnik Photographer

    题目传送门 /* 递推DP: dp[i] 表示放i的方案数,最后累加前n-2的数字的方案数 */ #include <cstdio> #include <algorithm> ...

  7. 递推DP URAL 1353 Milliard Vasya's Function

    题目传送门 /* 题意:1~1e9的数字里,各个位数数字相加和为s的个数 递推DP:dp[i][j] 表示i位数字,当前数字和为j的个数 状态转移方程:dp[i][j] += dp[i-1][j-k] ...

  8. 递推DP URAL 1119 Metro

    题目传送门 /* 题意:已知起点(1,1),终点(n,m):从一个点水平或垂直走到相邻的点距离+1,还有k个抄近道的对角线+sqrt (2.0): 递推DP:仿照JayYe,处理的很巧妙,学习:) 好 ...

  9. 递推DP HDOJ 5328 Problem Killer

    题目传送门 /* 递推DP: 如果a, b, c是等差数列,且b, c, d是等差数列,那么a, b, c, d是等差数列,等比数列同理 判断ai-2, ai-1, ai是否是等差(比)数列,能在O( ...

  10. hdu1978(递推dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978 分析: 递推DP. dp[][]表示可以到达改点的方法数. 刚开始:外循环扫描所有点dp[x][ ...

随机推荐

  1. fpga always赋值

  2. NLB+ARR实现IIS下的高可用性负载均衡

    NLB+ARR实现IIS下的高可用性负载均衡 场景: 高可用/可伸缩集群: NLB部署: 很简单, 暂略.   3.ARR部署 ARR全称叫Application Request Router, 是I ...

  3. 集群分发xsync xcall kafka启动脚本命令,命令方式安装epel源

    安装epel库源 yum install epel-release -y --nogpgcheck yum install glances 安装开始 建立hosts 白名单 127.0.0.1 loc ...

  4. Fiddler 教程【转】

    作者: 小坦克  来源: 博客园  发布时间: 2012-07-07 14:20  阅读: 71973 次  推荐: 45   原文链接   [收藏]  阅读目录 Fiddler的基本介绍 Fiddl ...

  5. 《Spring Boot从零开始学(视频教学版)》快速入门Spring Boot应用开发

    #好书推荐##好书奇遇季#<Spring Boot从零开始学(视频教学版)>,目前为止较好的一本Spring Boot入门书.京东当当天猫都有发售.本书配套示例代码.课件与教学视频.定价7 ...

  6. git log 的常用用法

    1.最基本的 git log 2.简化版本 git log --oneline 3. 作者筛选 4.时间筛选 git log --since="2022.05.26" --unti ...

  7. 封装ESXi网卡驱动

    只能使用 Windows 7 系统 只能使用 Windows 7 系统 只能使用 Windows 7 系统 OK,留下的继续吧,

  8. 摩托罗拉IP PBX9000配置指南

    400通话时,按数字键进行选择无效 打开IPB通信板界面,SIP终端参数--应用设置--点击RFC2833数值,默认禁用变更为101,(如有多个勾选批量,填写批量数值)--提交--保存修改 未完待续

  9. C语言printf输出32位十六进制

    long c = 0X1DAB83; //十六进制数字 printf("c=%lx\n", c); //以十六进制形式输出(字母小写) printf("c=%lX\n&q ...

  10. 02、kafka介绍

    001.kafka简介 kafka消息队列有两种消费模式,分别是点对点模式和订阅/发布模式.具体比较可以参考Kafka基础–消息队列与消费模式. 下图是一个点对点的Kafka结构示意图 produce ...