各种蹂躏——基础dp
来源:互联网 发布:java接口管理系统 编辑:程序博客网 时间:2024/05/14 17:39
(1) LIS: 很久之前就学过nlogn的LIS,不过早就忘了,今天一考,甚至没想到这就是LIS,然后各种蹂躏;
维护一个队列:v[];v[i]表示长度为i的采摘顺序的最后一个采摘的西瓜的最小值,这样可以保证v数组是单调递减的。这样在每次查询中都可以根据单调性二分。就将复杂度将为nlogn。
(2) LCS: 又是很久之前学过的,不过当时就没怎么搞清楚,现在明白了,就是用一个矩阵求两个字符串的匹配情况,然后求最长的对角线。空间复杂度O(n*n) 时间复杂度O(n*n),主要是优化空间,滚动数组。
f[i][j]=f[i-1][j-1]+1;a[i]==b[j]
f[i][j]=max(f[i][j-1],f[i-1][j]);a[i]!=b[j]
优化后:
f[i][size]=f[i-1][1-size]+1;a[i]==b[j]
f[i][size]=max(f[i-1][size],f[i][1-size])a[i]!=b[j]
(3)最大M子段和:f[i][j]=max(f[i-1][j-1],f[i-1][t])+a[j], j<=t<=i;但因为空间要爆,所以要优化空间:
滚动数组 f[i]=max(f[i-1],best[1-size][i-1])+a[j];best[i][size]=max(best[i-1][1-size],f[i]);
- 各种蹂躏——基础dp
- 蹂躏
- MySQL 基础 —— 数据类型、各种变量
- poj 2096——基础期望dp
- 【Ural1167】 Bicolored Horses——基础Dp
- Java基础——各种“进制”的知识
- java基础——各种变量你晕了不?
- Object-C 基础之3 — 字符串类各种操作方法
- 就这样被六级蹂躏
- 继续蹂躏linux
- 各种DP的总结
- poj2342/poj3342——基础的树形DP
- 区间DP基础篇之 POJ2955——Brackets
- 区间DP基础篇之 POJ1159——Palindrome
- POJ 2342——Anniversary party(树形dp基础)
- 基础dp之——hd1257 最少拦截系统
- HDU 1058 Humble Numbers—dp动态规划基础题
- [jzoj]1004. 【东莞市选2007】格斗俱乐部(基础区间DP的各种思路)
- JSP(2)之JDBC、JavaBean、Servlet、JSTL
- 如何制作一款像超级玛丽兄弟一样基于平台的游戏-第一部分 (xcode,物理引擎,TMXTiledMap相关应用)
- uRxvt 字体配置及时生效命令
- android webview 常见问题
- Spring数据源配置
- 各种蹂躏——基础dp
- zoj 2362 Beloved Sons【二分匹配】
- poj 2676 Sudoku
- C++与Java的语法区别
- 如何制作一款像超级玛丽兄弟一样基于平台的游戏-第二部分 (xcode,物理引擎,TMXTiledMap相关应用)
- 人生规划第一步--以此为证,时刻鞭笞自己!
- POJ 2739题解---小菜
- 不刷机让越狱后的iphone恢复出厂设置
- web服务器boa的移植