题目大意:

输入样例个数T,每个样例输入三个数a,b,n,求[a,b]之间与n互素的个数

基本思路:

互斥,想想这个:AUBUC=A+B+C-A∩B-A∩C-B∩C+A∩B∩C

fac存的是n的素因数que里存的是素因数的乘机以及符号,然后最后n/que得出的就是最后和n非互素的个数

代码如下:

#include<cstdio>
#include<cstdlib>
#include<cstring> using namespace std; typedef long long ll;
const int maxn = 1000000+10;
ll que[maxn],fac[maxn],num; void divid(ll n)
{
num=0;
for(ll i=2;i*i<=n;i++)
{
if(n%i==0)
{
while(n%i==0) n/=i;
fac[num++]=i;
}
}
if(n!=1) fac[num++]=n;
}
ll solve(ll n)
{
int k,t=0;
ll ans=0;
que[t++]=-1;
for(ll i=0;i<num;i++)
{
k=t;
for(ll j=0;j<k;j++)
{
que[t++]=-1*que[j]*fac[i];
}
}
for(ll i=1;i<t;i++) ans+=n/que[i];
return ans;
} int main()
{
int T;
scanf("%d",&T);
int cas=0;
while(T--)
{
ll a,b,n;
scanf("%I64d%I64d%I64d",&a,&b,&n);
divid(n);
ll res=b-solve(b)-(a-1-solve(a-1));
printf("Case #%d: %I64d\n",++cas,res);
}
return 0;
}

  

hdu 4235 容斥原理模板题的更多相关文章

  1. HDU 2138 Miller-Rabin 模板题

    求素数个数. /** @Date : 2017-09-18 23:05:15 * @FileName: HDU 2138 miller-rabin 模板.cpp * @Platform: Window ...

  2. HDU 2586 (LCA模板题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2586 题目大意:在一个无向树上,求一条链权和. 解题思路: 0 | 1 /   \ 2      3 ...

  3. HDU 1392 凸包模板题,求凸包周长

    1.HDU 1392 Surround the Trees 2.题意:就是求凸包周长 3.总结:第一次做计算几何,没办法,还是看了大牛的博客 #include<iostream> #inc ...

  4. HDU 2082 母函数模板题

    找单词 Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status De ...

  5. HDU 2087 kmp模板题

    s为主串 t为模板串 求t的nextt 加const #include<stdio.h> #include<string.h> #include<algorithm> ...

  6. 【网络流#3】hdu 1532 - Dinic模板题

    输入为m,n表示m条边,n个结点 记下来m行,每行三个数,x,y,c表示x到y的边流量最大为c 这道题的模板来自于网络 http://blog.csdn.net/sprintfwater/articl ...

  7. poj 1251 poj 1258 hdu 1863 poj 1287 poj 2421 hdu 1233 最小生成树模板题

    poj 1251  && hdu 1301 Sample Input 9 //n 结点数A 2 B 12 I 25B 3 C 10 H 40 I 8C 2 D 18 G 55D 1 E ...

  8. 最长回文 HDU - 3068 manacher 模板题

    题意:找串的最长回文字串(连续) 题解:manacher版题 一些理解:首位加上任意两个字符是为了判断边界. 本算法主要是为了 1.省去奇偶分类讨论. 2.防止形如aaaaaaa的串使得暴力算法蜕化为 ...

  9. Saving Princess claire_(hdu 4308 bfs模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=4308 Saving Princess claire_ Time Limit: 2000/1000 MS (Jav ...

随机推荐

  1. 循序渐进实现仿QQ界面(二):贴图按钮的三态模拟

    开始之前先说一下RingSDK的编译问题,这里演示的程序需要用到最新版本的RingSDK,请务必用SVN到svn://svnhost.cn/RingSDK更新到最新版本,推荐用TortoiseSVN. ...

  2. 为应用程序池 ''DefaultAppPool'' 提供服务的进程意外终止。进程 ID 是 ''xxx''问题的解决方法

    网上提供了很多办法,都未解决. 解决过程一波三折,依次用了下列方法: 1.解决办法 点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项, 选择其下的“I ...

  3. 银联高校极客挑战赛 初赛 第一场 B

    自学图论的码队弟弟 试图写非递归求解,然后TLE了一下午==,全程找不到bug,换成递归,一发AC 判断环写得很丑== #include<bits/stdc++.h> using name ...

  4. php str_replace与substr_replace的区别

    函数定义: str_replace() :函数替换字符串中的一些字符(区分大小写). substr_replace() :函数把字符串的一部分替换为另一个字符串. 区别: str_replace()和 ...

  5. scrapy电影天堂实战(一)创建数据库

    原文链接 这里的排版没微信公众号那么友好,建议查看公众号原文 创建数据库 首先我们需要创建数据库和表等来存储数据 创建mysql.cnf配置文件 oot@ubuntu:/mnt/test_scrapy ...

  6. 测开之路七十三:用kafka实现消息队列之环境搭建

    一:装java环境,确保java能正确调用 kafka下载地址:http://kafka.apache.org/downloads 下载并解压kafka: 新建两个文件夹,用于存放zookeeper和 ...

  7. gcc -o hello hello.c 执行过程

    GCC编译器驱动程序读取源程序文件hello.c,并将它翻译成一个可执行目标文件hello.这个翻译的过程可分为四个阶段. 1.预处理阶段 预处理器(cpp)根据以字符#开头的命令,修改原始的c程序. ...

  8. 【ABAP系列】SAP ABAP基础-数据更新至数据库操作解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP基础-数据更新至 ...

  9. Mac002--Git安装

    Mac--Git安装 注意:在安装Git前,可先安装homebrew,应用brew命令安装Git即可. 一.Mac 安装homebrew 参考博客:https://blog.csdn.net/yuex ...

  10. 19.ThreadLocal方法解决代码不友好的问题

    #ThreadLocal import threading #创建全局ThreadLocal loacl_school = threading.local() class Student(): def ...