HDU 5833 Zhu and 772002 ——线性基
【题目分析】
这题貌似在UVA上做过,高精度高斯消元。
练习赛T2,然后突然脑洞出来一个用Bitset的方法。
发现代码只需要30多行就A掉了
Bitset大法好
【代码】
#include <cstdio>
#include <bitset>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define F(i,j,k) for (int i=j;i<=k;++i)
#define D(i,j,k) for (int i=j;i>=k;--i)
#define ll long long
#define maxn 2005
const int md=1000000007;
int pr[maxn],ispr[maxn],top=0;
bitset <505> lb[505],now;
int main()
{
F(i,2,maxn-1)
{
if (!ispr[i]) pr[++top]=i;
for (int j=1;j<=top&&pr[j]*i<maxn;++j)
{
if (i%pr[j]==0) {ispr[i*pr[j]]=1; break;}
ispr[i*pr[j]]=1;
}
}
int t,n,cnt;ll x;
scanf("%d",&t);
int kas=0;
while (t--)
{
printf("Case #%d:\n",++kas);
cnt=0;
F(i,0,504) lb[i].reset();
scanf("%d",&n);
F(i,1,n)
{
scanf("%lld",&x);
now.reset();
F(i,1,top)
{
int flag=0;
while (x%pr[i]==0) x/=pr[i],flag^=1;
now[i]=flag;
}
int tag=1;
D(j,500,1)
if (now[j])
{
if (lb[j].count()==0) {lb[j]=now;tag=0;break;}
else now^=lb[j];
}
cnt+=tag;
}
ll ans=1;
while (cnt)
{
ans<<=1;
ans%=md;
cnt--;
}
printf("%lld\n",(ans-1+md)%md);
}
}
HDU 5833 Zhu and 772002 ——线性基的更多相关文章
- hdu 5833 Zhu and 772002 ccpc网络赛 高斯消元法
传送门:hdu 5833 Zhu and 772002 题意:给n个数,每个数的素数因子不大于2000,让你从其中选则大于等于1个数相乘之后的结果为完全平方数 思路: 小于等于2000的素数一共也只有 ...
- HDU 5833 Zhu and 772002
HDU 5833 Zhu and 772002 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/ ...
- HDU 5833 Zhu and 772002 (高斯消元)
Zhu and 772002 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5833 Description Zhu and 772002 are b ...
- hdu 5833 Zhu and 772002 高斯消元
Zhu and 772002 Problem Description Zhu and 772002 are both good at math. One day, Zhu wants to test ...
- HDU 5833 Zhu and 772002(高斯消元)
题意:给n个数,从n个数中抽取x(x>=1)个数,这x个数相乘为完全平方数,求一共有多少种取法,结果模1000000007. 思路:每个数可以拆成素数相乘的形式,例如: x1 2=2^1 * 3 ...
- HDU 5833 Zhu and 772002 (数论+高斯消元)
题目链接 题意:给定n个数,这n个数的素因子值不超过2000,从中取任意个数使其乘积为完全平方数,问有多少种取法. 题解:开始用素筛枚举写了半天TLE了,后来队友说高斯消元才想起来,果断用模板.赛后又 ...
- hdu 5833 Zhu and 772002 异或方程组高斯消元
ccpc网赛卡住的一道题 蓝书上的原题 但是当时没看过蓝书 今天又找出来看看 其实也不是特别懂 但比以前是了解了一点了 主要还是要想到构造异或方程组 异或方程组的消元只需要xor就好搞了 数学真的是硬 ...
- HDU - 5833: Zhu and 772002 (高斯消元-自由元)
pro:给定N个数Xi(Xi<1e18),保证每个数的素因子小于2e3:问有多少种方案,选处一些数,使得数的乘积是完全平方数.求答案%1e9+7: N<300; sol:小于2e3的素数只 ...
- 【HDU 3949】 XOR (线性基,高斯消元)
XOR Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
随机推荐
- AS学习系列[1]——初识Android Studio
写在前面的话:由于于方老师的高墙所限,网络成了学习Android第一道“拦路虎”.所以,个人以为,在学习Android之前需要了解下FQ技术(仅仅是为了技术学习). 1.AS AS(Android s ...
- CodeForces 219D Choosing Capital for Treeland (树形DP)
题意:给一个树形图,n个节点,n-1条有向边,要求选一个节点作为根,使需要改变方向的边的数目最少.并输出所有可能作为根的点. 思路: 先随便一个点进行DFS,计算将每棵子树的边全部往下时,所需要的费用 ...
- Java的jdbc调用SQL Server存储过程Bug201906131120
如果要查询结果,第一行使用set nocount on;可能可以解决问题.
- Codeforces Round #277.5 (Div. 2)-D. Unbearable Controversy of Being
http://codeforces.com/problemset/problem/489/D D. Unbearable Controversy of Being time limit per tes ...
- 后台返回数据为treeList结构,如何添加属性(递归添加属性)
给tree形json数据添加默写属性(递归)addAttr(data){ for (var j = 0; j < data.length; j++) { data[j].title = data ...
- mysql dump 参数大全
Mysqldump参数大全 摘自:https://www.cnblogs.com/qq78292959/p/3637135.html 参数 参数说明 --all-databases , -A 导 ...
- 【动态规划】bzoj1044: [HAOI2008]木棍分割
需要滚动优化或者short int卡空间 Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, 砍完后n根木棍 ...
- 【贪心优化dp决策】bzoj1571: [Usaco2009 Open]滑雪课Ski
还有贪心优化dp决策的操作…… Description Farmer John 想要带着 Bessie 一起在科罗拉多州一起滑雪.很不幸,Bessie滑雪技术并不精湛. Bessie了解到,在滑雪场里 ...
- 破解点触码的识别之第三方平台超级鹰的SDK(python3版本)
import requestsfrom hashlib import md5 class Chaojiying(object): def __init__(self, username, passwo ...
- (58)zabbix网络拓扑图配置network map
zabbix网络地图介绍 “zabbix network map”可以简单的理解为动态网络拓扑图,可以针对业务来配置zabbix map, 通过map可以了解应用的整体状况:服务器是否异常.网络是否有 ...