信息奥赛一本通的递推练习
信息奥赛一本通的递推练习
- 递推与动态规划
- 1313:位数问题
- 1314:过河卒
- 1194:移动路线
- 1196:踩方格
递推与动态规划
递推解决的问题中满足最优化原理的也是属于动态规划范畴
1313:位数问题
在所有的N(<1000)位数中,有多少个数中有偶数个数字3?由于结果可能很大,你只需要输出这个答案对12345取余的值。
f[i][0]表示前i位中含偶数个3(含0个)的数的数量
f[i][1]表示前i位中含奇数个3(含0个)的数的数量
每增加一位数字, f[i][0]=f[i-1][0]*9+f[i-1][1] ,f[i][1]=(f[i-1][1]*9+f[i-1][0])
int f[1005][2];
int main(){int i,n;cin>>n;if(n==1)f[1][0]=9;else f[1][0]=8;f[1][1]=1;for(i=2;i<=n;i++){f[i][0]=(f[i-1][0]*9%12345+f[i-1][1])%12345;f[i][1]=(f[i-1][1]*9%12345+f[i-1][0])%12345;}cout<<f[n][0];return 0;
}
1314:过河卒
f[i][j]表示走到i,j这个点的路径条数,只能从上方和左边走到这一点,因此
递推式或者动态规划转移方程式:f[i][j]=f[i-1][j]+f[i][j-1];
为了处理方便,n、m等都增加1,相当于在棋盘外面多套了一圈儿,用增量数组来处理马造成的障碍点
long long a[25][25],f[25][25];
int main(){int n,m,cx,cy,x,y,i,j;int dx[]={-2,-1,1,2,2,1,-1,-2},dy[]={1,2,2,1,-1,-2,-2,-1};cin>>n>>m>>cx>>cy;n++,m++,cx++,cy++;a[cx][cy]=1;for(i=0;i<8;i++){x=cx+dx[i];y=cy+dy[i];if(x>0&&x<=n&&y>0&&y<=m)a[x][y]=1;}f[0][1]=1;for(i=1;i<=n;i++)for(j=1;j<=m;j++)if(a[i][j]==0)f[i][j]=f[i-1][j]+f[i][j-1];cout<<f[n][m];return 0;
}
1194:移动路线
X桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。
蚂蚁只能向上或向右移动。这只蚂蚁在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁始终在方格矩阵内移动,请计算出不同的移动路线的数目。
int f[25][25];
int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(i==1||j==1)f[i][j]=1;else f[i][j]=f[i][j-1]+f[i-1][j];//当前移动路线的数目=左边和下边的路线和cout<<f[n][m];return 0;
}
1196:踩方格
有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:
a、每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;
b、走过的格子立即塌陷无法再走第二次;
c、只能向北、东、西三个方向走;
请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。
上图为走一二三步的情况
f[1]=l[1]+r[1]+u[1]
f[2]=
信息奥赛一本通的递推练习相关推荐
- 【算法•日更•第十二期】信息奥赛一本通1585:【例 1】Amount of Degrees题解
废话不多说,直接上题: 1585: [例 1]Amount of Degrees 时间限制: 1000 ms 内存限制: 524288 KB 提交数: 130 通过数: 68 ...
- 信息奥赛一本通 三角形最佳路径问题 (1288) 题解
信息奥赛一本通 三角形最佳路径问题 (1288) 题解 时间限制: 1000 ms 内存限制: 65536 KB 题目描述 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 ...
- 2038:最大数位置(题目来源于信息奥赛一本通官网)
2038:[例5.5]最大数位置 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 4876 通过数: 3175 [题目描述] 输入n 个整数,存放在数组a[ ...
- HOJ 系统常用功能介绍 部署快速入门 c++ python java编程语言在线自动评测 信息奥赛一本通 USACO GESP 洛谷 蓝桥 CSP NOIP题库
技术支持微 makytony 服务器配置需求 腾讯云 2H4G 5M 60GB 轻量应用服务器 承载大约 200~400人使用,经过压力测试,评测并发速度可满足130人左右的在线比赛. 系统镜像选 ...
- 【算法•日更•第十四期】信息奥赛一本通1592:【例 1】国王题解
废话不多说,直接上题: 1592:[例 1]国王 时间限制: 500 ms 内存限制: 65536 KB 提交数: 290 通过数: 111 [题目描述] 原题来自:SGU 2 ...
- 信息奥赛一本通1486: CH 6202 黑暗城堡 最短路径生成树计数
1486:黑暗城堡 [题目描述] 知道黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设 Di为如果所有的通道都被修建,第 i 号房间与第 1 ...
- 信息奥赛一本通(1325:【例7.4】 循环比赛日程表)
1325:[例7.4] 循环比赛日程表 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6257 通过数: 3483 [题目描述] 设有N个选手进行循环比赛 ...
- 信息奥赛一本通(1231:最小新整数)
1231:最小新整数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 5198 通过数: 2886 [题目描述] 给定一个十进制正整数n(0<n< ...
- 信息奥赛一本通(1180:分数线划定)——插入排序
1180:分数线划定 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 15750 通过数: 7408 [题目描述] 世博会志愿者的选拔工作正在 A 市如火如 ...
最新文章
- 怎么将html字符串转换成标签并展示,将字符串转为html标签-续
- 计算机视觉招聘_香港理工大学人工智能设计实验室科研招聘
- boost::intrusive::auto_unlink_hook用法的测试程序
- Wiki1017(乘积最大)
- 分享一个关于Java调用百度、高德API、ArcGIS地图获取逆地理的代码
- P2473-[SCOI2008]奖励关【数学期望,状压dp】
- Linux C++ 实现线程池
- 深度残差收缩网络:(六)代码实现
- windows下编写dll
- [mark] some free templates sites
- cassandra学习笔记三
- iPhone4S安装Linux系统,别失望太早 iPhone 4S其实就是iPhone 5
- Java内存五大区_一:jvm的五大内存区(内存结构)
- 二十一、Oracle学习笔记:编写函数和触发器
- 网络:bit、Byte、bps、Bps、pps、Gbps的单位详细说明及换算。
- Mybatis的xml实用的一些技巧
- 3.3V的稳压管,结果电压变成了2.5V
- 申请清华大学计算机类的理由,青年人选择清华的七个理由
- java将英文字符(无论大小写)转化为小写
- kubernetes-1.23.6版本部署