zoukankan      html  css  js  c++  java
  • HDU 4135

    状态压缩

    其实刚开始没看懂为什么要用位运算

    后来看了别人的注释

    逐渐明白

    我也加上注释吧

     1 #include <iostream>
     2 using namespace std;
     3 
     4 long long Prime[50];//存放N的质因子
     5 
     6 
     7 long long getNonCoPrime(long long num,int m)//计算非互质数的多少
     8 {
     9     long long ans=0,flag,temp;
    10     for(long long i =1;i<(long long)(1<<m);i++)//用二进制串来表示每个质因子是否被取
    11     {
    12         temp = 1;
    13         flag = 0;
    14         for(int j = 0;j<m;j++)//判断每位是否取到
    15         {
    16             if(i&((long long)(1<<j)))//如果取了
    17             {
    18                 flag++;
    19                 temp*=Prime[j];
    20             }
    21         }
    22         if(flag&1)//容斥原理 ,奇加偶减 
    23         {
    24                 ans+=num/temp;
    25         }else{
    26             ans-=num/temp;
    27         }
    28         
    29     }
    30     return ans;
    31 }
    32 
    33 
    34 int main()
    35 {
    36     int T;
    37     cin>>T;
    38     int t =T;
    39     
    40     while(T--)
    41     {
    42         long long A,B;
    43         int N;
    44         cin>>A>>B>>N;
    45         int j =0;
    46         for(int i = 2;i*i<=N;i++)//获得质因子
    47         {
    48             if(N&&N%i==0)
    49             {
    50                 Prime[j]=i;
    51                 j++;
    52                 while(N&&N%i==0)//避免重复
    53                 {
    54                     N/=i;
    55                 }
    56             }
    57         }
    58         if(N>1)
    59             Prime[j++]=N;
    60         long long result = B-A-(getNonCoPrime(B,j) -getNonCoPrime(A-1,j))+1;
    61         cout<<"Case #"<<t-T<<": "<<result<<endl;
    62     }
    63     return 0;
    64 }
  • 相关阅读:
    token验证流程
    mongodb常用命令
    vue生命周期详解
    json-server基本使用
    Vue实现一个简单的todolist
    [高级软件工程教学]个人第2次作业第一次测评结果
    [福大高级软工教学]个人第1次作业成绩公布
    nginx+tomcat负载均衡
    apache 工作模式
    Apache主要的配置文件们
  • 原文地址:https://www.cnblogs.com/Run-dream/p/3859345.html
Copyright © 2011-2022 走看看