【反演复习计划】【bzoj3529】数表
Orz PoPoQQQ大爷
按照他ppt的解法,这题可以划归到之前的题了OrzOrz
跪wy写的题解(Stealth Assassin)https://www.luogu.org/wiki/show?name=%E9%A2%98%E8%A7%A3+P3312
#include<bits/stdc++.h>
#define N 100005
#define fi first
#define sc second
using namespace std;
typedef long long ll;
int Q,maxn,cnt,prime[N],mu[N],d[N];
int c[*N],ans[N],vis[N];
pair<int,int> f[N];
struct Query{int n,m,a,id;}q[N];
bool operator<(Query x,Query y){return x.a<y.a;}
inline int lowbit(int x){return (x&(-x));}
inline void add(int x,int val){
for(int i=x;i<=maxn;i+=lowbit(i))c[i]+=val;
}
inline int query(int x){
int ans=;
for(int i=x;i;i-=lowbit(i))ans+=c[i];
return ans;
}
inline void calcmu(){
cnt=;memset(vis,,sizeof(vis));mu[]=;
for(int i=;i<=maxn;i++){
if(vis[i]){prime[++cnt]=i;mu[i]=-;}
for(int j=;j<=cnt;j++){
int t=prime[j]*i;if(t>maxn)break;
vis[t]=;
if(i%prime[j]==){mu[t]=;break;}
mu[t]=-mu[i];
}
}
for(int i=;i<=maxn;i++)
for(int j=i;j<=maxn;j+=i)f[j].fi+=i;
for(int i=;i<=maxn;i++)f[i].sc=i;
}
inline void work(int x){
int id=q[x].id,n=q[x].n,m=q[x].m;
for(int i=,j=;i<=n;i=j+){
j=min(n/(n/i),m/(m/i));
ans[id]+=(n/i)*(m/i)*(query(j)-query(i-));
}
}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
Q=read();
for(int i=;i<=Q;i++){
q[i].n=read();q[i].m=read();q[i].a=read();q[i].id=i;
if(q[i].n>q[i].m)swap(q[i].n,q[i].m);
maxn=max(maxn,q[i].n);
}
calcmu();
sort(q+,q+Q+);sort(f+,f+maxn+);int now=;
for(int i=;i<=Q;i++){
while(now+<=maxn&&f[now+].fi<=q[i].a){
++now;
for(int j=f[now].sc;j<=maxn;j+=f[now].sc)
add(j,f[now].fi*mu[j/f[now].sc]);
}
work(i);
}
for(int i=;i<=Q;i++)printf("%d\n",ans[i]&0x7fffffff);
return ;
}
【反演复习计划】【bzoj3529】数表的更多相关文章
- 【反演复习计划】【51nod1594】Gcd and Phi
现在感觉反演好多都是套路QAQ…… #include<bits/stdc++.h> using namespace std; ; typedef long long ll; int n,c ...
- 【反演复习计划】【COGS2432】爱蜜莉雅的施法
也是一个反演. 第一次手动推出一个简单的式子,激动.jpg 原题意思是求:$Ans=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\phi(gcd(i,j))$随 ...
- 【反演复习计划】【bzoj1011】zap-queries
快三个月没做反演题了吧…… 感觉高一上学期学的全忘了…… 所以还得从零开始学推式子. # bzoj1011 标签(空格分隔): 未分类 --- 原题意思是求以下式子:$Ans=\sum\limits_ ...
- 【反演复习计划】【bzoj4407】于神之怒加强版
#include<bits/stdc++.h> #define N 5000010 #define yql 1000000007 using namespace std; typedef ...
- 【反演复习计划】【COGS2433】&&【bzoj3930,CQOI2015选数】爱蜜莉雅的冰魔法
同bzoj3930. (日常盗题图) #include<bits/stdc++.h> #define N 1000010 #define yql 1000000007 #define ll ...
- 【反演复习计划】【COGS2431】爱蜜莉雅的求助
出题人怎么这么不认真啊==明明官方译名是爱蜜莉雅…… 而且我们爱蜜莉雅碳是有英文名哒!是Emilia.你那个aimiliya我实在是无力吐槽…… 不过抱图跑23333首先这很像约数个数和函数诶!但是唯 ...
- 【反演复习计划】【bzoj2154】Crash的数字表格
膜拜cdc……他的推导详细到我这种蒟蒻都能看得懂! 膜拜的传送门 所以我附一下代码就好了. #include<bits/stdc++.h> #define N 10000005 #defi ...
- 【反演复习计划】【bzoj3994】DZY loves maths
这题大概就是提取一下d,然后就跟前面的题目差不多了. #include<bits/stdc++.h> #define N 10000005 using namespace std; typ ...
- 【反演复习计划】【bzoj3994】约数个数和
首先要用数学归纳证明一个结论,不过因为我实在是懒得打公式了... 先发代码吧. #include<bits/stdc++.h> #define N 50005 using namespac ...
随机推荐
- Python时间获取及转换知识汇总
时间处理是我们日常开发中最最常见的需求,例如:获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个datetime的时间 ...
- nopcommerce商城系统--开发者常遇问题清单
原址:http://www.nopcommerce.com/docs/74/frequently-asked-development-questions.aspx 以下是开发者常见问题的清单.也介绍了 ...
- onkeypress,onkeyup,onkeydown区别
onkeypress 这个事件在用户按下并放开任何字母数字键时发生.系统按钮(例如,箭头键和功能键)无法得到识别. onkeyup 这个事件在用户放开任何先前按下的键盘键时发生. onkeydown ...
- Activiti工作流(二)——入门Demo及数据库
上篇博客简单介绍了Activiti流程图的使用,这篇博客我们就根据这个流程图来完成这一个流程. 下图是Activiti的系统服务结构图,在后面的流程中,我们会用到其中的功能组件,如Repositor ...
- SSH答疑解惑系列(三)——Struts2的异常处理
Struts2的异常采用声明式异常捕捉,具体通过拦截器来实现. 在项目中,我们可以在Action中直接抛出异常,剩下的就交给Struts2的拦截器来处理了.当然,我们需要进行相关配置. Struts2 ...
- Redis--各个数据类型最大存储量
原文地址:https://redis.io/topics/data-types Strings类型:一个String类型的value最大可以存储512M Lists类型:list的元素个数最多为2^3 ...
- calendar components
calendar components 日历 angular, react, vue ??? react https://github.com/intljusticemission/react-big ...
- RadioGroup 的使用
//获取 RadioGroup 项目名称 procedure TForm1.RadioGroup1Click(Sender: TObject); begin Text := RadioGroup1 ...
- Java IO 之 System类
1.使用System.in.read读取,使用System.out.println 输出 package org.zln.io; import java.io.IOException; /** * C ...
- 【bzoj2661】[BeiJing wc2012]连连看 最大费用最大流
题目描述 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭区间[a,b]中的全部整数,如果其中某两个数x,y(设x>y ...