求助

P1360 [USACO07MAR] Gold Balanced Lineup G

改了一下,还是不想,求hack ```cpp #include<cstdio> #include<algorithm> #include<vector> #include<map> #define mkp make_pair using namespace std; map<vector<int>,int> a; vector<int> v; int n,m,ans,mp[114514]; vector<int > to(int a){ int tel[1140]={0},tot=0; while(a){ tel[++tot]=a-2*(a>>1); a>>=1; } vector<int > v; int minn=0x7fffff; for(int i=1;i<=tot;i++){ if(tel[i])mp[i]++; v.push_back(mp[i]); minn=min(mp[i],minn); } for(int i=0;i<tot;i++)v[i]-=minn; return v; } signed main(){ scanf("%d%d",&n,&m); v.resize(m); a[v]=0; for(int i=1;i<=n;i++){ int x=0; scanf("%d",&x); v=to(x); // for(int i=0;i<m;i++)printf("%d ",v[i]); // puts(""); if(a.count(v))ans=max(ans,i-a[v]); else a[v]=i; } printf("%d",ans); return 0; } ```
by 黑影洞人 @ 2022-03-10 17:16:30


过了,要注意特判1的情况
by 黑影洞人 @ 2022-03-10 17:21:33


|