bzoj千题计划297:bzoj3629: [JLOI2014]聪明的燕姿
http://www.lydsy.com/JudgeOnline/problem.php?id=3629
约数和定理:
若n的标准分解式为 p1^k1 * p2^k2 ……
那么n的约数和= π (Σ pi^xi ) xi∈[0,ki]
原本枚举小于S的质数,通过先判断S-1是不是质数 就可以 枚举根号S内的质数
#include<cstdio>
#include<algorithm> using namespace std; #define N 1000000 int prime[N+],cnt;
bool vis[N+]; int ans[N],tot; void pre()
{
vis[]=true;
for(int i=;i<=N;++i)
{
if(!vis[i]) prime[++cnt]=i;
for(int j=;j<=cnt;++j)
{
if(i*prime[j]>N) break;
vis[i*prime[j]]=true;
if(!(i%prime[j])) break;
}
}
} bool isprime(int x)
{
if(x<=N) return !vis[x];
for(int i=;prime[i]*prime[i]<=x;++i)
if(!(x%prime[i])) return false;
return true;
} void dfs(int last,int num,int rest)
{
if(rest==) { ans[++tot]=num; return; }
if(rest->prime[last] && isprime(rest-)) ans[++tot]=num*(rest-);
for(int i=last+;prime[i]*prime[i]<=rest;++i)
for(int sum=prime[i]+,nnum=prime[i];sum<=rest;nnum*=prime[i],sum+=nnum)
if(!(rest%sum)) dfs(i,num*nnum,rest/sum);
} int main()
{
pre();
int n;
while(scanf("%d",&n)!=EOF)
{
tot=;
dfs(,,n);
sort(ans+,ans+tot+);
printf("%d\n",tot);
for(int i=;i<=tot;++i) printf("%d ",ans[i]);
if(tot) printf("\n");
}
}
bzoj千题计划297:bzoj3629: [JLOI2014]聪明的燕姿的更多相关文章
- bzoj3629[JLOI2014]聪明的燕姿
http://www.lydsy.com/JudgeOnline/problem.php?id=3629 搜索. 我们知道: 如果$N=\prod\limits_{i=1}^{m}p_{i}^{k_{ ...
- 2018.09.11 bzoj3629: [JLOI2014]聪明的燕姿(搜索)
传送门 一道神奇的搜索. 直接枚举每个质因数的次数,然后搜索就行了. 显然质因数k次数不超过logkn" role="presentation" style=" ...
- bzoj3629 [JLOI2014]聪明的燕姿——DFS+约数和定理
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3629 扫除了一个知识盲点:约数和定理 约数和定理: 对于一个大于1正整数n可以分解质因数:n ...
- bzoj3629 / P4397 [JLOI2014]聪明的燕姿
P4397 [JLOI2014]聪明的燕姿 根据唯一分解定理 $n=q_{1}^{p_{1}}*q_{2}^{p_{2}}*q_{3}^{p_{3}}*......*q_{m}^{p_{m}}$ 而$ ...
- 【LG4397】[JLOI2014]聪明的燕姿
[LG4397][JLOI2014]聪明的燕姿 题面 洛谷 题解 考虑到约数和函数\(\sigma = \prod (1+p_i+...+p_i^{r_i})\),直接爆搜把所有数搜出来即可. 爆搜过 ...
- BZOJ_3629_[JLOI2014]聪明的燕姿_dfs
BZOJ_3629_[JLOI2014]聪明的燕姿_dfs Description 阴天傍晚车窗外 未来有一个人在等待 向左向右向前看 爱要拐几个弯才来 我遇见谁会有怎样的对白 我等的人他在多远的未来 ...
- P4397 [JLOI2014]聪明的燕姿
P4397 [JLOI2014]聪明的燕姿 题目背景 阴天傍晚车窗外 未来有一个人在等待 向左向右向前看 爱要拐几个弯才来 我遇见谁会有怎样的对白 我等的人他在多远的未来 我听见风来自地铁和人海 我排 ...
- bzoj千题计划300:bzoj4823: [Cqoi2017]老C的方块
http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色 ...
- bzoj千题计划196:bzoj4826: [Hnoi2017]影魔
http://www.lydsy.com/JudgeOnline/problem.php?id=4826 吐槽一下bzoj这道题的排版是真丑... 我还是粘洛谷的题面吧... 提供p1的攻击力:i,j ...
随机推荐
- [学习笔记]Ubuntu下安装配置SQLSERVER2017
摘要自微软官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu 安装步骤: 1. 导入公共秘 ...
- Linux 文件系统概览
本文导航 -定义07% -文件系统的基本功能12% -目录结构26% -Linux 统一目录结构50% -文件系统类型74% -挂载81% -结论90% -下个月92% 本文旨在高屋建瓴地来讨论 ...
- Python 爬虫 --- urllib
对于互联网数据,Python 有很多处理网络协议的工具,urllib 是很常用的一种. 一.urllib.request,request 可以很方便的抓取 URL 内容. urllib.request ...
- 关于Http_build_query的用法
使用背景:在做接口业务过程中,有时会遇到这种情况,本地APP需要接口给其返回一个url,那么在拼接参数的时候,用这个函数就会很方便. 百度百科上给的解释是这样的:http_build_query -- ...
- python模块_多重继承的MRO
MRO(Method Resolution Order):方法解析顺序.Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多问题,比如二义性,Python中一切皆引用 ...
- Android Studio & HTTP Proxy
Android Studio & HTTP Proxy https://mirrors.neusoft.edu.cn/android https://mirrors.neusoft.edu.c ...
- matplotlib之随机漫步
# 随机漫步类 from random import choice from matplotlib import pyplot as plt from pylab import mpl from ma ...
- jenkins--svn+Email自动触发2(jenkins系统配置)
jenkins系统配置-SonarQube servers配置: 邮件通知设置: 邮件调试问题: 在 系统设置 --> Extended E-mail Notification: 找到 Enab ...
- BZOJ4822[Cqoi2017]老C的任务——树状数组(二维数点)
题目描述 老 C 是个程序员. 最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统.作为经验丰富的程序员,老 C 轻松 地完成了系统的大部分功能,并把其中一个功能交给你来实 ...
- BZOJ4001 TJOI2015概率论(生成函数+卡特兰数)
设f(n)为n个节点的二叉树个数,g(n)为n个节点的二叉树的叶子数量之和.则答案为g(n)/f(n). 显然f(n)为卡特兰数.有递推式f(n)=Σf(i)f(n-i-1) (i=0~n-1). 类 ...