
递推
yjy_aii
等待花开
展开
-
洛谷1025 数的划分
题目将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。题解递推,公式如下:f[i,j]=f[i-1,j-1]+f[i-j,j]代码 var i,j,n,k:longint; a:array[-200..200,-6..6]of longint;原创 2017-01-13 16:08:39 · 414 阅读 · 0 评论 -
2019.08.17【NOIP提高组】模拟 B 组 dfs、枚举+递推+计算几何
文章目录0 粉刷(paint)1 运算符(calc)2 倾斜的线你对我的虚伪让我的心受到太大的痛苦了,我很难忘记。——摘自贝多芬给侄子的信0 粉刷(paint)鸡腿想到了一个很高(sha)明(bi)的问题,墙可以看作一个N*M的矩阵,有一些格子是有污点的。现在鸡腿可以竖着刷一次,覆盖连续的最多C列,或者横着刷一次,覆盖连续的最多R行。现在鸡腿把墙上的情况告诉你,请你告诉鸡腿最少要刷多少...原创 2019-08-17 16:04:51 · 215 阅读 · 0 评论 -
2019.08.10【NOIP提高组】模拟 B 组 bfs+状压DP+单调栈优化+拓补排序、递推
文章目录0 洪水1 邦德I2 餐桌3 自行车比赛“你怎么这么花心,看谁都帅?0 洪水一天, 一个画家在森林里写生,突然爆发了山洪,他需要尽快返回住所中,那里是安全的。森林的地图由R行C列组成,空白区域用点“.”表示,洪水的区域用“*”表示,而岩石用“X”表示,另画家的住所用“D”表示,画家用“S”表示。有以下几点需要说明:1、...原创 2019-08-10 22:16:07 · 280 阅读 · 0 评论 -
poj1958Strange Towers of Hanoi 递推
题目解出n个盘子4座塔的Hanoi(汉诺塔)问题最少需要多少步?直接输出1<=n<=12的答案题解对于n个盘子3座塔的汉诺塔问题,设d[n]表示解出n个盘子3座塔的最小步数,有d[n]=2*d[n-1]+1,即把前n-1个盘子从A柱移动到B柱(用了d[n-1]步),然后把第n个盘子从A柱移动到C柱(用了1步),最后把前n-1个盘子从B柱移动到C柱(用了d[n-1]步)。...原创 2018-08-13 17:29:18 · 205 阅读 · 0 评论 -
9.9 优美三角剖分 2718
题目题解代码题目 小X同学为了搞好和小C同学的关系,特意寻找了一些优美的图像作为礼物。 这是一些由无穷无尽三角形组成的极为优美的图形,小X同学很想实现这些极富美感的图形,但是作为一名初赛都未过的伪退役选手,他水平有限,于是这个艰巨的任务就落在你们身上了。 由于好心的出题人,数据范围n<=10。 (具体图形详见样例,每一阶图形都是由3个上一阶图形拼成的)样例原创 2017-09-15 22:20:49 · 360 阅读 · 0 评论 -
洛谷 P1255 数楼梯
题目楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。题解高精度加法,f[n]=f[n-1]+f[n-2] 要注意n=0的情况 时间复杂度(n*1500)代码var n,i,j:longint; d:array[-1..5000,1..1500]of longint;procedure add(k:longint);var i,j,g,a,原创 2017-02-21 16:36:40 · 355 阅读 · 0 评论 -
洛谷1115最大子段和
题目给出一段序列,选出其中连续且非空的一段使得这段和最大。题解模拟,递推什么的都行。但是要注意考虑全都是负数的情况! 时间复杂度O(n) 代码var n,i,k:longint; sum,ans:int64;begin ans:=-maxlongint; readln(n); for i:=1 to n do begin read(k);原创 2017-01-12 19:35:27 · 334 阅读 · 0 评论 -
洛谷1216 [USACO1.5]数字金字塔 Number Triangles
题目考虑在下面被显示的数字金字塔。 写一个程序来计算从最高点开始在底部任意处结束的路径经过数字的和的最大。 每一步可以走到下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 题解递推,公式: f[i,j]:=f[i,j]+max(f[i-1,j],f[i-1,j-1]) i=2——n j=1——i 时间原创 2017-01-12 19:06:35 · 585 阅读 · 0 评论 -
洛谷1192台阶问题
题目有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。题解递推,公式如下: a[i]=(a[i]+a[j])mod 100003 i=1——n j=i-min(i,k)——i-1 时间复杂度O(nk)代码var n,k,ans,i,j:longint; a:array[0..100000]of l原创 2017-01-12 18:35:55 · 753 阅读 · 0 评论 -
2019.08.20【NOIP提高组】模拟 B 组 排序、DP+递推、矩阵乘法+数位DP/类欧
文章目录0 旅游(travel)1 做梦(dream)2 数数(count)初见时,她说,“我无力自保,无处可去,无人可依。”多年后,他说,“我教你射箭,你已有力自保;天下为家,你已有处可去;得他相伴,你已有人可依。”——“有力自保,有处可去,有人可依,愿你一世安乐无忧”0 旅游(travel)ztxz16如愿成为码农之后,整天的生活除了写程序还是写程序,十分苦逼。终于有一天,他意...原创 2019-08-22 17:56:37 · 620 阅读 · 0 评论