博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4407 (12年 金华) 容斥原理 + map +筛选质因子
阅读量:6364 次
发布时间:2019-06-23

本文共 2097 字,大约阅读时间需要 6 分钟。

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4407

Sum

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 1714    Accepted Submission(s): 478

Problem Description
XXX is puzzled with the question below: 
1, 2, 3, ..., n (1<=n<=400000) are placed in a line. There are m (1<=m<=1000) operations of two kinds.
Operation 1: among the x-th number to the y-th number (inclusive), get the sum of the numbers which are co-prime with p( 1 <=p <= 400000).
Operation 2: change the x-th number to c( 1 <=c <= 400000).
For each operation, XXX will spend a lot of time to treat it. So he wants to ask you to help him.
 

 

Input
There are several test cases.
The first line in the input is an integer indicating the number of test cases.
For each case, the first line begins with two integers --- the above mentioned n and m.
Each the following m lines contains an operation.
Operation 1 is in this format: "1 x y p". 
Operation 2 is in this format: "2 x c".
 

 

Output
For each operation 1, output a single integer in one line representing the result.
 

 

Sample Input
1
3 3
2 2 3
1 1 3 4
1 2 3 6
 

 

Sample Output
7
0
分析:
1:先求出 R- L 区间内与p 互质的数之和, 然后再对修改,处理一下就可以。
2:求区间[1, n] 与 p 互质的 数之和, 用 容斥原理。
3: 用map 保存一下 操作2, 就可以。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define N 400010using namespace std;typedef long long LL;map
mp;map
::iterator it;int p[N][15]={ 0}; // 二维记录p二维质因子int num[N]={ 0}; // 记录P二维质因子的个数int IsNotPrime[N]={ 0};LL ans;// 筛选得到 质因子void init(){ int i,j; for(i=2 ; i
1) lcm=p[q][now]*lcm; int k=n/lcm; if(count&1) { ans-=(LL)lcm* k*(k+1)/2; // 注意一定要强制转换, 因为这个原因ws好几次 } else ans+= (LL)lcm* k*(k+1)/2; for(int i=now +1 ; i
=x && (*it).first<=y) { if(gcd(c, it->first) == 1) ret-=it->first; if(gcd(c, it->second) ==1) ret+=it->second; } } printf("%I64d\n",ret); } else { scanf("%d%d",&x,&y); mp[x]=y; } } } return 0;}

 

 

转载于:https://www.cnblogs.com/zn505119020/p/3606037.html

你可能感兴趣的文章
大数据助力精准扶贫
查看>>
《Unity着色器和屏幕特效开发秘笈》—— 第3章 利用镜面反射让游戏闪耀起来...
查看>>
前中情局局长:FBI目的是从根本上改善iPhone
查看>>
测试界和学术界应该架起桥梁
查看>>
CYQ.Data 轻量数据访问层(四) 构造数据单元列
查看>>
《信息产业发展指南》解读:云计算
查看>>
大隐隐于市,你身边的那些安全隐患你都知道么?
查看>>
这个物联网处理器号称全世界体型最小
查看>>
Decorator模式及其他相似的模式
查看>>
服务器托管的安全维护如何做?
查看>>
物联网市场迅猛发展 “中国芯”如何把握机会?
查看>>
aws 上使用elb 的多域名问题
查看>>
从 MyEclipse 到 IntelliJ IDEA
查看>>
《拥抱变化——社交网络时代的企业转型之道》一本章小结
查看>>
环球花木网的目标就是致力于打造成为“园林相关行业的专业性门户网站
查看>>
《编写高质量代码:改善c程序代码的125个建议》—— 建议14-1:尽量避免对未知的有符号数执行位操作...
查看>>
《C语言编程魔法书:基于C11标准》——2.2 整数在计算机中的表示
查看>>
全球程序员编程水平排行榜TOP50,中国排名第一
查看>>
HDFS 进化,Hadoop 即将拥抱对象存储?
查看>>
Edge 浏览器奇葩 bug:“123456”打印成“114447”
查看>>