C语言积累一点点
778. 水位上升的泳池中游泳
https://leetcode-cn.com/problems/swim-in-rising-water/
839. 相似字符串组
https://leetcode-cn.com/problems/similar-string-groups/
312.戳气球
https://leetcode-cn.com/problems/burst-balloons/
说明:
你可以假设 nums[-1] = nums[n] = 1,但注意它们不是真实存在的所以并不能被戳破。
0 ≤ n ≤ 500, 0 ≤ nums[i] ≤ 100
1 /*区间dp是分治思想的一个应用
2 大区间的解可以由小区间的解合并而成 故先将大区间分解成小区间 最后再将小区间的解合并得到大区间的解
3 体现了分而治之再归并的分治法思想
4 故区间dp所要做的就是:
5 1.如何划分
6 2.在何处划分
7 在何处划分只需要枚举区间中的一个分割点即可 最关键的是确立“如何划分”这个问题
8 既然区间dp用到了分治法的思想 则可以用分治法来思考问题
9 分治法分解子问题的一个重要特点就是子问题彼此独立 互不干扰
10 所以在“如何划分”这个问题上也应该遵守划分的子区间之间彼此独立 互不干扰
11 现在有一区间[i,j]在区间中选取一点k 将区间拆分为[i,k-1],[k+1,j]
12 如果戳爆第k个气球 毫无疑问 两个区间将会产生交集 k-1与k+1将会直接相邻 子问题无法做到彼此独立 互不干扰
13 但现在换一种思路:
14 先分别求出区间[i,k-1]与区间[k+1,j]的解 再戳爆第k个气球 这样两个区间就不会产生交集 两个区间的求解过程彼此独立 互不干扰
15 每求完一段区间的解 该区间的气球数都会变成零
16 故当求解完两端区间的解时 只剩下了三个气球 i-1 k j+1 故此时再戳爆第k个气球
17 得到 nums[i-1]xnums[k]xnums[j+1]
18 故状态转移方程为dp[i][j]=max(dp[i][j],dp[i][k-1]+dp[k+1][j]+nums[i-1]xnums[k]xnums[j+1]);
19 注意边界条件 不要让数组越界*/
两数之和
https://leetcode-cn.com/problems/two-sum/solution/conlogner-fen-nei-er-fen-by-boille/
5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案
https://leetcode-cn.com/problems/longest-palindromic-substring/
1024. /
视频拼接 https://leetcode-cn.com/problems/video-stitching
1027. 最长等差数列
https://leetcode-cn.com/problems/longest-arithmetic-sequence/
300. 最长上升子序列
https://leetcode-cn.com/problems/longest-increasing-subsequence/
C语言积累一点点的更多相关文章
- python语言积累
调试打印堆栈 import traceback traceback.print_exc() #打印堆栈的详细信息
- sql语言积累
Persons 表: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth ...
- JVM 平台上的各种语言的开发指南
JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的 ...
- Dart 语言简述
Dart是一种“结构化的web编程”语言,Dart编程语言在所有现代浏览器和环境中提供高性能.Dart是谷歌开发的计算机编程语言,后来被ECMA认定为标准. Dart重要的概念: 1.所有的东西都是对 ...
- 再起航,我的学习笔记之JavaScript设计模式02
我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 我们 ...
- 再起航,我的学习笔记之JavaScript设计模式26(解释器模式)
解释器模式 概念介绍 解释器模式(Interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 获取元素在页面中的路径 我们都知道获取一个 ...
- Python基础学习参考(二):基本语法
一.基本语法 既然是学习一门语言,它肯定有区别与其它语言的语法规则,现在就来解释一下python的语法规则是什么? 注释:通过"#"可以对python进行注释,注意是单行注释,如果 ...
- Python安装MySQL数据库模块
背景 折腾: [记录]使用Python操作MySQL数据库 的过程中,需要去安装MySQLdb. 下载MySQLdb 去官网: http://pypi.python.org/pypi/MySQL-py ...
- PHP变量入门教程(2)超全局变量,总共9个
PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量.该数组的键标为全局变量的 名称.从 PHP 3 开始存在 $GLOBALS 数组. $_SERVER 变量由 ...
随机推荐
- 详细分析 Java 中实现多线程的方法有几种?(从本质上出发)
详细分析 Java 中实现多线程的方法有几种?(从本质上出发) 正确的说法(从本质上出发) 实现多线程的官方正确方法: 2 种. Oracle 官网的文档说明 方法小结 方法一: 实现 Runnabl ...
- netty关键字
------------恢复内容开始------------ buffer 本质读写的内存,三个属性:capacity.position和limit capacity:容器大小 position:读写 ...
- spring+springmvc+mybatis+shiro
创建maven框架https://blog.csdn.net/Ajax_mt/article/details/78549119 具体下边 https://blog.csdn.net/w2222288/ ...
- C++系列教程
C++系列教程: 本人是一个高二狗C++小白,之前徘徊在Python和易语言等一些语言之间,这是我几天学习收获的结果,该教程是我自己搜集整理,再加上自己对C++的理解编写的,也是一个偏经验类型的,希望 ...
- Jetson AGX Xavier/Ubuntu安装QT
安装QT命令 sudo apt-get install qt5-default qtcreator -y 如果出现错误:unknow module webenginewidgets serialpor ...
- 树形DP 学习笔记
树形DP学习笔记 ps: 本文内容与蓝书一致 树的重心 概念: 一颗树中的一个节点其最大子树的节点树最小 解法:对与每个节点求他儿子的\(size\) ,上方子树的节点个数为\(n-size_u\) ...
- 【基础】dp系列1
序列双段最大子段和问题 (也许很水但蒟蒻刚刚学dp就来记录一下) 题目链接 题意就是求序列中的任意两段的最大子段和最大. 我们先预处理出来前缀和,方便求最大子段和. 对于每一个i都求一遍1到i的最大子 ...
- tomcat:tomcat安装(在一台电脑上安装两个tomcat)
1.安装前的说明 (1)在安装第二个tomcat之前,我们要知道安装一台tomcat的时候需要在电脑上添加两个系统变量 然后在path中配置: (2)这个时候我们就要思考了,当安装第二台服务器的时候首 ...
- SpringSecurity原理
一.认证的两种方式的介绍 1. 基于Session的认证方式 在之前的单体架构时代,我们认证成功之后都会将信息存入到Session中,然后响应给客户端的是对应的Session中数据的key,客户端会将 ...
- 解决mvn clean install的报错The packaging for this project did not assign a file to the build artifact
解决mvn clean install的报错The packaging for this project did not assign a file to the build artifact