题目:给定n个数字a1...an。有m个询问,格式为L R X Y,意为求aL到aR之间与x的最大公因数为y的个数。

   数据组数T<=20

   1<=n,m<=1e5

   1<=ai<=1e5

   1<=L,R<=n;1<=X,Y<=1e5

分析:

     考虑预处理出1~1e5所有数字的因子

   然后就可以知道每个因子在1~n这n个位置的分布情况

   对于一个询问(l,r,x,y)

   就相当于求[l,r]之间公因数为y,[l,r]之间公因数为2y,[l,r]之间公因数为3y……等等这些做容斥,很容易就看出这满足经典的莫比乌斯反演

   具体的F(n)表示[l,r]之间和x共有因数y的数字的个数,f(n)表示[l,r]之间和x的最大公约数位y的数字的个数

   那么f(n)=Σμ(d/n)F(d)

   那么F(d)怎么求呢,F(d)其实就是因数d在[l,r]中出现了几个,直接二分就行了

   复杂度不好估计,但不会超过O(n根号n)

最新文章

  1. html 标签
  2. 楼主,可否发一份代码给我!QQ....
  3. Oracel基础知识
  4. ViewPager+PagerTabStrip实现页面的切换
  5. js调用刷新
  6. 分子量 (Molar Mass,ACM/ICPC Seoul 2007,UVa 1586)
  7. 【Unity Shaders】初探Surface Shader背后的机制
  8. gcc 安装
  9. Autel MaxiDAS DS708 Fatal Application Error illegal operation
  10. android 解析XML方式(三)
  11. 检查dns服务器是否可用
  12. codeforces Codeforces Round #345 (Div. 1) C. Table Compression 排序+并查集
  13. 深度探索va_start、va_arg、va_end
  14. mvc分页生成静态页,mvc生成静态页
  15. Crossing River poj1700贪心
  16. LB 负载均衡的层次结构(转)
  17. 迁移git
  18. django自制后台左侧导航代码
  19. How to emulate a Raspberry Pi on your PC
  20. CF767C Garland--树形dp

热门文章

  1. 三种将list转换为map的方法(传统方法、jdk8 Stream流、guava)
  2. 快速排序算法原理及其js实现
  3. GCC的函数声明问题
  4. YOLO模型对图片中车辆的识别比对
  5. jpa,querydsl
  6. WebAPI中Area的使用
  7. UVALive 4128 Steam Roller 蒸汽式压路机(最短路,变形) WA中。。。。。
  8. OracleService類
  9. android-async-http框架库使用基础
  10. 全国高校绿色计算大赛 预赛第三阶段(Python)(随机数)