思路:完全平方数是指每个质因子次数均是偶数的数。现在要求n个数中选任意个使得组成得数是完全平方数,本质就是要求选的数中的每种质因子出现次数都是偶数次,而又给出最大因子是2000以内,也就是303个质因子,可以想到对每个质因子都需要满足一个异或方程(所有希望选的数对该质因子的亦或起来是0),也就是有303个方程,构造系数矩阵,用高斯消元求解。

const int N = 305,M=2000;
int Matrix[N][N];
int Free_x[N];   //自由变元
int X_Ans[N];  //解集
int Free_num = 0;  //自由变元数
int Guass(int Row, int Col)  //系数矩阵的行和列
{int row = 0, col = 0, max_r;for (row = 0;row < Row&&col < Col;row++, col++){max_r = row;for (int i = row + 1;i < Row;i++)   //找出当前列最大值if (abs(Matrix[i][col]) > abs(Matrix[max_r][col]))max_r = i;if (Matrix[max_r][col] == 0)  //记录自由变元{row--;Free_x[Free_num++] = col + 1;continue;}if (max_r != row)  //交换for (int i = col;i < Col + 1;i++)swap(Matrix[row][i], Matrix[max_r][i]);for (int i = row + 1;i < Row;i++)   //消元{if (Matrix[i][col] != 0){for (int j = col;j < Col + 1;j++)Matrix[i][j] ^= Matrix[row][j];}}}ll ans = quickmod(2, Col - row, mod) - 1;return ans;for (int i = row;i < Row;i++)   //无解if (Matrix[i][Col] != 0)return 0;if (row < Col)   //无穷多解{ll ans = quickmod(2, Col - row, mod) - 1;return ans;}//唯一解for (int i = Col - 1;i >= 0;i--){X_Ans[i] = Matrix[i][Col];for (int j = i + 1;j < Col;j++)X_Ans[i] ^= (Matrix[i][j] && X_Ans[j]);}return 1;
}
int p[M+1], cnt;
bool vis[M + 1];
void x_x()
{f(i, 2, M){if (!vis[i])p[++cnt] = i;for (int j = 1;p[j] <= M / i;j++){vis[p[j] * i] = true;if (i%p[j] == 0)break;}}
}
int main()
{//freopen("in.txt", "r", stdin);x_x();//debug(cnt);//303int cas = 0;int t = in();while (t--){//memset(Matrix, 0, sizeof Matrix);int n = in();f(i, 0, n-1){ll x;scanf("%lld", &x);f(j, 1, 303){int num = 0;while (x%p[j] == 0){num ^= 1;x /= p[j];}Matrix[j - 1][i] = num;}}ll ans=Guass(303, n);printf("Case #%d:\n%d\n", ++cas, ans);}return 0;
}

B - Zhu and 772002(高斯消元解异或方程)相关推荐

  1. AcWing 884. 高斯消元解异或线性方程组

    题目连接 https://www.acwing.com/problem/content/886/ 思路 和浮点高斯消元类似的,步骤也是相同的,不过我们这里的运算操作变成了异或操作,对于我们枚举到的第r ...

  2. jzoj3823 遇见 [高斯消元解异或方程组]

    Description Zyh独自一人在街上漫步.Zyh相信不久后应该就可以和她一起漫步,可是去哪里寻找那个她呢?Zyh相信每个人都有一个爱情的号码牌,这个号码牌是一个n*n的矩阵. 每个人都要在矩阵 ...

  3. HDU 3364 Lanterns 高斯消元(水 异或方程

    题目链接:点击打开链接 题意: 给定n盏灯,m个开关 下面m行给出每个开关可以控制哪些灯(即按下此开关,这些灯的状态会改变) 下面q个询问:一行一个询问,一个询问n个数字表示灯的最终状态 问从全暗到这 ...

  4. 【BZOJ1923】外星千足虫,高斯消元解xor方程组

    Time:2016.08.29 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 原本以为是高斯消元解取模方程,后来发现这题意不就和异或方程一样吗 [异或(XOR)运算由于与" ...

  5. 第三十四章 数论——高斯消元解线性方程组

    第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...

  6. HDU 4305 Lightning (高斯消元解kirchhoff矩阵+逆元)

    题意是:给一些坐标点,如果两点之间的距离小于R,并且两点之间没有其他点,则这两个点保持连通,这样构成了一个图.问这个图中生成树的个数. 因为数据量并不大,O(N^3)的建图没有问题. 建好图以后就可以 ...

  7. [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题

    [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算 ...

  8. 高斯消元 AcWing 883. 高斯消元解线性方程组

    高斯消元 AcWing 883. 高斯消元解线性方程组 原题链接 AcWing 883. 高斯消元解线性方程组 算法标签 线性代数 高斯消元 思路 代码 #include<bits/stdc++ ...

  9. POJ 2947 Widget Factory (高斯消元解同余方程组)

    题意:N种物品,M条记录,接写来M行,每行有K,str1,str2,表示第i个记录从星期str1到星期str2,做了K件物品,接下来的K个数为物品的编号.求做每个物品所需的时间,并且最后结果在3-9之 ...

  10. 高斯消元解线性方程组(浮点高斯消元模板)

    题目连接 https://www.acwing.com/problem/content/885/ 思路 高斯消元的思路如下: 1.我们从上到下,从左到右开始消元,对于每一行我们只保留当前[i,i]行的 ...

最新文章

  1. window下Nodejs的部署
  2. mongodb--GridFS
  3. ASP.NET Core 认证与授权[5]:初识授权
  4. jquery-加入购物车动画
  5. jQuery初识 - jQuery中的方法
  6. Java服务端向客户端写文件_java实现客户端向服务器发送文件
  7. win7下如何建立ftp服务器
  8. Welcome to NHibernate
  9. CF321E Ciel and Gondolas BZOJ 5311 贞鱼
  10. opkg-utils的PKGBUILD文件,参考自OE的opkg-utils_git.bb
  11. 广联达报错access_广联达土建算量软件错误提示大全及解决方法(持续更新至20170418)...
  12. 召唤神龙Ladon强化Cobalt Strike
  13. 复杂美科技有限公司区块链专利
  14. 【Lua杂谈】debug.getinfo源码分析——使用C API重写lfunctimer
  15. Python数据可视化第 8 讲:matplotlib饼图绘制函数pie
  16. 通过源码简要分析之Android消息机制Handler、Looper、MessageQueue运行机制
  17. 解决第三方网页在微信浏览器中点击图片会自动放大
  18. 我的linux学习笔记
  19. 王兴的无限游戏和美团的三维文明世界|一点财经
  20. c语言 星座运势,第十一周 OJ总结-日期妙算星座

热门文章

  1. 大数据可视化(一)数据可视化概述
  2. 基于卷积神经网络CNN的面部表情识别
  3. win10计算机管理如何分区,如何给win10磁盘分区?教你一招快速给win10磁盘分区的方法...
  4. Umbraco 非常简单,扩展性很强的一个CMS
  5. winform 窗体的单例模式
  6. sql2000安装失败的解决方法
  7. 什么是深拷贝与浅拷贝
  8. 阿里网盘“该文件类型暂时不支持分享”解决方案
  9. 天然气阶梯是按年还是按月_燃气阶梯是一年一清吗 燃气阶梯的定义
  10. 新浪微博单点登陆分析