链接

用f[i][j]表示乘积为i的,包含的最大数小于等于j时的方案总数

我们先考虑所用的数为1到n的情况

最后的答案就是f[n][n]-1

转移时考虑f[i][j]可以转移到的状态

显然f[i][j]可以转移到f[i*k][k](k>j),可以转移到f[i][k](k>j)

我们在考虑,可以发现只有i,j都为n的因数时才会对答案产生贡献

而1e12中因数最多的数有大约7000个因数,所以我们就可以愉快的O(7000^2)水过去了

# include<iostream>
# include<cstdio>
# include<cstring>
# include<cmath>
# include<algorithm>
using namespace std;
typedef long long LL;
const int mod = ;
const int mn = ;
LL f[mn][mn],a[mn],n;
int cnt,t;
void work(LL x)
{
LL m=sqrt(x*1.0);
for(int i=;i<=m;i++)
{
if(x%i==)
{
if(1ll*i*i==x)
a[++cnt]=i;
else {
a[++cnt]=i;
a[++cnt]=x/i;
}
}
}
sort(a+,a++cnt);
a[cnt+]=x+;//增加虚拟节点
f[][]=;
//printf("%d",cnt);
for(int i=;i<=cnt;i++)
{
int l=i+;
for(int j=;j<cnt;j++)
{
if(f[i][j]==) continue;
if(a[i]*a[j+]<=x)
{
while(a[l+]<=a[i]*a[j+]) l++;
if(a[l]==a[i]*a[j+])
f[l][j+]=(f[l][j+]+f[i][j])%mod;
}
f[i][j+]=(f[i][j+]+f[i][j])%mod;
}
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
cnt=;
//memset(f,0,sizeof(f));
scanf("%lld",&n);
work(n);
printf("%lld\n",f[cnt][cnt]-);
if(t)
{
for(int i=;i<=cnt;i++)
for(int j=;j<=cnt;j++)
f[i][j]=;
}
}
return ;
}

洛谷3861八月月赛A题解的更多相关文章

  1. 【LGR-070】洛谷 3 月月赛-官方题解

    本次免费为大家提供[LGR-070]洛谷 3 月月赛的官方题解,点个赞再走呗! 代码就不上了,大家可以到别的博客上去找找!希望这篇博客能对你有所帮助!

  2. 洛谷10月月赛II题解

    [咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...

  3. 洛谷3月月赛div2 题解(模拟+数学+贪心+数学)

    由于本人太蒻了,div1的没有参加,胡乱写了写div2的代码就赶过来了. T1 苏联人 题目背景 题目名称是吸引你点进来的. 这是一道正常的题,和苏联没有任何关系. 题目描述 你在打 EE Round ...

  4. 【洛谷5月月赛】玩游戏(NTT,生成函数)

    [洛谷5月月赛]玩游戏(NTT,生成函数) 题面 Luogu 题解 看一下要求的是什么东西 \((a_x+b_y)^i\)的期望.期望显然是所有答案和的平均数. 所以求出所有的答案就在乘一个逆元就好了 ...

  5. 「P4996」「洛谷11月月赛」 咕咕咕(数论

    题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...

  6. 「P4994」「洛谷11月月赛」 终于结束的起点(枚举

    题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...

  7. 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心

    题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi​,地面的高度是 h_0 = 0 ...

  8. 洛谷4月月赛R2

    洛谷4月月赛R2 打酱油... A.koishi的数学题  线性筛约数和就可以\(O(N)\)了... #include <iostream> #include <cstdio> ...

  9. 洛谷3月月赛 R1 Step! ZERO to ONE

    洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...

随机推荐

  1. mysql InnoDB: Assertion failure in thread xxxx in file ut0mem.cc line 105

    mysql InnoDB: Assertion failure in thread xxxx in file ut0mem.cc line 105 错误信息 InnoDB: Assertion fai ...

  2. UVA - 1230

    https://vjudge.net/problem/UVA-1230 费马小定理优化快速幂 #include <iostream> #include <cstdio> #in ...

  3. 使用 top instance 命令查看运行中 MaxCompute 作业

    我们都知道,在 MaxCompute Console 里,可以使用下面的命令来列出运行完成的 instance 列表. show p|proc|processlist [from <yyyy-M ...

  4. JavaSE_06_Collection、泛型

    1.Collection集合 1.1 集合概述 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值.集合存储的都是对象.而且对象的类型可以不一致.在开发中一 ...

  5. mysql高级教程(一)-----逻辑架构、查询流程、索引

    mysql逻辑架构 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提 ...

  6. jeecms 配置可以低级别用户流程

    使用管理员admin登录后台,进入用户—>管理员(本站)à添加,填写用户名.密码等信息,如下图: 需要注意几个权限控制的问题: 1,  等级,值越大等级越高,等级高的管理员可以审核等级低的管理员 ...

  7. Maven实战07_依赖

    1:依赖声明 <project> ... <dependencies> <dependency> <groupId>...</groupId> ...

  8. python简单爬豆瓣电影排名

    爬豆瓣电影 网站分析: 1 打开https://movie.douban.com,选择  [排行榜],然后随便选择一类型,我这里选择科幻    2 一直浏览网页,发现没有下一的标签,是下滑再加载的,可 ...

  9. SpringBooot- 访问时,默认有弹出认证

    SpringBooot- 访问时,默认有弹出认证 springboot启动成功后,访问请求时,默认弹出窗口,需登录认证. 原因: 是由于使用了springsecurity的默认安全策略,解决方案:启动 ...

  10. JobTracker与TaskTracker的关系

    JobTracker  对应于 NameNode TaskTracker 对应于 DataNode DataNode 和NameNode 是针对数据存放来而言的 JobTracker和TaskTrac ...