前言:

日月如梭,光阴似箭。大家好,我盛艺承又回来了。今天给大家讲一下纪中的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. js中的this的指向问题

    this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象 this永远指向的是最后调用它的对象,也就是看它执行的时候是谁调 ...

  2. 解析bean封装成BeanDefinition

    默认命名空间 1:parseDefaultElement 从代码中可以了解到默认的命名空间的一节节点主要是4种,import,alias,bean,beans private void parseDe ...

  3. PaddlePaddleOCR安装教程

    1.首先下载并安装python3.7.8 链接地址: 注:安装时Add path勾选 2.进入命令提示符界面 3.升级pip版本 python -m pip install --upgrade pip ...

  4. laravel常用集合的使用

    创建集合: //数组1 $connection = collect([ ['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'], [ ...

  5. 如何把高德地图搜索商家电话资料导出成excel里?

    有很多人问我地图商家结果采集怎么做? 怎么样能够快速的把高德地图左边的搜索列表里的商家地图,电话,导出到EXCEL里. 如何快速地将高德地图里的商家电话资料导出EXCEL? 操作步骤: 1. 选择你要 ...

  6. import cv2时出现ImportError: DLL load fail:找不到指定模块

  7. centos linux 忘记密码

    1.开机 esc 将画面停止 2.   e 进入设置状态 3.编辑修改两处:ro改为rw,在LANG=en_US.UFT-8后面添加init=/bin/sh,版本不同 内容不同,找到对应的位置修改 4 ...

  8. K8s网络策略

    Network Policy(网络策略) 默认情况下,k8s集群网络是没有任何限制的,Pod可以和任何其他Pod通信,在某些场景下需要做网络控制,减少网络面的攻击,提高安全性,就会用到网络策略(Net ...

  9. LP1-3:一支钢笔的测试

    UI: 长.宽 .高 钢笔:笔身.笔尖.笔帽 功能: 写字:出水量比较合适 笔帽能扣上,不容易掉 钢笔笔夹 打水 笔尖的粗细程度 容错性: 不能漏水 易用性: 是否光滑 笔尖是否可以换 笔囊是否可以换 ...

  10. Mac预览怎么用 Mac预览功能实用技巧大全

    Mac预览怎么用?有很多的用户以为Mac自带的预览功能只具有简单的图片浏览功能,其实不然,其实"预览"是一款强大的看图.修图.改图软件,也同时是一款多功能的 PDF 阅读与编辑工具 ...