日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【NOI2013】向量内积【随机化】

發(fā)布時(shí)間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NOI2013】向量内积【随机化】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

傳送門(mén)

題意:給nnn個(gè)ddd維向量,詢問(wèn)是否有兩個(gè)向量?jī)?nèi)積(對(duì)應(yīng)位乘積和)為kkk的倍數(shù)

n≤100000,d≤100,k=2,3n \leq100000,d\leq100,k=2,3n100000,d100,k=2,3

考慮每個(gè)向量能否與之前的某一個(gè)匹配

如果我們找到某一個(gè)與之前的可以匹配,就可以O(nd)O(nd)O(nd)得到答案。我們要做的是排除不能匹配的答案。

(以下mmm為題中給的kkk

?1≤i<n,∑k=1dai,kan,k≠0(modm)\forall1\leq i<n,\sum_{k=1}^ozvdkddzhkzda_{i,k}a_{n,k}\neq0\pmod{m}?1i<n,k=1d?ai,k?an,k??=0(modm)

當(dāng)m=2m=2m=2時(shí)

?1≤i<n,∑k=1dai,kan,k≡1(mod2)\forall1\leq i<n,\sum_{k=1}^ozvdkddzhkzda_{i,k}a_{n,k}\equiv1\pmod{2}?1i<n,k=1d?ai,k?an,k?1(mod2)

弱化得

∑i=1n?1∑k=1dai,kan,k≡n?1(mod2)\sum_{i=1}^{n-1}\sum_{k=1}^ozvdkddzhkzda_{i,k}a_{n,k}\equiv n-1\pmod{2}i=1n?1?k=1d?ai,k?an,k?n?1(mod2)

∑k=1d(∑i=1n?1ai,k)an,k≡n?1(mod2)\sum_{k=1}^ozvdkddzhkzd(\sum_{i=1}^{n-1}a_{i,k})a_{n,k}\equiv n-1\pmod{2}k=1d?(i=1n?1?ai,k?)an,k?n?1(mod2)

維護(hù)個(gè)前綴和判一下,如果不滿足說(shuō)明一定有答案

感性理解,理論上這個(gè)答案是隨便找得到的,所以隨機(jī)打亂幾次能大概率出解

當(dāng)m=3m=3m=3時(shí)同理

?1≤i<n,∑k=1dai,kan,k≡1or2(mod3)\forall1\leq i<n,\sum_{k=1}^ozvdkddzhkzda_{i,k}a_{n,k}\equiv1 or 2\pmod{3}?1i<n,k=1d?ai,k?an,k?1or2(mod3)

平方一下

?1≤i<n,(∑k=1dai,kan,k)2≡1(mod3)\forall1\leq i<n,(\sum_{k=1}^ozvdkddzhkzda_{i,k}a_{n,k})^2\equiv1 \pmod{3}?1i<n,(k=1d?ai,k?an,k?)21(mod3)

∑i=1n?1(∑k=1dai,kan,k)2≡n?1(mod3)\sum_{i=1}^{n-1}(\sum_{k=1}^ozvdkddzhkzda_{i,k}a_{n,k})^2\equiv n-1\pmod{3}i=1n?1?(k=1d?ai,k?an,k?)2n?1(mod3)

強(qiáng)行拆開(kāi)

∑i=1n?1∑x=1d∑y=1dai,xan,xai,yan,y≡n?1(mod3)\sum_{i=1}^{n-1}\sum_{x=1}^ozvdkddzhkzd\sum_{y=1}^da_{i,x}a_{n,x}a_{i,y}a_{n,y}\equiv n-1\pmod{3}i=1n?1?x=1d?y=1d?ai,x?an,x?ai,y?an,y?n?1(mod3)

∑x=1d∑y=1d(∑i=1n?1ai,xai,y)an,xan,y≡n?1(mod3)\sum_{x=1}^ozvdkddzhkzd\sum_{y=1}^d(\sum_{i=1}^{n-1}a_{i,x}a_{i,y})a_{n,x}a_{n,y}\equiv n-1\pmod{3}x=1d?y=1d?(i=1n?1?ai,x?ai,y?)an,x?an,y?n?1(mod3)

然后就可以維護(hù)了

復(fù)雜度O(ndk?1)O(nd^{k-1})O(ndk?1)

#include <iostream> #include <cstdio> #include <cstring> #include <cctype> #include <algorithm> #define MAXN 100005 #define MAXM 105 using namespace std; inline int read() {int ans=0;char c=getchar();while (!isdigit(c)) c=getchar();while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();return ans; } int id[MAXN],a[MAXN][MAXM]; int c[MAXM][MAXM],s[MAXM]; int n,d,k; inline bool check(int x,int y) {int sum=0;for (int i=1;i<=d;i++) sum+=a[x][i]*a[y][i];return sum%k==0; } int main() {n=read(),d=read(),k=read();for (int i=1;i<=n;i++)for (int j=1;j<=d;j++)a[i][j]=read()%k;for (int i=1;i<=n;i++) id[i]=i;int T=10;while (T--){random_shuffle(id+1,id+n+1);if (k==2){for (int i=1;i<=d;i++) s[i]=0;for (int i=1;i<=n;i++){int sum=0;for (int j=1;j<=d;j++) sum+=s[j]*a[id[i]][j];if (sum%2!=(i-1)%2){for (int x=1;x<i;x++)if (check(id[x],id[i])){if (id[i]>id[x]) swap(id[i],id[x]);printf("%d %d\n",id[i],id[x]);return 0;}}for (int j=1;j<=d;j++) s[j]+=a[id[i]][j];}}else{for (int i=1;i<=d;i++)for (int j=1;j<=d;j++)c[i][j]=0;for (int i=1;i<=n;i++){int sum=0;for (int x=1;x<=d;x++)for (int y=1;y<=d;y++)sum+=c[x][y]*a[id[i]][x]*a[id[i]][y];if (sum%3!=(i-1)%3){for (int j=1;j<i;j++)if (check(id[j],id[i])){if (id[j]>id[i]) swap(id[j],id[i]);printf("%d %d\n",id[j],id[i]);return 0;}}for (int x=1;x<=d;x++)for (int y=1;y<=d;y++)c[x][y]+=a[id[i]][x]*a[id[i]][y];}}}puts("-1");return 0; }

總結(jié)

以上是生活随笔為你收集整理的【NOI2013】向量内积【随机化】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线天堂 | 在哪里看毛片 | 操啊操| 狠狠夜夜 | 精品女同一区二区 | 亚洲精品久久久中文字幕痴女 | 亚州av影院 | 欧美黑人精品一区二区 | 久久亚洲精品视频 | 久久精品国产99国产精品 | 日韩经典在线 | 日本极品丰满ⅹxxxhd | 在线播放亚洲 | 亚洲乱码国产乱码精品精大量 | 日屁网站 | 香蕉a | 久久99热这里只有精品 | 成年人免费看毛片 | 性感美女被爆操 | 国产91边播边对白在线 | 黄色正能量网站 | 欧美 日韩 国产 精品 | 91av在线视频播放 | 亚洲日本中文 | 国产伦精品一区二区三区千人斩 | 国产精品久久9 | 伊人狠狠操 | 国产二区视频在线观看 | 天堂在线91 | 中文字幕乱码视频 | 啪啪网站大全 | 国产夫妻性生活 | 51ⅴ精品国产91久久久久久 | 精品一区二区三区精华液 | 久久午夜夜伦鲁鲁片无码免费 | 国产大奶| 国产高清不卡视频 | 天天操夜夜爽 | 播播激情网| 欧美www视频 | 三级福利片 | 91天天色 | 国产精品有码 | 99r在线视频 | 成人免费午夜 | 亚洲成人av一区 | 欧美一级黄 | 手机在线观看毛片 | 欧美性猛交一区二区三区精品 | 人成在线| 欧美一区二区国产 | 午夜国产精品视频 | av片在线观看网站 | 99国产精 | 国产在线视频福利 | 国产伦理片在线观看 | 欧美福利在线观看 | 爆乳2把你榨干哦ova在线观看 | 饥渴少妇勾引水电工av | 午夜两性网| 国产又黄又湿 | 精品美女www爽爽爽视频 | 国产乱码精品1区2区3区 | 国产91免费看 | 国产一二三在线视频 | 欧美激情视频一区二区 | www.av麻豆| 亚洲综合一区在线观看 | 视频一二三区 | 寡妇激情做爰呻吟 | 中文字幕精品久久久久人妻红杏1 | 日韩国产毛片 | 欧美日本激情 | 91精品在线免费观看 | 国产精品久久久久久久av福利 | 秋霞网一区二区三区 | 日韩免费一区二区 | 在线看片资源 | 久久免费的精品国产v∧ | r级无码视频在线观看 | www男人天堂| 亚洲性视频网站 | 91精品免费视频 | 日韩精品福利 | 欧洲激情网 | 成人免费一级片 | 欧美丝袜一区二区 | 日本一区三区 | 99精品欧美一区二区三区综合在线 | 上原亚衣av一区二区三区 | 狼人香蕉 | 色香蕉在线 | 人人艹人人爱 | 一区二区三区国产av | 亚洲激情视频在线播放 | 偷操| 小柔的淫辱日记(1~7) | 国产欧美大片 | 在线视频播放大全 |