首页 > 其他分享 >B3637-DP【橙】

B3637-DP【橙】

时间:2023-12-10 18:55:05浏览次数:26  
标签:sort 5000 int B3637 include 复杂度 DP

这题我用sort的时候大意了,从1开始使用的下标但是用sort时没加1导致排序错误,排了半天错才发现。
另外,这道题我似乎用了一种与网络上搜到了做法截然不同的自己的瞎想出来的做法,我的这个做法需要n^2级别的空间复杂度,但好在这道题数据刚刚好允许我开二维数组于是便AC了。
随后开始看时间复杂度是n^2空间复杂度是n的正解,理解了,但感觉很奇怪,主要就是不知道这个思路应该怎么凭空想出来。至于nlogn的优化算法则是压根第一时间就没看明白。

Code

#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
#include <unordered_map>
#include <cmath>
using namespace std;

int n,a[5000+5],b[5000+5],m[1000000+5],dp[5000+5][5000+5];
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		b[i]=a[i];
	}
	sort(b+1,b+1+n);
	for(int i=1,p=1;i<=n;i++)
	{
		m[b[i]]=p;
		if(b[i+1]!=b[i])p++;
	}
		
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n+1;j++)
		{
			if(m[a[i]]<j)dp[i][j]=max(1+dp[i-1][m[a[i]]],dp[i-1][j]);
			else dp[i][j]=dp[i-1][j];
		}
	}
	cout<<dp[n][n+1]<<endl;
	return 0;
}

标签:sort,5000,int,B3637,include,复杂度,DP
From: https://www.cnblogs.com/gongkai/p/17893061.html

相关文章

  • P1439-DP【绿】
    轻敌了啊...题目一共只有几句话但我却忽略了一个重大信息...总之我显示写出了时空复杂度都是n^2级别的朴素递推算法,这没什么,基本功而已,然后50分我试了试滚动数组,把空间复杂度降到了n级别,但没什么用,解决了MLE但仍然TLE。后来我想到记搜应该能算的更快,毕竟有些用不到的点用搜索就......
  • wordpress整合 Prism.js实现代码高亮 切图网自用
    Prism.js是一个简约漂亮的代码高亮插件,就冲简单好用就值得一用,如何把它整合到wordpress,附代码,也是切图网自己再用的。代码添加到主题的functions.php中//自定义代码高亮按钮functionappthemes_add_quicktags(){if(wp_script_is('quicktags')){?><s......
  • 传输层TCP|UDP
    TCP/UDP简介TCP和UDP是两种常见的互联网传输协议,它们都是在IP网络上运行的传输层协议。TCP(TransmissionControlProtocol:传输控制协议)是一种面向连接的可靠协议。它提供数据传输的有序性、完整性、流量控制和拥塞控制。TCP的通信过程包括三次握手建立连接和四次挥手断开连接。使用......
  • P1004-DP【绿】
    这道题很有趣,暴搜的时间复杂度太过于凶残O(K*(2^n)^2)(K的意思是大常数),不过作为提高组T4,这道题数据范围太小了,感觉哪怕是离谱的暴搜也能过。再加上一时半会没想好多项式时间复杂度的正解DP,就搞了一个四不像出来,第一次走用搜索来实现第二次走用记搜来实现,这样时间复杂度就是O((2^n)*......
  • P1854-DP【绿】
    首先通过这道题我收获了一个知识,那就是deque可以直接赋值,作用和vector类似就是复制一个一摸一样的deque,很好用,越来越发现deque眉清目秀了起来。以后deque可能是我最常用的STL结构了。毕竟queue、stack都用deque来实现明显更方便而且不会多占用什么空间的。一眼便能看出,这道题用记......
  • P1541-DP【绿】
    刚开始理解错题意了,题中说“玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片”指的是不能用同一张卡片,我给理解成不能连续用同一种卡片了。后来想想其实题目中的说法歧义不大,是我粗心才导致看错的。最终我看错的导致了题目难度更高一些,偏偏写完了更高难度的题之......
  • 既然UDP更快,为啥这么多年一直用TCP ?
    你们好啊,我是老杨。有点基本技术常识的粉丝朋友都知道,UDP肯定是比TCP快的。很多人对TCP和UDP的了解很浅,直到自己真的经历了一些通信项目之后,你才会愿意根据实际情况埋头苦学,企图“速成”一下。要是问你为什么快,我相信大多数人,也是能从各个角度,说上几句有的没的。但是,既然如此,为什么......
  • centos安装xrdp服务,可以使用系统用户mstsc连接
    Centos6安装依赖yuminstall-yautoconfautomakelibtoolpkg-configopenssl-develpam-devellibjpeg-develfuse-develTurboJPEGlibX11-devellibXfixes-devellibXrandr-develnasmbinutilsredhat-lsb-coreCentos7安装依赖yuminstall-yfingercmakepatchgccma......
  • 构建用于复杂数据处理的高效UDP服务器和客户端
    title:构建用于复杂数据处理的高效UDP服务器和客户端banner_img:https://cdn.studyinglover.com/pic/2023/12/334c0c129076533308cbc7e03f8c55be.pngdate:2023-12-723:03:00tags:-踩坑构建用于复杂数据处理的高效UDP服务器和客户端引言在当今快速发展的网络通信世界......
  • P1725-DP【绿】
    这道题最开始我用记搜写的,然后WA了一些点,后来看了半天才发现是数组开小了,原来他给了两个数据范围,一个是60%数据的数据范围,另一个是100%数据的数据范围。我没仔细看,没看见后面那行,把60%数据当成本题数据范围了....自然WA了(不过有点好奇为什么不是RE,但是不重要,这种情况不罕见)然后,增......