社区讨论

询问问题并质疑数据

P10954LCIS参与者 13已保存回复 24

讨论操作

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

当前回复
23 条
当前快照
1 份
快照标识符
@m08tp3n3
此快照首次捕获于
2024/08/25 08:20
2 年前
此快照最后确认于
2025/11/05 00:34
4 个月前
查看原帖
该题 #4 测试点使用快读会 TLE,scanf 就能过,我不知道这是我的问题还是数据出锅,望管理员调查 #4 数据点或者有大佬帮忙解答。
附代码
快读(TLE):
CPP
#include<bits/stdc++.h>
#define int long long
#define pii pair<int,int>
using namespace std;
inline int read(){
    char ch=getchar();int x=0;bool f=1;
    while(ch<'0'||'9'<ch){if(ch=='-')f=0;ch=getchar();}
    while('0'<=ch&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
    return f?x:-x;
}
const int N=3005;
int n,ans,a[N],b[N],f[N];
signed main(){
    n=read();
    for(int i=1;i<=n;i++)a[i]=read();
    for(int i=1;i<=n;i++)b[i]=read();
    for(int i=1;i<=n;i++){
        int num=0;
        for(int j=1;j<=n;j++){
            if(a[i]==b[j])f[j]=num+1;
            if(b[j]<a[i])num=max(num,f[j]);
            ans=max(ans,f[j]);
        }
    }
    printf("%lld\n",ans);
    return 0;
}
scanf(AC):
CPP
#include<bits/stdc++.h>
#define int long long
#define pii pair<int,int>
using namespace std;
inline int read(){
    char ch=getchar();int x=0;bool f=1;
    while(ch<'0'||'9'<ch){if(ch=='-')f=0;ch=getchar();}
    while('0'<=ch&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
    return f?x:-x;
}
const int N=3005;
int n,ans,a[N],b[N],f[N];
signed main(){
    n=read();
    for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
    for(int i=1;i<=n;i++)scanf("%lld",&b[i]);
    for(int i=1;i<=n;i++){
        int num=0;
        for(int j=1;j<=n;j++){
            if(a[i]==b[j])f[j]=num+1;
            if(b[j]<a[i])num=max(num,f[j]);
            ans=max(ans,f[j]);
        }
    }
    printf("%lld\n",ans);
    return 0;
}

回复

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

正在加载回复...