社区讨论

第一个样例怎么得出来的......

P2362围栏木桩参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mi6xej7j
此快照首次捕获于
2025/11/20 12:23
4 个月前
此快照最后确认于
2025/11/20 12:23
4 个月前
查看原帖
样例 20 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
样例输出 11 10
不应该是 11 2吗
蒟蒻代码 :
CPP
#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
int g,n,i,j,l,k,a[1005];
int b[1005];
struct qwq
{
    int sum,next;
}f[10005];
int main()
{
    std::ios::sync_with_stdio(false);
    cin>>g;
    while (g--)
    {
        memset(b,0,sizeof(b));
        cin>>n;
        for (i=1; i<=n; i++) 
        {	
            cin>>a[i];
            f[i].sum=1;
        }
        for (i=n-1; i>=1; i--)
        {
            l=0;
            for (j=i+1; j<=n; j++) 
            if (a[i]<=a[j])
                if (f[j].sum>l)
                {
                    l=f[j].sum;
                    k=j;
                }
            f[i].sum+=l;
        }
        for (i=1; i<=n; i++) 
            for (j=i+1; j<=n; j++)
            if (a[i]<=a[j]) 
                if (f[i].sum==f[j].sum+1) {b[f[i].sum]++; if (f[i].sum==11)cout<<i<<" "<<j<<endl;}
        b[1]=n;
        for (i=n; i>=1; i--) if (b[i]>0) {cout<<i<<" "<<b[i]<<endl; break;} 
    }
}

回复

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

正在加载回复...