196/210/174,SH,有7级吗

学术版

Spasmodic @ 2020-12-05 22:21:56

rt

分别是洛谷无O2/洛谷有O2/oi tiku

还有,T2 O(n\log n\log 26) 他妈咋卡成 84 的


by Aestas16 @ 2020-12-05 22:22:55

等级不看省份吧 /kk


by _5011_ @ 2020-12-05 22:22:57

动态内存巨大常数?


by Aestas16 @ 2020-12-05 22:23:26

借楼问一下 oitiku 188 lg 178 大概几级


by panyf @ 2020-12-05 22:23:49

lognlog26 84不是很正常吗,logn+26都有人被卡成84


by wangjinbo @ 2020-12-05 22:24:07

你这个复杂度不卡成84才怪,不带log 26都悬


by 无情。浪剑心 @ 2020-12-05 22:24:08

为什么你们都是洛谷分比oi tiku高qwq

我oi tiku比洛谷高了60分


by Spasmodic @ 2020-12-05 22:24:29

@Zephyr_

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const ll N=1048600;
const ull B=37;
ll T,n,ans,cnt[26],pref[N],sucf[N],bit[28];
ull pw[N],hsh[N];
void update(ll x,ll v){for(;x<=27;x+=x&-x)bit[x]+=v;}
ll sum(ll x){ll res=0;for(;x;x-=x&-x)res+=bit[x];return res;}
char s[N];
bool valid(ll i,ll j){
    return hsh[i]*pw[j-i]==(hsh[j]-hsh[j-i]);
}
int main(){
    freopen("string.in","r",stdin);
    freopen("string.out","w",stdout);
    for(scanf("%lld",&T);T--;){
        scanf("%s",s+1);ans=0;
        n=strlen(s+1);
        memset(sucf,0,sizeof(sucf));
        memset(pref,0,sizeof(pref));
        memset(cnt,0,sizeof(cnt));
        for(ll i=1;i<=n;i++){
            cnt[s[i]-'a']++;
            for(ll j=0;j<26;j++)pref[i]+=(cnt[j]%2==1);
            pref[i]++;
        }
        memset(cnt,0,sizeof(cnt));
        for(ll i=n;i;i--){
            cnt[s[i]-'a']++;
            for(ll j=0;j<26;j++)sucf[i]+=(cnt[j]%2==1);
            sucf[i]++;
        }
        memset(hsh,0,sizeof(hsh));
        pw[0]=1;
        for(ll i=1;i<=n;i++)pw[i]=pw[i-1]*B,hsh[i]=hsh[i-1]*B+s[i]-'a';
        memset(bit,0,sizeof(bit));
        for(ll i=1;i<n;i++){
            for(ll j=i;j<=n;j+=i)
                if(valid(i,j))ans+=sum(sucf[j+1]);
                else break;
            update(pref[i],1);
        }
        printf("%lld\n",ans);
    }
    return 0;
}

by Seauy @ 2020-12-05 22:25:37

我这个复杂度 96……可能要用个getchar?


by 李达琦 @ 2020-12-05 22:26:01

这显然得卡成 84 罢.....


by zhoukangyang @ 2020-12-05 22:26:30

Tnlognlog26 手算算大概是 5e8

卡掉也算正常吧(


| 下一页