• hdu 1796 How many integers can you find


    容斥原理!!

    这题首先要去掉=0和>=n的值,然后再使用容斥原理解决

    我用的是数组做的……

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<algorithm>
     4 #include<iomanip>
     5 #include<cmath>
     6 #include<string>
     7 #include<vector>
     8 #define ll __int64
     9 using namespace std;
    10 int an[11],n,m,num,a[11];
    11 ll gcd(int a,int b)
    12 {
    13     int t;
    14     if(a<b) swap(a,b);
    15     while(b)
    16     {
    17         t=a;
    18         a=b;
    19         b=t%b;
    20     }
    21     return a;
    22 }
    23 ll lcm(int a,int b)
    24 {
    25     return a/gcd(a,b)*b;
    26 }
    27 ll cal()
    28 {
    29     ll quene[10000],sum=0;
    30     int t=0,k,i,j;
    31     quene[t++]=-1;
    32     for(i=0;i<num;i++)
    33     {
    34         k=t;
    35         for(j=0;j<k;j++)
    36         {
    37             if(quene[j]<0)
    38                 quene[t++]=lcm(-quene[j],an[i]);
    39             else quene[t++]=(-1)*lcm(quene[j],an[i]);
    40         }
    41     }
    42     for(i=1;i<t;i++)
    43         sum+=(n-1)/quene[i];
    44     return sum;
    45 }
    46 int main()
    47 {
    48     int i,j,t,k;
    49     while(cin>>n>>m)
    50     {
    51         num=0;k=0;
    52         for(i=0;i<m;i++)
    53         {
    54             cin>>t;
    55             if(t>0&&t<n)  an[num++]=t;
    56         }
    57         printf("%I64d
    ",cal());
    58     }
    59     return 0;
    60 }
    View Code
  • 相关阅读:
    Angular 中使用第三方模块 axios 请求数据
    angular 创建服务
    Promise和RxJS处理异步对比
    ES6中的迭代器(Iterator)和生成器(Generator)
    async await
    Ajax分析
    JSTL
    EL
    Spring-常用依赖及配置
    Spring-AOP的三种方式
  • 原文地址:https://www.cnblogs.com/xin-hua/p/3208348.html
Copyright © 2020-2023  润新知