题目描述

小Z想求F(n,k),F(n,k)表示n的所有因数pi中,满足n/pi <= k 的和。

小Z发现还是很水,所以他决定加大难度。

小Z还准备了很多个询问。现在你来解决一下吧。

输入输出格式

输入格式:

第一行两个整数m 表示询问的个数

接下来每行两个数ni,ki,表示这个询问的n和k

输出格式:

也就是把刚好等于k的答案加进去  然后k变大

对于每个询问输出一行一个整数,表示对应的答案。

题目理解:F(n,k)表示n的所有因数qi中,满足n/qi<=k的和,

m组,每组给定n和k,求       

m<=500000,ni<=100000

解析:k比较大的的答案  包含了k比较小的答案,所以要先把每次询问按k来排序,

然后我们每次回答询问的时候  如果k不同  就把k变大成现在要问的k,

也就是把刚好等于k的答案插入线段树, 然后k变大
复杂度 O (nlog^2n+mlogn)
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#define N 100000
#define ll long long
using namespace std;
inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
ll t[N*3],ans[N*5+10];
int m;
struct que{int n,k,id;}e[N*5+10];
bool cmp(que i,que j){return i.k<j.k;}
ll query(int l,int r){ ll sum=0;l+=N-1,r+=N-1;sum+=t[l]+t[r]; if(l==r) return sum-=t[l];for(;l^r^1;l>>=1,r>>=1){if(~l&1) sum+=t[l^1];if( r&1) sum+=t[r^1];}return sum;
}
void Change(int x,int v){t[x+=N-1]+=v; while(x) t[x>>=1]=t[x<<1]+t[x<<1|1];
}
void sol(int x){for(int i=1;i*x<=N;i++) Change(i*x,i);
}
int main(){m=read();for(int i=1;i<=m;i++){e[i].n=read();e[i].k=read();e[i].id=i;}sort(e+1,e+m+1,cmp);int j=0;for(int i=1;i<=m;i++){while(j<e[i].k) sol(++j);ans[e[i].id]=query(1,e[i].n);}for(int i=1;i<=m;i++) printf("%lld\n",ans[i]);return 0;
}

转载于:https://www.cnblogs.com/PaperCloud/p/6915420.html

【0521模拟赛】小Z爱数学相关推荐

  1. 【0521模拟赛】小Z爱划水

    题目描述 小Z和其它机房同学都面临一个艰难的抉择,那就是 要不要划水? 每个人都有自己的一个意见,有的人想做题,有的人想划水. 当然,每个人只能选择一个事情做.如果一个人做的事情和他想做的不同,那么他 ...

  2. 2021级新生程序设计班级天梯赛:3-2 小Z爱读书

    "书中自有黄金屋 书中自有颜如玉",噢!小Z现在太爱读书了,以至于做梦都在想读书的画面.现在他想回想一下梦里的场景,也就是一本书的画面,这本书是立体的,所以是一个长方体. 他需要画 ...

  3. Java 第十一届 蓝桥杯 省模拟赛 小明的城堡

    小明用积木搭了一个城堡. 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图上,每个积木正好占据方格图的一个小方格. 当然,小明的城堡并不是平面的,而是立体的.小明 ...

  4. Java 第十一届 蓝桥杯 省模拟赛 小明植树(DFS)

    小明植树 题目 问题描述 小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗. 小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n ...

  5. 2017-10-5模拟赛T2 小Z爱排序(sorting.*)

    Description Solution 比赛时找到了规律,但是没有证出来--(当然最后还是AC了--) 显然没有被操作的数在排好序的序列中一定是连续的一段. 所以,没有被操作的数一定从左到右连续地递 ...

  6. [帝皇杯day 1] [NOIP2018模拟赛]小P的loI(暴力+素筛),【NOIP模拟赛】创世纪(贪心),无聊的数对(线段树)

    文章目录 T1:小P的lol title solution code T2:创世纪 title solution code T3:无聊的数对 title solution code T1:小P的lol ...

  7. 2021年暑假数学建模第一次模拟赛:新冠疫情预测(插值,时间序列,微分方程建模)

    本系列赛题.数据获取: 2021年暑假数学建模模拟赛(赛题+数据+分析) 不直接提供论文等资料,分析已经很详细了 整理不易,欢迎点赞+关注+收藏 2021年暑假数学建模第一次模拟赛:新冠疫情预测(插值 ...

  8. 2021年暑假数学建模第三次模拟赛:全国各省人均消费分析与预测(很好的SPSS统计训练)

    本系列赛题.数据获取: 2021年暑假数学建模模拟赛(赛题+数据+分析) 不直接提供论文等资料,分析已经很详细了 整理不易,欢迎点赞+关注+收藏 赛题 分析 这次的赛题完全可以全用SPSS来实现,以前 ...

  9. 「小奇模拟赛2」小奇的危机(from hzwer.com)

    「小奇模拟赛2」小奇的危机(from hzwer.com) 「题目背景」 小奇驾驶飞船来到了一个奇怪的星球,这个星球的所以城市都在地下,而且由于环境不断恶化,星球上发生了可怕的生化危机. 「问题描述」 ...

最新文章

  1. Cause: invalid code lengths set
  2. 用python写脚本看什么书-终于知晓python编写脚本入门教程
  3. shell实例第4讲:批量创建用户
  4. 图解设计模式-Abstract Factory模式
  5. 需要大规模配置头文件的解决方案《vc》[转]
  6. 求10 翻译c语言,求助:谁能帮我翻译下最基础的C语言,我是新手,谢谢了!
  7. DevExpress使用技巧总结
  8. 超 10000 名开发者在追的技术栏目,你绝不能错过!
  9. python selenium加速_selenium2.0环境搭建(一)
  10. sql server 2000里ldf损坏,只有mdf的恢复
  11. java对谷歌不兼容_谷歌浏览器不兼容的一些Js
  12. python获取浏览器cookie_python3实现读取chrome浏览器cookie
  13. 细数那些深度定制的PC版 安卓系统
  14. Linux WIFI模块驱动移植
  15. MySQL数据库期末考试试题及参考答案(08)
  16. c语言更改记事本改为大写,pdf英文字母小写改大写怎么改
  17. ios-swift imgview 加载网络图片
  18. 在一个笼子里同事养着一些鸡和兔子,你想了解有多少只鸡和兔,主任对你说:我只告诉你鸡和兔的总头数是16和总脚数是40,你能不能自己计算有多少只鸡和多少只兔?
  19. ThinkPad T440s 改 T450s
  20. 文字底部或者中间 加横线

热门文章

  1. Webservices
  2. 构建linux下的web服务器
  3. 服务器间无密码scp
  4. Tweaked Identical Binary Trees - Medium
  5. Web Components 简述
  6. 如何形象地描述 RxJava 中的背压和流控机制?
  7. [Hibernate]在VS2010中应用NHibernate 3.2与MySQL
  8. UNION会自动删除重复项,union与union all的差异
  9. Solaris10之SVM简析
  10. linux学习:进程间通信—管道