NOI2015 UOJ122 向量內積

來源:互聯網
上載者:User

標籤:

神題......

還是大神講得比較清晰~orz

http://dffxtz.logdown.com/posts/197950-noi2013-vector-inner-product

啟發題:poj3318

#include<cstdio>#include<cstdlib>#include<iostream>#include<fstream>#include<algorithm>#include<cstring>#include<string>#include<cmath>#include<queue>#include<stack>#include<map>#include<utility>#include<set>#include<bitset>#include<vector>#include<functional>#include<deque>#include<cctype>#include<climits>#include<complex>//#include<bits/stdc++.h>適用於CF,UOJ,但不適用於poj#include<ctime>using namespace std;typedef long long LL;typedef double DB;typedef pair<int,int> PII;typedef complex<DB> CP;#define mmst(a,v) memset(a,v,sizeof(a))#define mmcy(a,b) memcpy(a,b,sizeof(a))#define re(i,a,b)  for(i=a;i<=b;i++)#define red(i,a,b) for(i=a;i>=b;i--)#define fi first#define se second#define m_p(a,b) make_pair(a,b)#define SF scanf#define PF printf#define two(k) (1<<(k))template<class T>inline T sqr(T x){return x*x;}template<class T>inline void upmin(T &t,T tmp){if(t>tmp)t=tmp;}template<class T>inline void upmax(T &t,T tmp){if(t<tmp)t=tmp;}const DB EPS=1e-9;inline int sgn(DB x){if(abs(x)<EPS)return 0;return(x>0)?1:-1;}const DB Pi=acos(-1.0);inline int gint()  {        int res=0;bool neg=0;char z;        for(z=getchar();z!=EOF && z!=‘-‘ && !isdigit(z);z=getchar());        if(z==EOF)return 0;        if(z==‘-‘){neg=1;z=getchar();}        for(;z!=EOF && isdigit(z);res=res*10+z-‘0‘,z=getchar());        return (neg)?-res:res;     }inline LL gll()  {      LL res=0;bool neg=0;char z;        for(z=getchar();z!=EOF && z!=‘-‘ && !isdigit(z);z=getchar());        if(z==EOF)return 0;        if(z==‘-‘){neg=1;z=getchar();}        for(;z!=EOF && isdigit(z);res=res*10+z-‘0‘,z=getchar());        return (neg)?-res:res;     }const int maxN=100000;const int maxDD=100;int N,DD,D,K;int v[maxN+100][maxDD+10];inline int A1(int i,int j)  {      if(K==3)        {            int t1=(j+DD-1)/DD,t2=j-(t1-1)*DD;            return v[i][t1]*v[i][t2];        }      return v[i][j];  }inline int A2(int i,int j){return A1(j,i);}int F[maxN+100],X[maxN+100],GX[maxN+100],FX[maxN+100],A2X[maxN+100],A1A2X[maxN+100],TX[maxN+100];inline int work()  {      int i,j,k,Case;      if(1LL*N*D<10000000LL) Case=10; else Case=2;      while(Case--)        {            re(i,1,N)X[i]=rand()%2;                        mmst(GX,0);            re(i,1,N)GX[1]+=X[i];            GX[1]%=K;            re(i,2,N)GX[i]=GX[1];                        re(i,1,N)FX[i]=F[i]*X[i];                        mmst(A2X,0);            re(i,1,D)re(j,1,N)A2X[i]+=A2(i,j)*X[j];                        mmst(A1A2X,0);            re(i,1,N)re(j,1,D)A1A2X[i]+=A1(i,j)*A2X[j];            re(i,1,N)A1A2X[i]%=K;                        re(i,1,N)              {                  TX[i]=GX[i]-FX[i]-A1A2X[i];                  TX[i]=(TX[i]%K+K)%K;                  if(TX[i]==1)                    {                        re(j,1,N)if(j!=i)                          {                              int res=0;                              re(k,1,DD)res+=v[i][k]*v[j][k];                              if(res%K==0){PF("%d %d\n",min(i,j),max(i,j));return 1;}                          }                    }              }        }      return 0;  }int main()  {      freopen("meow.in","r",stdin);      freopen("meow.out","w",stdout);      srand(time(0));      int i,j;      N=gint();D=gint();K=gint();      re(i,1,N)re(j,1,D)v[i][j]=gint()%K;      DD=D;if(K==3)D=D*D;      re(i,1,N)        {            F[i]=0;            re(j,1,D) F[i]+=A1(i,j)*A2(j,i);            F[i]%=K;F[i]^=1;        }      if(!work())PF("-1 -1\n");      return 0;  }            
View Code

 

NOI2015 UOJ122 向量內積

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.