Rikka with Candies HDU
来源:互联网 发布:iphone和ipad软件同步 编辑:程序博客网 时间:2024/05/17 22:43
#include<bits/stdc++.h>#include<stdio.h>#include<algorithm>#include<queue>#include<string.h>#include<iostream>#include<math.h>#include<set>#include<map>#include<vector>#include<iomanip>using namespace std;#define ll long long#define pb push_back#define FOR(a) for(int i=1;i<=a;i++)const int inf=0x3f3f3f3f;const int maxn=5e4+9; const int mod=998244353;bitset<maxn>a,b,ans,bx;//ans[x]:模后为x的出现次数void solve(int x){//取余不会超过最大值xbx.reset();for(int i=x;i>=0;i--){//(a-i)%b==0ans[i]=((a>>i) & bx).count() & 1;//a>>i就是(a-i)的出现状况了if(!b[i])continue;for(int j=0;j<maxn;j+=i){bx.flip(j);//b[x]:b中元素倍数的出现次数//对于当前枚举的余数,只有更大的b的倍数才会生成//所以倒序枚举因子倍数}}}int main(){int T;scanf("%d",&T);while(T--){a.reset();b.reset();int n,m,q,x,maxt=0;scanf("%d%d%d",&n,&m,&q);for(int i=1;i<=n;i++){scanf("%d",&x);a.set(x);}for(int i=1;i<=m;i++){scanf("%d",&x);b.set(x);maxt=max(x,maxt);}ans.reset();solve(maxt);while(q--){scanf("%d",&x);if(ans[x])puts("1");else puts("0");}}}主要的思路都在注释里了
阅读全文
0 0
- Rikka with Candies HDU
- HDU 6085 Rikka with Candies
- HDU 6085 Rikka with Candies
- HDU 6085 Rikka with Candies
- hdu 6085 Rikka with Candies
- Hdu 6085 Rikka with Candies【思维+Bitset】
- hdu 6085 Rikka with Candies bitset
- HDU 6085 Rikka with Candies 模拟bitset
- HDU 6085 Rikka with Candies (bitset)
- HDU 6085 Rikka with Candies(bitset)
- HDU 6085 Rikka with Candies (bitset)
- hdu6085 Rikka with Candies
- HDU6085-Rikka with Candies
- Rikka with Candies
- HDU 6085 Rikka with Candies (暴力压位)
- HDU 6085 Rikka with Candies 压位 bitset区间提取
- hdu 6085 Rikka with Candies(bitset 计数原理)
- hdu 6085 Rikka with Candies(bitset容器)
- Java并发编程实战(学习笔记 十三 第十四章 构建自定义的同步工具 下 )
- JQuery 动画
- Oracle
- JS练习(3)
- 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
- Rikka with Candies HDU
- 关于ffmpeg,av_read_frame函数返回值小于0的错误
- Android studio修改项目(工程)的包名,并保证所有文件导入的R文件正确
- xListView的主方法
- 简单通讯录
- Fibonacci (公式,数学)
- Codeforces Gym 100642 C D F
- Java菜鸟学习日记32
- HDU 5839 Special Tetrahedron(计算几何)