bzoj 2721
题解:首先推一发式子(见csdn https://blog.csdn.net/lleozhang/article/details/83415995)
因为x是整数,所以x的数量显然为能使取得整数的t的个数,也就是求的约数个数
而根据约数个数和公式(设一个数)
可以将前n个数质因子分解,然后将质因子的幂次相乘,最后将所有幂次*2+1后乘在一起即可。
#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#define ll long long
#define mode 1000000007
#define maxn 1000000
using namespace std;
ll fac[];
ll pri[];
bool used[];
int tot=;
int n;
void init()
{
scanf("%d",&n);
for(int i=;(ll)i*i<=n;i++)
{
if(!used[i])
{
pri[++tot]=i;
}
for(int j=;j<=tot&&(ll)i*pri[j]<=n;j++)
{
used[i*pri[j]]=;
if(i%pri[j]==)
{
break;
}
}
}
for(int i=;i<=n;i++)
{
int t=i;
for(int j=;(ll)pri[j]*pri[j]<=t&&j<=tot;j++)
{
while(t%pri[j]==)
{
fac[pri[j]]++;
t/=pri[j];
if(fac[pri[j]]>=mode)
{
fac[pri[j]]-=mode;
}
}
}
if(t!=)
{
fac[t]++;
if(fac[t]>=mode)
{
fac[t]-=mode;
}
}
}
ll ans=;
for(int i=;i<=n;i++)
{
fac[i]<<=;
fac[i]%=mode;
ans*=(fac[i]+);
ans%=mode;
}
printf("%lld\n",ans);
}
int main()
{
init();
return ;
}
bzoj 2721的更多相关文章
- [BZOJ 2721] [Violet 5] 樱花 【线性筛】
		题目链接:BZOJ - 2721 题目分析 题目大意:求出 1 / x + 1 / y = 1 / n! 的正整数解 (x, y) 的个数. 显然,要求出正整数解 (x, y) 的个数,只要求出使 y ... 
- 【BZOJ 2721】 2721: [Violet 5]樱花 (筛)
		2721: [Violet 5]樱花 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 599 Solved: 354 Description Input ... 
- BZOJ 2721: [Violet 5]樱花
		(X-N)(Y-N)=N^2 #include<cstdio> using namespace std; const int mod=1e9+7; int n,cnt,isprime[10 ... 
- 【BZOJ 2721】 樱花
		[题目链接] 点击打开链接 [算法] 令n!=z,因为1 / x + 1 / y = 1 / z,所以x,y>z,不妨令y = z + d 则1 / x + 1 / (z + d) = 1 / ... 
- bzoj 2721[Violet 5]樱花 数论
		[Violet 5]樱花 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 671 Solved: 395[Submit][Status][Discuss ... 
- Luogu 1445 樱花
		BZOJ 2721 唔,太菜了弄不来. 先通分:得到 $\frac{x + y}{xy} = \frac{1}{n!}$ 两边乘一下 $(x + y)n! - xy = 0$ 两边加上$(n!)^2$ ... 
- [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士
		[LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士 题意 题面好啰嗦啊直接粘LOJ题面好了 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照 ... 
- BZOJ 2127: happiness [最小割]
		2127: happiness Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1815 Solved: 878[Submit][Status][Di ... 
- BZOJ 3275: Number
		3275: Number Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 874 Solved: 371[Submit][Status][Discus ... 
随机推荐
- JAVA进阶1
			间歇性混吃等死,持续性踌躇满志系列-------------第1天 1.冒泡排序法 import java.util.Arrays; public class SumNum{ public stati ... 
- react-踩坑记录——页面底部多出一倍高度的空白
			挂载slider组件后页面底部多出一倍高度的空白,如下: slider组件内容⬇️: class Slider extends Component{ constructor(){ super(); } ... 
- Solr 7.7.0 部署到Tomcat
			第一步 1.Solr 解压后server/solr-webapp下一个webapp目录,它就是Solr的Web项目,把它复制到tomcat的webapps目录下并改名为solr # 进入Solr的se ... 
- php编程  之 php基础三
			1,php里的while循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. while实例: <html> <body> <?php $i=1; wh ... 
- Linker Scripts3--链接脚本概述
			1.前言 本文主要翻译了The Link Script英文文献. (1)每个链接都是由链接脚本控制,链接脚本是用链接命令语言写的: (2)链接脚本的主要目的是描述输入文件的sections如何映射到输 ... 
- curl的http上传文件代码
			int http_post_file(const char *url, const char *user, const char *pwd, const char *filename){ ass ... 
- python用类装饰函数的一个有趣实现
			class RunningLog: def __init__(self,func): self._func=func self._func_name = func.__name__ def __cal ... 
- hibernate框架学习第一天:hibernate介绍及基本操作
			框架辅助开发者进行开发,半成品软件,开发者与框架进行合作开发 Hibernate3Hibernate是一种基于Java的轻量级的ORM框架 基于Java:底层实现是Java语言,可以脱离WEB,在纯J ... 
- ubuntu安装pycharm并建立桌面快捷方式
			环境:ubuntu18.04 参考文章:本地安装:https://blog.csdn.net/liuxiao214/article/details/78893457 在线安装:https://www. ... 
- Dubbo原理解析-Dubbo内核实现之SPI简单介绍
			转自:https://blog.csdn.net/quhongwei_zhanqiu/article/details/41577159 Dubbo 采用微内核+插件体系,使得设计优雅,扩展性强.那所谓 ... 
