社区讨论

样例全过但大红大紫

P2008大朋友的数字参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m3vlaeti
此快照首次捕获于
2024/11/24 20:42
去年
此快照最后确认于
2024/11/24 22:18
去年
查看原帖
CPP
#include<iostream>
using namespace std;
int a[10010];
int dp[10010];
int sum[10010];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	sum[1]=a[1];
	dp[1]=a[1];
	cout<<sum[1]<<" ";
	for(int i=2;i<=n;i++)//以i为结尾的LIS 
	{
		int cnt;
		for(int j=i-1;j>=1;j--)
		{
			if(a[i]>=a[j])
			{
				dp[i]=max(dp[i],dp[j]+1);
				if(dp[j]+1==dp[i])
				{
					cnt=j;
				}
			}
			else
			{
				dp[i]=max(dp[i-1],dp[i]);
//				cout<<i<<":"<<j<<'\n';
			}
		}
		sum[i]=sum[cnt]+a[i];
		cout<<sum[i]<<" ";
	}
//	cout<<'\n';
//	for(int i=1;i<=n;i++)
//	{
//		cout<<dp[i]<<" ";
//	 } 
}

回复

0 条回复,欢迎继续交流。

正在加载回复...