任务说明:递推,层层递进,由基础推向顶层。二分不仅可以用来查找数据,还可以确定最合适的值。

P1192 台阶问题

有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。

输入文件的仅包含两个正整数N,K。

输入文件stair.out仅包括1个正整数,为不同方式数,由于答案可能很大,你需要输出mod 100003后的结果。

解答: 我自己写的时间复杂度是O(N^2), 空间复杂度是O(K);看了题解还有用前缀和方法O(N)的...真厉害

提交了一次AC了

 #include <bits/stdc++.h>

 using namespace std;

 void print(vector<int> dp,  string strName) {
printf("======begin=====debug=====name[%s]======\n", strName.c_str());
for (int i = ; i < dp.size(); ++i) {
printf("%d ", dp[i]);
}
printf("\n");
} int solve(int n, int k) {
vector<int> dp(n, );
for (int i = ; i < n; ++i) {
if (i < k) { dp[i] = ; }
for (int j = i-; j >= && j >= i - k; --j) {
dp[i] += dp[j];
}
}
//print(dp, "another method");
return dp[n-];
} //这里时间复杂度是O(N^2), 空间复杂度是O(K);
//看了题解还有用前缀和方法O(N)的...真厉害
int main() {
int n, k;
cin >> n >> k;
vector<int> dp(k, );
int cnt = ;
int idx;
while(cnt <= n) {
idx = (cnt - ) % k;
int summ = ;
//相当于下面两堆..
//本质问题在于:第一遍初始化dp数组的时候,比如n=5, k=3, dp[0] =1,dp[1]=2, dp[2]=4; 其实这不是用所有的加起来,而是只加前面的那堆。
for (int i = ; i < min(cnt, k); ++i) {
summ += dp[i];
summ %= ;
}
/*
if (cnt < k) {
for (int i = 0; i < cnt; ++i) {
summ += dp[i];
} } else {
for (int i = 0; i < k; ++i) {
summ += dp[i];
}
}
*/
dp[idx] = summ % ; cnt++;
}
cout << dp[idx] << endl;
//int answer = solve(n, k);
//printf("another slover: %d\n", answer);
return ;
}

数的划分

传球游戏

奇怪的电梯

P1216 [USACO1.5]数字三角形 Number Triangles

没错就是你想的那道题~

解答:

转移方程为:

tri[i][j] = tri[i][j] (i == N-1) //最后一行

tri[i][j] += max(tri[i+1][j], tri[i+1][j+1])  //上面那些行

 #include <bits/stdc++.h>

 using namespace std;

 int main() {
int lines;
cin >> lines;
int tri[lines][lines] = {};
for (int i = ; i < lines; ++i) {
for (int j = ; j < i+; ++j) { //写代码的时候注意下i, j的范围
cin >> tri[i][j];
}
} for (int i = lines - ; i >= ; --i) {
for (int j = ; j <= i; ++j) {
tri[i][j] += max(tri[i+][j], tri[i+][j+]);
}
} cout << tri[][] << endl; return ;
}

数列分段Section II

丢瓶盖

【Luogu】【关卡2-12】递推与递归二分(2017年10月)的更多相关文章

  1. 【Luogu】【关卡2-9】带有技巧的搜索(2017年10月)

    任务说明:这里的搜索不仅包含了dfs和bfs,还包括剪枝.记录等技巧以加快速度. [USACO06FEB]数字三角形Backward Digit Su… 滑雪 吃奶酪 靶形数独 P1118 [USAC ...

  2. Luogu T7152 细胞(递推,矩阵乘法,快速幂)

    Luogu T7152 细胞(递推,矩阵乘法,快速幂) Description 小 X 在上完生物课后对细胞的分裂产生了浓厚的兴趣.于是他决定做实验并 观察细胞分裂的规律. 他选取了一种特别的细胞,每 ...

  3. NOIP2013提高问题求解T2(关于递推与递归)

    同步发表于我的洛谷博客. NOIP2013提高问题求解2: 现有一只青蛙,初始时在n号荷叶上.当它某一时刻在k号荷叶上时,下一时刻将等概率地随机跳到1,2,--,k号荷叶之一上,直到跳到第1号荷叶为止 ...

  4. 从一道NOI练习题说递推和递归

    一.递推: 所谓递推,简单理解就是推导数列的通项公式.先举一个简单的例子(另一个NOI练习题,但不是这次要解的问题): 楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可 ...

  5. luogu 1291 概率期望递推

    非常好的递推 公式啥的懒得写了,直接放链接哈哈哈https://www.luogu.org/problemnew/solution/P1291 #include<bits/stdc++.h> ...

  6. Codeforces1065G Fibonacci Suffix 【递推】【二分答案】

    题目分析: 首先为了简便起见我们把前$15$的答案找出来,免得我们还要特判$200$以内之类的麻烦事. 然后我们从$16$开始递推.考虑猜测第i位是$0$还是$1$(这本质上是个二分).一开始先猜是$ ...

  7. 【Luogu】【关卡2-15】动态规划的背包问题(2017年10月)【还差一道题】

    任务说明:这是最基础的动态规划.不过如果是第一次接触会有些难以理解.加油闯过这个坎. 01背包二维数组优化成滚动数组的时候有坑有坑有坑!!!必须要downto,downto,downto 情景和代码见 ...

  8. 0x02 递推与递归

    [例题]CH0301 递归实现指数型枚举 #include <iostream> #include <cstdio> #include <algorithm> #i ...

  9. 【Luogu】【关卡2-14】 树形数据结构(2017年10月)【AK】

    任务说明:由一个根节点分叉,越分越多,就成了树.树可以表示数据之间的从属关系 P1087 FBI树 给一个01字符串,0对应B,1对应I,F对应既有0子节点又有1子节点的根节点,输出这棵树的后序遍历. ...

随机推荐

  1. Ubuntu中安装jenkins+docker,实现项目部署

    本人对于linux系统是个小白,恰逢公司新框架需要docker+jenkins部署项目,所以通过同事口述+一顿乱查,终于实现在虚拟机上搭建的ubuntu系统中 实现jenkins +docker 自动 ...

  2. Docker基础(上)

    Docker基础(上) 链接:https://pan.baidu.com/s/1KQjKml2OZAReYwOvpWD9XQ 提取码:6vo8 复制这段内容后打开百度网盘手机App,操作更方便哦 1. ...

  3. Nginx有哪些作用?

    Nginx有哪些作用? http协议代理 搭建虚拟主机 服务的反向代理 在反向代理中配置集群的负载均衡   什么是正向代理? 正向代理,意思是一个位于客户端和原始服务器(origin server)之 ...

  4. 带你逐行阅读redux源码

    带你逐行阅读redux源码 redux版本:2019-7-17最新版:v4.0.4 git 地址:https://github.com/reduxjs/redux/tree/v4.0.4 redux目 ...

  5. jQuery 菜单 垂直菜单实现

    HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...

  6. paper 134:结构张量structure tensor(二)

    根据结构张量能区分图像的平坦区域.边缘区域与角点区域. 此算法也算是计算机科学最重要的32个算法之一了.链接的文章中此算法名称为Strukturtensor算法,不过我搜索了一下,Strukturte ...

  7. iframe中涉及父子页面跨域问题

    什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制.所谓同源是指相同的域名.协议和端口,只要其中一项不同就为跨域. 举几个例子: http:/ ...

  8. 前端每日实战:57# 视频演示如何用纯 CSS 创作一双黑暗中的眼睛

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/xzYVzO 可交互视频 此视频是可 ...

  9. ASP.NET Error Handling

    https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspn ...

  10. #define学习

    C语言中数据有常量和变量,其中定义常量主要有两种方法,这里主要学习#define定义常量的方法. 1.#define定义数字宏常量 例子如下: 1 2 3 4 5 6 7 8 9 10 #includ ...