题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493

类似于求最长子串的方法。dp[0][i]表示以 元素sequence[i] 结尾的且它比子串中前一个数的 最大子串,dp[1][i] 表示以 元素sequence[i] 结尾的且它比子串中前一个数的 最大子串。

代码如下:

#include <algorithm>
#include <iostream>
#include <sstream>#include <string>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <set>
#include <map>#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <cstring>using namespace std;/*************** Program Begin **********************/
int dp[2][50];
class ZigZag {
public:int longestZigZag(vector <int> sequence) {int res = 1;int N = sequence.size();dp[0][0] = dp[1][0] = 1;for (int i = 1; i < N; i++) {dp[0][i] = dp[1][i] = 1;for (int j = 0; j < i; j++) {if (sequence[i] > sequence[j]) {if (dp[1][i] < dp[0][j] + 1) {dp[1][i] = dp[0][j] + 1;}} else if (sequence[i] < sequence[j]) {if (dp[0][i] < dp[1][j] + 1) {dp[0][i] = dp[1][j] + 1;}}}res = max(res, dp[0][i]);res = max(res, dp[1][i]);}return res;}};/************** Program End ************************/

DP练习(初级):ZigZag相关推荐

  1. 电源适配器变压器计算与元器件选型、细,全!【上篇-适配器设计计算23步骤】...

    适配器设计计算23步骤 12V1.5A方案设计 芯片:...... 1.输入:100-264V  2.输出:12V1.5A  3.效率:84%(5级能效80.2%,为便于生产故选84%) 4.Vcc: ...

  2. <LeetCode天梯>Day004 买卖股票的最佳时机 II(DP动态规划法) | 初级算法 | Python

    今天1024程序员节,车神哥在这里恭祝各位节日快乐,发量惊人,财务自由,从不加班!!!~ 今天依旧和车神哥一起来提升自己的Python编程和面试能力吧,刷天梯~ 以下为我的天梯积分规则: 每日至少一题 ...

  3. 简单暴力到dp的优化(初级篇)

    一.一维非脑残 1 一个只包含'A'.'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'.'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的.例如: BAAC ...

  4. c语言程序竞赛,2015年江西理工大学C语言程序设计竞赛(初级组)

    JankTao相亲记 解法:排序 #include #include #include #include #include #include #include #include using names ...

  5. plsql怎么导出几十w的数据到csv_Greenplum数据库使用总结(干货满满)初级使用

    4 Greenplum 初级使用 4.1 Greenplum 常用命令列表 4.1.1 常用命令列表 进入到安装目录下的bin目录下,查看常用的使用命令: psql / clusterdb / cre ...

  6. The longest zig-zag subsequence

    类似于最长不降子序列. 找到最长的大小相间的子序列. dp[k] 表示一个结构体,以k号结尾的最长zig-zag子序列长度,和期待下一个数是大还是小. struct node{int len, sta ...

  7. python足球分析系统_NAO足球/高尔夫比赛视觉系统设计(python初级版)

    初级版的内容主要分为两部分,第一部分是如何利用NAO的视觉传感器,即上下摄像头,来获取图片及如何利用opencv显示获得的图片.第二部分是如何利用opencv里面的视觉算法从NAO获取的图片中找到所需 ...

  8. RL极简入门:从MDP、DP MC TC到Q函数、策略学习、PPO

    前言 22年底/23年初ChatGPT大火,在写ChatGPT通俗笔记的过程中,发现ChatGPT背后技术涉及到了RL/RLHF,于是又深入研究RL,研究RL的过程中又发现里面的数学公式相比ML/DL ...

  9. 《挑战程序设计竞赛》--初级篇习题POJ部分【动态规划】

    关于基本的动态规划和经典的动态规划,在之前已经总结过了,可以温习一下: 传送门 这次是延续上次的<挑战程序设计竞赛>初级篇,总结部分poj上的练习题,主要是DP方面的练习题: 一.基础的动 ...

最新文章

  1. 如何选专业选课题?姚期智院士:首先成为一名科学家
  2. 计算机一级电子表格TF函数,tf.slice()函数详解(极详细)
  3. Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)
  4. IntelliJ IDEA for Mac的快速切换当前主题方案(Quick switch current scheme)
  5. django ModuleNotFoundError: No module named 'tinymce***'
  6. web服务器检测工具
  7. 漫谈Servlet(一)
  8. 解决Linux新安装的虚拟机没有网
  9. css单行文本和多行文本溢出实现省略号显示
  10. [抽奖系统下载]多进程现场抽奖展示系统V2-双屏PPT版-专业抽奖展示工具-具有强劲引擎的抽奖系统-PPT双屏技术深度应用,国内唯一
  11. 2020Java学习路线(珍藏版)
  12. 计算机网络 校园网规划与设计方案,校园网网络规划与设计的方案.pdf
  13. UE4编辑器下Tick的实现
  14. navicat下载安装、连接MySQL数据库操作教程(官网下载)
  15. 最小生成树-Prim + Kruskal算法
  16. 【PYTHON】利用Python爬取电影网站
  17. vs2008简体中文正式版序列号和下载地址
  18. 计算机平面设计福建专科学校,2016年福建单招视觉传达设计专业的学校有哪些?...
  19. 力扣 731. 我的日程安排表 II
  20. 简单分析为什么知识要付费

热门文章

  1. (转)STORM启动与部署TOPOLOGY
  2. list 分组求和_数据分析-python-分组聚合-2
  3. 远程无法连接数据库的问题
  4. 关于本博客数据仓库方面的原创文章汇总
  5. Win7+keras+tensorflow使用YOLO-v3训练自己的数据集
  6. SpringCloud:汇总(Gradle项目)
  7. 优雅的封装ajax,含跨域
  8. 物尽其用-让推荐系统成为你学习的助手
  9. 如何让主机合规分析报告评分达到90分?
  10. Reactjs不能忽略的key