玲珑学院 1138 - 震惊,99%+的中国人都会算错的问题

1138 - 震惊,99%+的中国人都会算错的问题

Time Limit:4s Memory Limit:128MByte

Submissions:310Solved:87

DESCRIPTION

众所周知zhu是一个大厨,zhu一直有自己独特的咸鱼制作技巧.
tang是一个咸鱼供应商,他告诉zhu在他那里面有N

条咸鱼(标号从1到N)可以被用来制作.
每条咸鱼都有一个咸鱼值Ki,初始时Ki都是0;zhu是一个特别的人,他又M个咸数(咸鱼数字),对于每个咸数x,他都会满足所有标号是x倍数的咸鱼的咸鱼值异或上1.
zhu现在想知道经过了这M个咸数的筛选之后,最终有多少条的咸鱼的咸鱼值是1

?

INPUT

输入的第一行包含一个整数T(1≤T≤1000)

,表示有T组数据.
对于每组数据:
输入第一行只有两个整数N(1≤N≤109),M(1≤M≤15).
接下来一行有M个整数,依次对应zhu的每个咸数(1≤咸数≤2?105

).

OUTPUT

对于每组数据,输出答案.

SAMPLE INPUT

2

10 1

3

10 1

1

SAMPLE OUTPUT

3

10

容斥原理,因为异或之后,值一直在1,0,之间变动

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <vector>
#include <queue>
#include <cmath>
#include <ctime>
#include <map>
#include <set>
using namespace std;
#define lowbit(x) (x&(-x))
#define max(x,y) (x>y?x:y)
#define min(x,y) (x<y?x:y)
#define MAX 100000000000000000
#define MOD 1000000007
#define pi acos(-1.0)
#define ei exp(1)
#define PI 3.141592653589793238462
#define INF 0x3f3f3f3f3f
#define mem(a) (memset(a,0,sizeof(a)))
typedef long long ll;
ll n,t,m,a[20];
ll ans;
ll gcd(ll x,ll y)
{
    return y==0?x:gcd(y,x%y);
}
void dfs(ll cur,ll lcm,ll x)
{
    lcm=a[cur]/gcd(a[cur],lcm)*lcm;
    if(x&1) ans+=n/lcm*(1<<(x-1));
    else ans-=n/lcm*(1<<(x-1));
    for(int i=cur+1;i<m;i++)
        dfs(i,lcm,x+1);
}
int main()
{
    scanf("%lld",&t);
    while(t--)
    {
        ans=0;
        scanf("%lld%lld",&n,&m);
        for(int i=0;i<m;i++)
            scanf("%lld",&a[i]);
        for(int i=0;i<m;i++)
            dfs(i,a[i],1);
        printf("%lld\n",ans);
    }
    return 0;
}

时间: 2024-10-31 03:51:19

玲珑学院 1138 - 震惊,99%+的中国人都会算错的问题的相关文章

“玲珑杯”线上赛 Round #17 河南专场 B.震惊,99%+的中国人都会算错的问题

1138 - 震惊,99%+的中国人都会算错的问题 Time Limit:4s Memory Limit:128MByte Submissions:304Solved:84 DESCRIPTION 众所周知zhu是一个大厨,zhu一直有自己独特的咸鱼制作技巧.tang是一个咸鱼供应商,他告诉zhu在他那里面有NN条咸鱼(标号从1到N)可以被用来制作.每条咸鱼都有一个咸鱼值KiKi,初始时所有KiKi都是00.zhu是一个特别的人,他有MM个咸数(咸鱼数字), 对于每个咸数xx,他都会让所有满足标

玲珑杯 1138 - 震惊,99%+的中国人都会算错的问题(容斥)

题目链接:http://www.ifrog.cc/acm/problem/1138 题解:这题就是简单的容斥,但是和标准的不太一样,这个是只加上出现奇数的.其实也是挺简单的. 容斥原式:      只求奇数那么就要球容斥的系数如果n=2,显然为a+b-2*a*b,n=3,a+b+c-2*a*b-2*a*c-2*b*c+4*a*b*c,n=4.....不妨设f(x)表示由x个数组合出来的数系数为多少,那么当x为奇数时f(x)=1-(f(1)*n-f(2)*n+f(3)*n-........-f(x

99%的房地产企业都会遇到的信息化问题

房地产行业是一个资源密集型.资源整合型.知识密集型的行业,在信息化建设中,强调以核心业务为信息化建设的主线,以客户.产品.资金和知识为核心,关注房地产企业在项目开发.营销.资金管理.成本管理等.简而言之,就是依据企业自身的特点,选择适合的信息化系统.所以最终的情况是,房地产企业的信息化系统由很多厂家.很多类型的系统构成,外观不一样,数据结构不一样等等各种差别,真真正正的百花齐放. 帆软传说哥早些时间接触到的一个房地产A企业也是按照以上方式建设信息化的,他们还好一些,当前运行的主要是明源的各个系统

大部分人都会做错的经典JS闭包面试题

大部分人都会做错的经典JS闭包面试题 目录 由工作中演变而来的面试题 JS中有几种函数 创建函数的几种方式 三个fun函数的关系是什么? 函数作用域链的问题 到底在调用哪个函数? 后话 由工作中演变而来的面试题 这是一个我工作当中的遇到的一个问题,似乎很有趣,就当做了一道题去面试,发现几乎没人能全部答对并说出原因,遂拿出来聊一聊吧. 先看题目代码: function fun(n,o) { console.log(o) return { fun:function(m){ return fun(m,

经典js闭包----对《大部分人都会做错的经典JS闭包面试题》的理解

重新看js闭包的时候看到了<大部分人都会做错的经典JS闭包面试题>,自己理解并记录了下想法.很多部分博主已经讲得很详细了,只是后面的解释部分文字有点绕. 原帖地址:http://web.jobbole.com/84328/ 先贴代码 1 function fun(n,o){ 2 console.log(o); 3 return { 4 fun:function(m){ 5 return fun(m,n); 6 } 7 } 8 } 9 10 var a = fun(0); 11 a.fun(1)

玲珑学院 1128 咸鱼拷问

1128 - 咸鱼拷问 Time Limit:3s Memory Limit:128MByte Submissions:367Solved:112 DESCRIPTION 给你两个序列A,B.每个序列有N个元素,我们定义第i个位置的咸鱼值为min(A[i],A[i-1]-A[i-B[i]+1])*max(A[i],A[i-1]-.A[i-B[i]+1]).. 现在咸鱼王想知道所有的咸鱼值,于是抓住了你,让你回答这道题.你能回答他吗? INPUT 第一行包括一个整数N(1<=N<=1e5) 第二

玲珑学院 1127 咸鱼文章

1127 - 咸鱼文章 Time Limit:1s Memory Limit:128MByte Submissions:474Solved:196 DESCRIPTION elttiL moT nwod eht teerts sllac ruo god " ehT peek god " . piZ si a peehs god . tuB nehw moT seirt ot yas " peeS " , ti semoc tuo " peek "

玲珑学院 1149 - Buildings

题意:给出N,k,长度为N的数列,问有多少个区间满足区间最大值-区间最小值<=k 思路:RMQ+二分 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N=2e5+10; 5 int a[N],b[N]; 6 int dp1[N][20],dp2[N][20]; 7 int n,k; 8 9 void init(){ 10 memset(dp2,127,sizeof(d

玲珑学院 1052 - See car

1052 - See car Time Limit:2s Memory Limit:64MByte Submissions:594Solved:227 DESCRIPTION You are the god of cars, standing at (a, b) point.There are some cars at point (xi,yi), . If lots of cars and you are in one line, you can only see the car that i