QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#472053#1219. 你的名字windviolet0 0ms0kbC++203.6kb2024-07-11 14:04:002024-07-11 14:04:01

Judging History

This is the latest submission verdict.

  • [2024-07-11 14:04:01]
  • Judged
  • Verdict: 0
  • Time: 0ms
  • Memory: 0kb
  • [2024-07-11 14:04:00]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e6+5;
const int INF=1e9+9;
char s[N];
struct Node{
	int x,y,id;
}t1[N],t2[N];
int rk[N],sum[N];
int sa[N];
int height[N];
struct Query{
	string ss;
	int siz;
	int l,r;
}qu[N];
int _log[N];
int min_n[N][25];
int allen;
void init(){
	for(int i=1;i<allen;i++)min_n[i][0]=height[i];
	for(int i=1;i<=_log[allen-1];i++){
		for(int j=1;j<=allen-(1<<i);j++){
			min_n[j][i]=min(min_n[j][i-1],min_n[j+(1<<(i-1))][i-1]); 
		}
	}
}
int query(int l,int r){
	return min(min_n[l][_log[r-l+1]],min_n[r-(1<<_log[r-l+1])+1][_log[r-l+1]]);
}
set<int>tar;
set<int>::iterator IT;
int tmp[N],tmplen=0;
int ll[N],rr[N];
signed main(){
	freopen("1.txt","r",stdin);
	freopen("1.out","w",stdout);
	_log[0]=1;
	for(int i=2;i<=2e6;i++){
		if(i==(1<<(_log[i-1]+1)))_log[i]=_log[i-1]+1;
		else _log[i]=_log[i-1];
	}
	string all;
	all.clear();
	string n7;
	cin>>n7;
	int n=n7.size();
	for(int i=0;i<n;i++)all+=n7[i];
	all+='<';
	int q;
	cin>>q;
	for(int i=1;i<=q;i++){
		cin>>qu[i].ss;
		//cout<<qu[i].ss<<"\n";
		scanf("%lld%lld",&qu[i].l,&qu[i].r);
		qu[i].siz=qu[i].ss.size();
		qu[i].l=all.size()+1;
		for(int j=0;j<qu[i].siz;j++)all+=qu[i].ss[j];
		qu[i].r=all.size();
		all+='>';
	}
	//cout<<all<<"\n";
	allen=all.size();
	//cout<<allen<<"??\n";
	for(int i=0;i<allen;i++){
		sum[all[i]-'0']++;
	}
	for(int i=1;i<=129;i++){
		sum[i]+=sum[i-1];
	}
	for(int i=1;i<=allen;i++){
		rk[i]=sum[all[i-1]-'0'];
		//cout<<rk[i]<<"??\n";
	}
	for(int B=1;B<=allen;B<<=1){
		for(int i=1;i<=allen;i++){
			t1[i].id=i;
			t1[i].x=rk[i];
			t1[i].y=rk[i+B];
		}
		for(int i=0;i<=allen;i++)rk[i]=0;
		for(int i=1;i<=allen;i++)rk[t1[i].y]++;
		for(int i=1;i<=allen;i++)rk[i]+=rk[i-1];
		//for(int i=1;i<=n;i++)cout<<rk[i]<<"\n"; 
		for(int i=1;i<=allen;i++)t2[rk[t1[i].y]--]=t1[i];
		//for(int i=1;i<=n;i++)cout<<rk[i]<<"\n";
		for(int i=0;i<=allen;i++)rk[i]=0;
		for(int i=1;i<=allen;i++)rk[t2[i].x]++;
		for(int i=1;i<=allen;i++)rk[i]+=rk[i-1]; 
		for(int i=allen;i>=1;i--)t1[rk[t2[i].x]--]=t2[i];
		for(int i=1;i<=allen;i++){
			if(t1[i].x==t1[i-1].x&&t1[i].y==t1[i-1].y)rk[t1[i].id]=rk[t1[i-1].id];
			else rk[t1[i].id]=rk[t1[i-1].id]+1;
			//cout<<t1[i].id<<" "<<rk[t1[i].id]<<"\n";
		}
		//cout<<"\n";
		//cout<<"\n";
	}
	for(int i=1;i<=allen;i++)sa[rk[i]]=i;
	//for(int i=1;i<=allen;i++)cout<<sa[i]<<" ";
	//cout<<"\n";
	int p=0;
	for(int i=1;i<allen;i++){
		if(p>0)p--;
		//if(rk[i]==13)cout<<p<<"p\n";
		while(all[sa[rk[i]]+p-1]==all[sa[rk[i]-1]+p-1])p++;
		//if(rk[i]==13)cout<<p<<"p\n";
		height[rk[i]]=p;
	}
	for(int i=1;i<=allen;i++){
		ll[i]=0;
		rr[i]=INF;
	}
	for(int i=1;i<=n;i++){
		ll[rk[i]]=rk[i];
		rr[rk[i]]=rk[i];
	}
	for(int i=2;i<=allen;i++)ll[i]=max(ll[i],ll[i-1]);
	for(int i=allen-1;i>=1;i--)rr[i]=min(rr[i],rr[i+1]);
	for(int i=1;i<allen;i++)height[i]=height[i+1]; 
	//for(int i=1;i<=allen;i++)cout<<height[i]<<" ";
	//cout<<"\n";
	init();
	for(int i=1;i<=q;i++){
		int ans=0;
		tmplen=0;
		for(int j=qu[i].l;j<=qu[i].r;j++){
			tmp[++tmplen]=rk[j];
		}
		sort(tmp+1,tmp+tmplen+1);
		ans=(qu[i].r-qu[i].l+1)*(qu[i].r-qu[i].l+2)/2;
		for(int j=1;j<=tmplen;j++){
			int max_x=0;
			int l=(ll[tmp[j]]==0)?-1:ll[tmp[j]];
			int r=(rr[tmp[j]]==INF)?-1:rr[tmp[j]];
			if(j!=1)l=max(l,tmp[j-1]);
			//cout<<l<<" "<<r<<"?\n";
			if(l!=-1)max_x=max(max_x,query(l,tmp[j]-1));
			if(r!=-1)max_x=max(max_x,query(tmp[j],r-1));
			//cout<<"?\n";
			//if(max_x)cout<<max_x<<"??\n";
			ans-=max_x;
			//cout<<max_x<<"\n";
		}
		//cout<<qu[i].siz<<"?\n";
		cout<<ans<<"\n";
	}
	return 0;
} 

詳細信息

Test #1:

score: 0
Dangerous Syscalls

input:

aadccabccdcddcdabbbdbdaabcadbcadcccdcadbadaabaaacbacdcdccdcdabbbdbdaadcabdabdbacabdadadbdadbdcddbcbcbaddaaaabccdaddcaaabdbabbcabdbcdccaaddbdcdbbcaccdababdbbdabdcbcccacbddddaacbaccaacadbdbdcabc
190
acdabdbcdcabbacbdacaccbcaddadabccdaabdcdcbcdaadccadcdcaccdcaadcaaddccddbbbadbadbdcaacccdbbbcbdbabcacacb...

output:


result:


Test #2:

score: 0
Dangerous Syscalls

input:

adbdadddcaddcdaacabadbbbacccaadddcdabaaccbbcbacccbdcdbaabbcbddcdadcabcacccccddbdabbbaacaadcdaddbabcabbbddcdccbaddbbbcdbcabdaaabbdaaadcdacbabccdadbabbdaddcbccddadbdcabcdaabbbabcdacbcaaccabcbaabcbcddcddbbbbaadacbddabbdddabbddbcbdabccbbdacbbdccdbddcdcdcadadbbacbdabbbcddcbadcdddaaabdbbdadddaabbdbaaccdab...

output:


result:


Test #3:

score: 0
Dangerous Syscalls

input:

abbabcabadbcbbccbabdcbbacdddcccddadabcadabaadcaddbaaccacaabcbbbcabbbdcbadbaadccdbbdbaaccadbbabdccbcaabbaaccabcbabbcaacbdbbadadbdcbddbbcddcaaacbadabbaacaadddacbadbbddaabbcaccdbdabbcdbbccadccaadabccdaddcabbabadadabdbbadacadcaacbcdccdccaddaacdccbacadaccdbccddacbdcabadbcbbaaccbbabcddccdaabacbcbdbcbdbddb...

output:


result:


Test #4:

score: 0
Dangerous Syscalls

input:

ddadbccdbdaacdacabdadadcbdbbadddcadbdadddcaddbbacbddddacccccbcabbbdaddcacbbcaaadaaddadadddbadabbadcdbacbdaddadbbbbccdbacaaabcacccdccaaabaddababacdbaccbbbddaabaacadbcddbbcaaccbbbbbdaddaabddbcdbaacbcadbdbccbcbbdacdacbbbcdccadcdbaacbcaadbabadcaccabdddacacabdbcdadccaddcdcaaabcacccbdbdadcbdcabddabbdabdcd...

output:


result:


Test #5:

score: 0
Dangerous Syscalls

input:

bacccaaabdacddbbabdabccbdabddccdbcdcdbdbccbddbbcaaddaacdcaaadcbcaddbabbaddaaaddaaccdcaccacababccaddaccbcacbbdccabaacacdcbccbdbadcdbbbbacacdcbbbbaadbcbaadbcadadbbddbccaadbdbcbabdaacdcdacdbcdbdccdabbacbddabcabccbbabcddbdddcaabbcaddbbdabcaddbbcaadabcbdcabcacdaabbdddadaacbbccdbccdabbdcaddddcccdaaaaddada...

output:


result:


Test #6:

score: 0
Dangerous Syscalls

input:

jmoifvagmonbuxznpdxtcgfycygerridhihasxonifvcorwbbadpyjvgyveicsfcrcjjecfktxuumtvfjxocbgeoeefrzlykfqeaarrlhkjovevehnezlcjikjjjfuxfoclvirrbctlicoitgwnphfzgzepxyejlsijruxxdvzahqjpaqhgcumtjnwkbskyengdgzbtxteacjoyvndwiturrdtlcyccbckhmlfyqohfcjvzhtcuqxxpexkvlckohvidmwkghiijakocqyjskcfoxxzffzgtylbiyythobvdx...

output:


result:


Test #7:

score: 0
Dangerous Syscalls

input:

jxfsgnlqidcnbfleihizzderbbyzminbutjjknmojrymnghyunksfsqtfijisxyxfaygactkupfrpnugcrvhseqxpdiyrzrzanctqtygvhpumvlxwmvduwbysmkzpckcgbjxmlgyfhdpdjqehloisnpilhpshexuljbjlnkcbkjcnpudmycjigdirokeyvcvkmkrsyjbftizewmcfyuxghxqmwmqdvhswdnsjvybvefdnupdkrqcvnlnfbybifdovvapsdjoppvzvkmxjzevqifzclignjponvndafghncmm...

output:


result:


Test #8:

score: 0
Dangerous Syscalls

input:

lbmckmhibhhmgglmcbfkclhacldibgaadakchjabmimjlidhhldljfmkegaieahdbjccdhjefbfebedjiefeflbejkihgjbfgeflchegbamekdlaaacfgabdabmfgjgfmjailbdgbhfbmaaclcidkkgldmejjhcmahhmgkimgfclcgkkalgdcmaiieakmkmflhbdmmibkbkfcjieekbccheahgegkfchfchemgkfghmiabllamichbbdbhjlcfafkijgihgmekhkdebkfbkdagdbhcgjmkamlfhmkjgmfafl...

output:


result:


Test #9:

score: 0
Dangerous Syscalls

input:

uwhchfeaycdqlasqdrbylqxaridtgcmyrmkdfdahthdwvkojhqxacqomockaqqoanitzhkmcgcdvniteghvxiyjrqziqjiuljewrdwaabtqwfrfalgloikpxcllbngrzphwcsdmiflqvznvuvxivxsvpqfgkefowexaoplhqfenuwawvwhtmocrmqifqdbyudhmkgiucudnxbjaucppbzobxpmqufhvexdvyjiefmxlfpczvqiuqucvnryxicvusurdiaavudphnnmfqgtichpwfvpaglqqzlmbwwwjohdgx...

output:


result:


Test #10:

score: 0
Dangerous Syscalls

input:

kimblfhedhamehaaacifgbgflkkldkalaakkhlaiejmeccmcffablhblmggjdmkbhljkkhgfjklieakmkjaamgikmccfkfghljahlkijgjdaechcbifailjcglkkedlgicjebfhiebkfciljkeacceejmkaalhcajfhfmkcecdklbdajdlfikkhiekdbebjbbdfgjcjhfbkclbhbbhjfdffegebkjfkcdilemclilbhflaihgihcgkldcbaakhdjhbekibbigibjdmjbbfalhccmddmckgljfmhgjbalbdjg...

output:


result:


Test #11:

score: 0
Dangerous Syscalls

input:

hpfxngoxndlosbzylksgzehfhkodfvqwwbtwlreetgeusomoymlaukhqqeqhfawfvuqjbwyrtwwjzmrtrnhvibtibiachlutcqbsydmynzxzdrkydyyekbmezwhvvfngnlklzdjpgbpjatahwuvoluqjoefktvlwdtynwprfekbpvgqtwmwneaofpktxfudwpibhlqmiybqbvsfsywlbktjcqvzwxtddkmliwukvkqsdssszsbmtnpynoohpgclvufblcdvqwrpjtuayinwqppbuidyynbpaolisqodbrqqt...

output:


result:


Test #12:

score: 0
Dangerous Syscalls

input:

cdfmjmimggmlmabjlakafafdgkbdkaclfemhajdamjkliajhmajfidkghmejelfkjedddkcgbdidelhghbabckiihdjhdjhakmeldjbikdagdfhalfikeggefcmehhgccilmaehhkagafafaegjgakjekcbhbbjgfhimhmlblgmeddfffdhfgmiacadfhglhjaekdaeacdbfmlcjfffbkcbffljjkbhigejmmmhkaljcljibgekjfhefmbjilcahefblblgeledddgemdgihfecclicgbkmilmifflllhmmc...

output:


result:


Test #13:

score: 0
Dangerous Syscalls

input:

ophmmxojwyabxitozutwdxkmleazyhkqzfhqtdjggpjclzkhcerzmpdkprqjkmnpvccyajlwcohqgzqticihosjhxmwymdzoqnawgmtegjqyrngnqcheacmkgbrwsfldsmlnqjkocblhrnwguaexvnfvrceexfqpzumxsuuhfhdhujqoqdxrkknnhiygrabiqspaqdqreiswbcqdjnyqijdzolltfiiismxltjukwuixllitlyjglwwqekrlbkbwutvnifampunpzmpmwyclwxwgrowvnbqqmkreqhrwgvey...

output:


result:


Test #14:

score: 0
Dangerous Syscalls

input:

lbmafbiicbjcmhbbmbabkgmbafmmhjldiifkmhejgmdcbijilcaidajjjebklkikjdjefalfkemjmbifalacllkcehbgkdkabiiefmhjcimlmckcbebidhddclhhlabdalegkfhcdbejbdmbhbfgelmkfdbkbdaclahbfggijmbgigilebmbijddfkjbafdjghijiibljgclgbciijhmjdhcjelmhiecaiahkhledfbekdlmcdceecckhkebclhilgbikmfgjmjgflmffkdjjkbcaemagedmcjajgikgefga...

output:


result:


Test #15:

score: 0
Dangerous Syscalls

input:

dsppfaesydhozppylwmfzcvsllhggovukeeepvtiodzzdcmlauhymvxijszrobdecuhxjsivtwjtmvphssgvyifmixgddeuofabohugyfnnqbtsjrynkvtvcqkrhwovooktcfwmxagrxgekxdgldaqffybwmdkeykyocudevwdojhcbhipfwclhzmtoyznnbdadomffoaxihkuojezabjppeyzkgwjgcpvuuxvojahfrdeybcklvqwvfftcwkxqfhbddbxfduvitycznkuzgukryyhktzoslzqiiggugpwvr...

output:


result:


Test #16:

score: 0
Dangerous Syscalls

input:

lgcjmilcjkfljihhadhcgcljecggdihjjihgdmbgggmdmfligahflfffcbcmfjlfmamfmcllfgffcciihhcfdihlbgbklmkjacjkhjajhaijifebillabigdeichhklajlechjhbeaiahhidemiaaaehkkaelabbdchficchchdcljbbbdmjfldkmjledjkkhldjjagdimadbdkkmcblkgfbmghieiiaamicjlemabecdemjbbhjjadfhlbaaglbfbbbilljmfjmadcmckfegfalkacbkjkafcgaklgabjkm...

output:


result:


Test #17:

score: 0
Dangerous Syscalls

input:

crouxgkvirnjrytirundlljrgfwtazivrwzxxwditbfcooymmlaqvtisxnwbhhdusjrqtvebvgmuaietaotldzzsrqtplqfucfyjpfrohwraeeufvpetorvakablkyvvnwetsrqjlxhmjwgqekapdrvcymvxdzojvbsvcjqrjsdnimathoxcldskndebsfnoqpwxjiicaqdaxhmfnozvwhezimqwnwaoktflkfpdqyhuwtdtgqanymowveuxayebwbjeliulrglhaxwgmgvgiqwqvrkwetmdvkshxwpobakc...

output:


result:


Test #18:

score: 0
Dangerous Syscalls

input:

hlheiljjdhhlgihkakdbmjjkjbihblhabaaafedcjickgbmimhldcfdgaeaemhheclgeglffkkiklgalagllffkjkkjbkllkgkkbblficjmklljcfallcicmfdflgebfjeacjejeedmimfdeiadbegfkckiaffagigmckdkihdikgilgehmaglhiddljghmfhgikfkgmfkadekgfalhlemfkdeggcdfkhmjdcdabmeebblbgeflbhkcjgdgadlbfmdebkhhhfajjiflejijamgjekelmjhcmakcglmhafdai...

output:


result:


Test #19:

score: 0
Dangerous Syscalls

input:

hcickbjbggigfjddcmijgfbafdebdkcldbibaaegkhmdeibkjdjigbmfelkbdablaccmeblcgikdglmllmdagaaaikfjhdcldhmhmiiiccbhehdhbkjdgkkjhfkflckidfibicfihaagficicjkbiiejddegmcahacchfgmkmmlehbelhlmbkamelfjhkmgfljbaffjjfmfhmhafjhhhdlgfggbilkkcghfaalllcdeffbbjichaiedagaalehkcaglcacgldciahdgehibefmghedciddglfbbmdigdbjij...

output:


result:


Test #20:

score: 0
Dangerous Syscalls

input:

cjhkkbhdfmbagemlcmcdclghhcebjlaikgbdlbkedeckmimkeffkjfljmghahfgeihehlfhicjckhjmidafdkhfgehjdgdclckchjddkglaijcfcmigkgmhkmggelagbkbkikaghbadbfeifkemehhcljcfjeljejeehbklflekflaedfeclhidaahikdfaeljbhbaffkdblmecidjglkddkmecifgccmjkjhjecgaklmemfcfemlfmbkljjbakdhchehfhaelhgkicdbhgddcfjeikimklccbdmccjiilhf...

output:


result:


Test #21:

score: 0
Dangerous Syscalls

input:

acdalbjachemiccjijekjladlmgcdibegjemfggmcajmkdfaicklclhhjjiifdjkglcdieahidalajicmabkejeggmjdacmljghlicficlaidacjegkhgdmalfbgakblgfbglebhjmkccfgkdkcbgddfgcmkkddlmlikljhmcgfddgkfhddkiekkaefbedjhglclfgebfddlbkkadhlahccmbgjagkkchemmhgbcjkcjdgbmbfhmhgckffedkkllkemkegjhbkijhkjmckkgcccebelfdikbfeigdflebkck...

output:


result:


Test #22:

score: 0
Dangerous Syscalls

input:

mddlmgjdadiajebkkjdcfcaemmacbeefbiheblhihlahcilkgcgcgbgbkdddbiedlejkaibalfggglkghmddiiikfabgmggecdmifaegcmkfcmlcfhlecifdiejflclehcbajacmakchcekkiddljfdlejgefbgkgicbdjamafjfgcdmhaejffmdaedaidabihdckhjdkfdclaafcibjfidakllflmejfaeeilaehkicmifjcdiagiihchgefafeaabbihmkddcaembjgjdeljjldagjgghammkfagahdjgb...

output:


result:


Test #23:

score: 0
Dangerous Syscalls

input:

llfdgmcekbmbimkccddilecgmlimhkklijdgcfjcdkblbglbaaegedfeihjfgigigfbajgakjmmafechejfihfmdkidmlfdcejkkielgcakckilmlgiklmlalklfdcgkhlmlhkjbkhmdkbhmbfidfmccicgcbejmklcmelcigfjjiaifebbdimekgaglhejaadaglhahfkmkljkfakaifihfihikecehmafbgicelabajgghlmffhgfciclmhmbfhbkbbffmikkeadafebkjkdcidbgadmiaelbhkegimmbf...

output:


result:


Test #24:

score: 0
Dangerous Syscalls

input:

dhblhcfekgfmbjkhalldhjckleeffihfallgiafelkkehflcmbikdiijmajkeaghlddammajjdffieiidbgedfekciajfflgbgegmfmaljamaliihmjladahiglmkafmiiflcbhbhceimhmhheeidaejgaecmahcmchclijjdjajmkjgjdgkhmljmjlgadflbdkdkgbggdddicllcfkdmajigmglkfcllijleblcaabkajjghhdgkdbllmjhahjecccfhcgmfemljbkamhgbehjkfffaickeagejjhkgmimb...

output:


result:


Test #25:

score: 0
Dangerous Syscalls

input:

iiafeelfecahcjmkadhjkdmmelhmaiafglhiabmlafgmackbbkgfdhdhlageljhmlmehhjgbgkjmbaiffjhcfceiidghmggkhlhkcjdjiehfdcjdlkblgbkcdahgiccjiimggkdlhlkgddbiigbjhbdblbggaealbkldjbfdecmcijdfajlgccfbldbkjmbcmkklfmjfblbhieibecfgjcbchkegbdamflhfjfdgjglkakkgheakegkhlllmhljekmidlhfcmjlgmmajmgjmmlfkhhbklgliejcikjehdijd...

output:


result: