博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019.03.29 NOIP训练 友好国度(点分治+容斥)
阅读量:4309 次
发布时间:2019-06-06

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

思路:
直接上点分治+容斥计算每个因数对应的贡献即可。
代码:

#include
#define ri register intusing namespace std;const int rlen=1<<18|1;inline char gc(){
static char buf[rlen],*ib,*ob; (ib==ob)&&(ob=(ib=buf)+fread(buf,1,rlen,stdin)); return ib==ob?-1:*ib++;}inline int read(){
int ans=0; char ch=gc(); while(!isdigit(ch))ch=gc(); while(isdigit(ch))ans=((ans<<2)+ans<<1)+(ch^48),ch=gc(); return ans;}typedef long long ll;const int N=1e5+5;vector
e[N],fac[N],coe[N];int n,a[N],lim=0,all,mx,siz[N],rt,Tim[N],cnt[N],mul[N],tim=0;bool vis[N],chk[N];ll ans=0;inline int get(int x){
if(mul[x])return mul[x]; if(x<2)return mul[x]=x; int ret=1; for(ri i=0;i

转载于:https://www.cnblogs.com/ldxcaicai/p/10633597.html

你可能感兴趣的文章
cdoj 71 I am Lord Voldemort 水题
查看>>
UVA 12898 And Or 数学暴力
查看>>
Codeforces Round #345 (Div. 2) E. Table Compression 并查集
查看>>
第二周读书笔记《构建之法》
查看>>
注册用户
查看>>
TZC Intercommunication System
查看>>
HDU 4571 SPFA+DP
查看>>
【转】大数据之数据清洗
查看>>
1、hadoop HA分布式集群搭建
查看>>
Wget下载终极用法和15个详细的例子
查看>>
centos 创建以日期为名的文件夹
查看>>
20155305乔磊2016-2017-2《Java程序设计》第一周学习总结
查看>>
最长回文字符串计算
查看>>
JSON一些简单应用
查看>>
海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)(转)
查看>>
word交叉引用公式编号时和连公式一起引用
查看>>
P1163 第K极值 - Smart Online Judge
查看>>
Unity3D 新版本场景转换
查看>>
Android--获取App应用程序的大小
查看>>
Java Timer触发定时器
查看>>