GPLT普及组 P8\9

发布时间:2026/6/14 18:44:14

GPLT普及组 P8\9 参考晓觉儿 的博客P8-从前有座山 暴力inta[N];voidsolve(){intn1;while(cina[n]a[n]!-1){n;}n--;mapint,intcnt,fg;mapint,piimt;// 统计哪些数满足性质二fg[a[n]]fg[a[n-1]]1;forr(i,1,n-2){if(fg[a[i]])continue;if(!mt.count(a[i]))mt[a[i]]{a[i1],a[i2]};elseif(mt[a[i]].fir!a[i1]||mt[a[i]].sec!a[i2])fg[a[i]]1;}// 判断性质一forr(i,1,n-2){if(fg[a[i]])continue;cnt[a[i]];if(cnt[a[i]]2)returncouta[i] a[i1] a[i2]endl,void();}coutNONEendl;}P9-邦邦不邦邦intfa[N];intfind(intx){returnfa[x](fa[x]x?x:find(fa[x]));}vectorintstc[N];//句子vectorintwd[N];//一个单词在哪个里面出现voidsolve(){intn,m;cinnm;forr(i,1,m)fa[i]i;forr(i,1,n){intk;cink;stc[i].push_back(k);vectorintfg(m1,0);forr(j,1,k){intx;cinx;stc[i].push_back(x);if(!fg[x]){wd[x].push_back(i);fg[x]1;}}}forr(i,1,n){sort(stc[i].begin()1,stc[i].end());intf0find(stc[i][1]);forr(j,2,stc[i][0]){intfnfind(stc[i][j]);if(fn!f0)fa[fn]f0;}}forr(i,1,m){intszwd[i].size();if(sz2)continue;sort(wd[i].begin(),wd[i].end(),[](intx,inty){returnstc[x][1]stc[y][1];});intf0find(stc[wd[i][0]][1]);forr(j,1,sz-1){intfnfind(stc[wd[i][j]][1]);if(fn!f0)fa[fn]f0;}}forr(i,1,m){if(fa[i]i)couti ;}coutendl;}

相关新闻