https://www.luogu.org/problemnew/show/P3861

排序:乘数保持单调递增

dp+hash(map解决)

 #include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <time.h>
#include <string>
#include <set>
#include <map>
#include <list>
#include <stack>
#include <queue>
#include <vector>
#include <bitset>
#include <ext/rope>
#include <algorithm>
#include <iostream>
using namespace std;
#define ll long long
#define minv 1e-6
#define inf 1e9
#define pi 3.1415926536
#define E 2.7182818284
const ll mod=1e9+;//
const int maxn=1e6+; bool vis[maxn];
ll zhi[maxn],x[maxn],y[maxn],s[maxn],tot[];
ll n,nn;
int g=,g1=,g2=,g3=;
map<int,int>st; void getzhi()
{
int i,j,value=1e6;
for (i=;i<=value;i++)
{
if (!vis[i])
{
g++;
zhi[g]=i;
}
for (j=;j<=g;j++)
{
if (i*zhi[j]>value)
break;
vis[i*zhi[j]]=;
if (i%zhi[j]==)
break;
}
}
} void getzys(int index,ll value)
{
ll v=;
int i;
for (i=;i<=y[index];i++)
{
if (index!=g1)
getzys(index+,value*v);
else
{
g2++;
s[g2]=value*v;
}
v=v*x[index];
}
} void getr(int index,ll value)
{
if (value==)
{
g3++;
return;
}
if (index==g2+ || value<s[index])
return;
for (int i=index;i<=g2;i++)
if (value%s[i]==)
getr(i+,value/s[i]);
} void work()
{
int i,j;
// g2=-1; //ignore zys 1
g2=;
getzys(,);
// g2--; //ignore zys n
sort(s+,s+g2+); st.clear();
for (i=;i<=g2;i++)
st[s[i]]=i; //from big to small ,ignore repetition
memset(tot,,sizeof(tot));
tot[]=;
for (i=;i<g2;i++) //ascending
for (j=g2;j>=i;j--) // *s[i]=s[j]
if (s[j]%s[i]==)
tot[j]+=tot[st[s[j]/s[i]]];
printf("%lld\n",tot[g2]); //- (n*1) ///超时
// g3=0;
// getr(1,nn);
// printf("%d\n",g3);
} int main()
{
int t,i;
getzhi();
scanf("%d",&t);
while (t--)
{
scanf("%lld",&n);
nn=n;
g1=;
for (i=;i<=g;i++)
if (n%zhi[i]==)
{
g1++;
x[g1]=zhi[i];
y[g1]=;
while (n%zhi[i]==)
{
y[g1]++;
n/=zhi[i];
}
if (n==)
break;
}
if (n!=)
{
g1++;
x[g1]=n;
y[g2]=;
}
work();
}
return ;
}

P3861 8月月赛A的更多相关文章

  1. [补档][Lydsy2017年4月月赛]抵制克苏恩

    [Lydsy2017年4月月赛]抵制克苏恩 题目 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平. 如果你不玩炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一 ...

  2. 洛谷4月月赛R2

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

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

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

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

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

  5. BZOJ5091 摘苹果 BZOJ2017年11月月赛 概率,期望

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5091 11月月赛B题 题意概括 题解 代码 #include <cstring> #i ...

  6. BZOJ5090 组题 BZOJ2017年11月月赛 二分答案 单调队列

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5090 11月月赛A题 题意概括 给出n个数. 求连续区间(长度大于等于k)最大平均值. 题解 这题 ...

  7. 洛谷P3862 8月月赛B

    https://www.luogu.org/problemnew/show/P3862#sub P3862 8月月赛B 推公式:f(n)->f(n+1) 奇葩的预处理 https://www.l ...

  8. 【BZOJ 4832 】 4832: [Lydsy2017年4月月赛]抵制克苏恩 (期望DP)

    4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 275  Solved: 87 Descripti ...

  9. 【LGR-054】洛谷10月月赛II

    [LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \( ...

随机推荐

  1. Java Web应用中支持跨域请求

    转载:https://blog.csdn.net/lmy86263/article/details/51724221 由于工程合作开发的需要,后台的应用要能支持跨域访问,但是在这个跨域访问“时好时坏” ...

  2. 利用JS实现一个简单的二级联动菜单

    前几天在看js的相关内容,所以就简单写了一个二级联动菜单.分享一下. <!DOCTYPE html> <html lang="en"> <head&g ...

  3. Mysql基础命令(二)select查询操作

    条件查询 使用Where进行数据筛选结果为True的会出现在结果集里面 select 字段 from 表名 where 条件; # 例: select * from test_table where ...

  4. package.json 中 npm 依赖包版本前的符号的意义

    版本的格式 major.minor.patch:主版本号.次版本号.修补版本号 patch:修复bug,兼容老版本 minor:新增功能,兼容老版本 major:新增功能,不兼容老版本 version ...

  5. Git 命令简单罗列

    源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 整 ...

  6. 老李的blog使用日记(3)

    匆匆忙忙.碌碌无为,这是下一个作业,VS,多么神圣高大上,即使这样,有多少人喜欢你就有多少人烦你,依然逃不了被推销的命运,这抑或是它喜欢接受的,但是作为被迫接受者,能做的的也只有接受,而已. 既来之则 ...

  7. 从零开始学Kotlin-枚举(9)

    从零开始学Kotlin基础篇系列文章 枚举的定义 一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类; 枚举常量用逗号分隔,每个枚举常量都是一个对象; enum class EnumDemo ...

  8. [转帖]Oracle 11G RAC For Windows 2008 R2部署手册

    Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次) https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 ...

  9. Installing OpenSSH from the Settings UI on Windows Server 2019 or Windows 10 1809

    Installing OpenSSH from the Settings UI on Windows Server 2019 or Windows 10 1809 OpenSSH client and ...

  10. 这两天学到的简单Linux的命令

    1. 定时执行命令查看命令的接口 watch -n kubectl get pods -n kube-ops 每十秒钟查看一下命令运行接口 2. 后台方式运行 jenkins 当前窗口关闭不影响执行结 ...