题目链接:点击打开链接

白书的例题练练手。

P161

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <math.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define ll int
#define LL long long
const int mod = 1000000009;
const int maxn = 510;
const int maxp = 100;
ll prime[1000],primenum;//有primenum个素数 math.h
void PRIME(ll Max_Prime){
primenum=0;
prime[primenum++]=2;
for(ll i=3;i<=Max_Prime;i+=2)
for(ll j=0;j<primenum;j++)
if(i%prime[j]==0)break;
else if(prime[j]>sqrt((double)i) || j==primenum-1)
{
prime[primenum++]=i;
break;
}
} typedef int Matrix[maxn][maxn]; int rank(Matrix A, int m, int n) { //m个方程n个变量
int i = 0, j = 0, k, r, u;
while(i < m && j < n)
{
r = i;
for(k = i; k < m; k++)
if(A[k][j])
{ r = k; break; }
if(A[r][j])
{
if(r != i)
for(k = 0; k <= n; k++) swap(A[r][k], A[i][k]);
for(u = i+1; u < m; u++) if(A[u][j])
for(k = i; k <= n; k++) A[u][k] ^= A[i][k];
i++;
}
j++;
}
return i;
} Matrix A; int main(){
PRIME(500);
int T; cin>>T;
while(T--) {
int n, maxp = 0;
long long x;
cin>> n;
memset(A, 0, sizeof A);
for(int i = 0; i < n; i++)
{
cin>> x;
for(int j = 0; j < primenum; j++)
while(x % prime[j] == 0)
{
maxp = max(maxp, j);
x /= prime[j];
A[j][i] ^= 1;
}
}
int r = rank(A, maxp+1, n);
cout<< (1LL << (n-r))-1 <<endl;
}
return 0;
}

最新文章

  1. 【WCF】wcf不支持的返回类型
  2. 别老扯什么Hadoop了,你的数据根本不够大
  3. 【读书笔记】iOS-开发技巧-三种收起键盘的方法
  4. [原创] NetBean开发c++程序指南1- 加入c++项目文件夹
  5. List&lt;T&gt;
  6. Android ANR分析及解决方案
  7. java(MyEclipse)创建webservice和测试webservice
  8. Node.js学习(第一章:Node.js安装和模块化理解)
  9. JS 灵活使用 console 调试
  10. linux终端窗口字体缩放快捷键
  11. 【Java】 剑指offer(36) 二叉搜索树与双向链表
  12. 体验 ASP.NET Core 中的多语言支持(Localization)
  13. centos 7 服务管理
  14. UI设计师需要熟记的45个快捷键Windows、Mac
  15. [转]C#操作INI文件
  16. day60
  17. Go语言Windows 10开发环境搭建:Eclipse+GoClipse
  18. 查准与召回(Precision &amp; Recall)
  19. php中调用这个功能可以在web页面中显示hello world这个经典单词
  20. Hibernate inverse反转

热门文章

  1. consul 集群安装
  2. Python3没有dict.has_key方法
  3. 前端(小程序)项目Aes.js/Md5.js加密的处理方法
  4. MapReduce架构与生命周期
  5. Javascript关于JSON集合的几种循环方法
  6. 洛谷P3960 列队 Splay
  7. 【udacity】机器学习
  8. HTTPie:一个不错的 HTTP 命令行客户端
  9. ELO kernels 记录
  10. 洛谷P1427 小鱼的数字游戏