蜜汁re求助
查看原帖
蜜汁re求助
912241
dream_on_screen楼主2024/8/11 23:16

在本地测试没有re,在atcoder的costom test里面测试了n=1200的数据也没有re,但是在洛谷上测试同样的数据就re了,交上去re了8个点

#include <iostream>
#include <algorithm>
using namespace std;
int n,a[510000];
int p[40][510000],high[40];
int mian()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        cout<<i<<endl;
    }
    cout<<"e";
    sort(a+1,a+n+1);
    cout<<"a";
    for(int i=1;i<=n;i++)
        high[i]=0;
        cout<<"b";
    for(int i=1;i<=n+1;i++)
        for(int j=0;j<=30;j++)
            p[j][i]=0;
    cout<<"c";
    for(int i=1;i<=n;i++)
        for(int j=30;j>=1;j--)
            if((a[i]>>(j-1))&1)
            {
                high[i]=j;
                break;
            }
    cout<<"d";
    for(int i=1;i<=30;i++)
        for(int j=n;j>=1;j--)
        {
            p[i][j]=p[i][j+1];
            if(((a[j]>>(i-1))&1)==1)
                p[i][j]++;
        }
    cout<<"e";
    long long ans=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i]==0)
        {
            ans+=n;
            continue;
        }
        int k=lower_bound(high+1,high+n+1,high[i]+1)-high;
        ans+=p[high[i]][k];
    }
    cout<<ans<<"\n";
    return 0;
}
int main()
{
    int t;
    cin>>t;
    for(int i=1;i<=t;i++)
        mian();
    return 0;
}

可能加入了一些调试语句,但是应该不会影响re的吧

2024/8/11 23:16
加载中...