Description

给定 \(\sum_{i=l}^r f[i]\)
\(f[i]=\) 把 \(i\) 的每一个质因子都从小到大排列成一个序列(\(p_i^{c_i}\)要出现 \(c_i\) 次)后 , 第二大的质因子.
题面

Solution

符合 \(Min25\) 筛的处理顺序.
递归处理每个质因子作为次大值时的贡献,和不作为次大值时贡献的方案数 , 预处理一下区间质数个数就行了.

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10;
ll w[N],c[N],n,p[N];int m=0,sqr,cnt=0;
inline int id(ll x){return x<=sqr?x:m-(n/x)+1;}
inline ll S(ll n,int k){if(n<=p[k])return 0;ll ret=p[k]*(c[id(n)]-c[p[k]]);for(int i=k+1;i<=cnt && n/p[i]>=p[i];i++){for(ll j=n;(j/=p[i])>=p[i];)ret+=S(j,i)+p[i];}return ret;
}
inline ll solve(ll now){m=0,cnt=0,n=now,sqr=sqrt(n);for(ll i=1,j;i<=n;i=j+1)w[++m]=j=n/(n/i),c[m]=j-1;for(int i=2;i<=sqr;i++){if(c[i]==c[i-1])continue;p[++cnt]=i;for(int j=m;w[j]/i>=i;j--)c[j]-=c[id(w[j]/i)]-c[i-1];}return S(n,0);
}
int main(){freopen("pp.in","r",stdin);freopen("pp.out","w",stdout);ll l,r;cin>>l>>r;cout<<solve(r)-solve(l-1);return 0;
}

转载于:https://www.cnblogs.com/Yuzao/p/9270403.html

UOJ #188. 【UR #13】Sanrd相关推荐

  1. uoj#188. 【UR #13】Sanrd(Min_25筛)

    题面 传送门 题解 这是一道语文题 不难看出,题目所求即为\(l\)到\(r\)中每个数的次大质因子 我们考虑\(Min\_25\)筛的过程,设 \[S(n,j)=\sum_{i=1}^nsec_p( ...

  2. uoj #118. 【UR #8】赴京赶考 水题

    #118. [UR #8]赴京赶考 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/118 Description ...

  3. UOJ#31 【UR #2】猪猪侠再战括号序列

    传送门http://uoj.ac/problem/31 大家好我是来自百度贴吧的_叫我猪猪侠,英文名叫_CallMeGGBond. 我不曾上过大学,但这不影响我对离散数学.复杂性分析等领域的兴趣:尤其 ...

  4. UOJ #31 【UR #2】猪猪侠再战括号序列

    大家好我是来自百度贴吧的_叫我猪猪侠,英文名叫_CallMeGGBond. 我不曾上过大学,但这不影响我对离散数学.复杂性分析等领域的兴趣:尤其是括号序列理论,一度令我沉浸其中,无法自拔.至于OI算法 ...

  5. UOJ#370. 【UR #17】滑稽树上滑稽果 动态规划

    原文链接www.cnblogs.com/zhouzhendong/p/UOJ370.html 题解 首先易知答案肯定是一条链,因为挂在链的最下面肯定比挂在其他节点上赚. 问题被转化成了从一个集合中不断 ...

  6. [UOJ #167]【UR #11】元旦老人与汉诺塔

    题目大意:给你一个有$n$个盘子的汉诺塔状态$S$,问有多少种不同的操作方法,使得可以在$m$步以内到达状态$T$.$n,m\leqslant100$ 题解:首先可以知道的是,一个状态最多可以转移到其 ...

  7. uoj#119. 【UR #8】决战圆锥曲线(线段树+复杂度分析)

    题解 传送门 题解 然而要我来说我感觉只是个爆搜啊-- //minamoto #include<bits/stdc++.h> #define R register #define ll l ...

  8. UOJ#192. 【UR #14】最强跳蚤

    题目大意:给定一颗树,每条边有一个权值,求有多少有序点对使得这两点间路径权值乘起来是完全平方数 我们可以给每个素数随机一个权值,然后把每条边的权值分解质因数,把每个素数换成对应的权值然后异或起来,这样 ...

  9. UOJ#31. 【UR #2】猪猪侠再战括号序列 splay

    显然可以直接凑左面全是左括号,右面全是右括号的情况. 然后区间翻转就用 splay 模拟好了. splay 的时候一定注意一点: 如果没有调用 find(x),就一定要手动把 x 及其祖先的节点 pu ...

最新文章

  1. 给定链表中间某结点指针,删除链表中该结点
  2. JDK内置工具--jconsole
  3. linux之安装frida遇到的问题
  4. uboot启动第二阶段——start_armboot
  5. 简洁的个人导航主页API网站源码 随机背景图
  6. php 如何根据经纬度计算距离,小程序实例:如何根据经纬度计算两点之间的距离(代码)...
  7. 对MVC设计模式的理解
  8. 高焕堂Android架构技术全集
  9. Effective Python: bytes, str, unicode
  10. ubuntu系统grub引导修复
  11. HTML5+css3 的开心网游戏页面
  12. 对于大数据、人工智能时代,我们应该如何面对?
  13. drools的简单入门案例
  14. 华为HCIE安全之常用的局域网攻击
  15. JETSON TX2烧写系统
  16. SO逆向入门实战教程九——blackbox
  17. 29 Linux 防火墙
  18. 浅谈FTP(文件传输协议)
  19. 欧姆龙机器视觉软件系统fh fz fj仿真软件CCD
  20. 官方原版Windows XP SP3(VOL)中文简体版ISO下载

热门文章

  1. A - Beautiful Matrix
  2. css3 transform实现水平和垂直居中
  3. 微信小程序的scroll-view组件
  4. 创建虚拟环境和新建工程目录
  5. _编程语言_C++_Lambda函数与表达式
  6. HDU-4527 小明系列故事——玩转十滴水 模拟
  7. html页面加载时触发的方法,在页面加载时触发onchange html事件
  8. VS在win32平台与mysql链接_mysql5.5.28-win32 + qt--4.8.2-vs2008 数据库驱动编译与连接...
  9. 前端程序员书桌上不可缺少的CSS书籍
  10. jsp实现数据禁用和只读