<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      題解:CF691E Xor-sequences

      題目鏈接

      解析

      考慮 dp。

      \(dp_{i,j}\) 表示長度為 \(i\) 的以 \(a_j\) 結尾的合法序列個數,于是有:

      \[dp_{i,j} = \sum_{k=1}^n dp_{i - 1,k}[\operatorname{popcount}(a_j \otimes a_k) \bmod 3 = 0] \]

      發現要求的序列長度非常長,所以考慮矩陣加速,設 \(f_{i,j}\) 表示 \(a_i\) 是否可以接在 \(a_j\) 后面,那么:

      \[\begin{bmatrix} dp_{i + 1,1}\\ dp_{i + 1,2}\\ \vdots\\ dp_{i + 1,n} \end{bmatrix} = \begin{bmatrix} f_{1,1} & f_{1,2} & \cdots & f_{1,n}\\ f_{2,1} & f_{2,2} & \cdots & f_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ f_{n,1} & f_{n,2} & \cdots & f_{n,n} \end{bmatrix} \times \begin{bmatrix} dp_{i,1}\\ dp_{i,2}\\ \vdots\\ dp_{i,n} \end{bmatrix} \]

      /*
      */
      #include<bits/stdc++.h>
      #define eps 0.000001
      using namespace std;
      typedef unsigned long long ull;
      typedef long long ll;
      typedef pair<int,int> pii;
      const int N = 100 + 5,M = 3.2e4 + 5,mod = 1e9 + 7;
      struct Matrix{
      	int row,col;
      	int val[N][N];
      	Matrix(int r,int c){
      		row = r,col = c;
      		for(int i=1;i<=row;i++){
      			for(int j=1;j<=col;j++){
      				val[i][j] = 0;
      			}
      		}
      	}
      	friend Matrix operator * (Matrix a,Matrix b){
      		Matrix c(a.row,b.col);
      		for(int i=1;i<=a.row;i++){
      			for(int j=1;j<=b.col;j++){
      				for(int k=1;k<=a.col;k++){
      					c.val[i][j] = (c.val[i][j] + 1ll * a.val[i][k] * b.val[k][j] % mod) % mod;
      				}
      			}
      		}
      		return c;
      	}
      	void toI(){
      		for(int i=1;i<=row;i++){
      			for(int j=1;j<=col;j++){
      				val[i][j] = i == j;
      			}
      		}
      	}
      	void print(){
      		cout<<"_______________________\n";
      		for(int i=1;i<=row;i++){
      			for(int j=1;j<=col;j++){
      				cout<<val[i][j]<<" \n"[j==col];
      			}
      		}
      		cout<<"_______________________\n";
      	}
      };
      ll a[N];
      Matrix qmi(Matrix a,ll b){
      	Matrix res(a.row,a.col);
      	res.toI();
      	while(b){
      		if(b & 1) res = res * a;
      		a = a * a;
      //		a.print();
      		b >>= 1;
      	}
      	return res;
      }
      int main(){
      	ios::sync_with_stdio(false);
      	cin.tie(0),cout.tie(0);
      	int n;
      	ll k;
      	cin>>n>>k;
      	Matrix ori(n,1),can(n,n);
      	for(int i=1;i<=n;i++){
      		ori.val[i][1] = 1;
      	}
      	for(int i=1;i<=n;i++){
      		cin>>a[i];
      		for(int j=1;j<=i;j++){
      			can.val[i][j] = can.val[j][i] = __builtin_popcountll(a[i] ^ a[j]) % 3 == 0;
      //			cout<<i<<" "<<j<<" "<<can.val[i][j]<<'\n';
      		}
      	}
      	Matrix res = qmi(can,k - 1) * ori;
      	int ans = 0;
      	for(int i=1;i<=n;i++){
      		ans = (ans + res.val[i][1]) % mod;
      	}
      	cout<<ans;
      	return 0;
      }
      
      posted @ 2025-08-21 08:40  yuyce  閱讀(2)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 理论片午午伦夜理片久久| 美女黄网站人色视频免费国产| 中文字幕有码日韩精品| 欧洲美女黑人粗性暴交视频 | 成在人线av无码免费看网站直播| 国产午夜亚洲精品国产成人| 亚洲中文字幕aⅴ天堂| 久久99精品久久久久久青青| 青青青青国产免费线在线观看| 97亚洲熟妇自偷自拍另类图片 | 天天躁夜夜躁天干天干2020| 亚洲一区二区三区啪啪| 新版天堂资源中文8在线| 精品国产AV无码一区二区三区| 国产亚洲av嫩草久久| 日本一卡2卡3卡4卡无卡免费| 国产片AV国语在线观看手机版| 新乐市| 久久婷婷五月综合色丁香花| 欧美综合婷婷欧美综合五月| 日韩精品一区二区三区在线观看| 国产精品三级中文字幕| 国产仑乱无码内谢| 狠狠亚洲色一日本高清色| 成人性生交片无码免费看| 九九热视频在线免费观看| 欧美寡妇xxxx黑人猛交| av在线播放国产一区| 高陵县| 成人无码一区二区三区网站| 少妇特黄a一区二区三区| 久久一级精品久熟女人妻| 午夜免费福利小电影| 池州市| 婷婷99视频精品全部在线观看| 成人网站国产在线视频内射视频| 国产无吗一区二区三区在线欢 | 国产精品一二三中文字幕| 邻居少妇张开腿让我爽了一夜| 久久人与动人物a级毛片 | 国产一区二区视频在线看|