[JZOJ 5813] 计算
题意:求满足题意的方案数。
思路:
显然的计数类\(dp\)。
不难发现,令$f(x) = \prod_{i=1}^{2m}{x_i} \(.
在找一个\)x'\(使得\)f(x') = \prod_{i=1}^{2m}{n/x_i}\(
那么,\)f(x') = n^{2m}/f(x) > n^m\(
所以说,对于\)<\(和\)>\(的方案数相同,关键是求出\)=\(.
求\)=\(就是求有多少\)f(x) = n^m\(
将n分解质因数,考虑\)a_j\(表示\)x_j\(中包含\)p\(的指数,令\)cnt\(表示\)n\(中含有\)p\(的指数。
所以就是求\)\sum_{i=1}^{2m}a_j = cnt * m\(且\)a_j > 0\(的方案数。
所以记\)dp[i][j]\(表示前\)i\(个数和为\)j\(的方案数。
所以\)dp[i][j] = \sum_{k=0}^{cnt}dp[i - 1][j - k]\(
复杂度\)O(\sqrt{n} + logn*m^2)$
奇怪的复杂度。。。
不过...关键字坑了我一年...
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn = 210;
#define mod 998244353
ll tmp;
ll s;
ll n,m;
ll dp[maxn][maxn*(maxn>>3)];
inline int read (){
int q=0,f=1;char ch = getchar();
while(!isdigit(ch)) {
if(ch=='-')f=-1;ch=getchar();
}
while(isdigit(ch)){
q=q*10+ch-'0';ch=getchar();
}
return q*f;
}
inline ll pow_mod(ll x,ll y) {
ll res = 1;
while(y) {
if(y & 1) res = res * x % mod;
x = x * x % mod;
y >>= 1;
}
return res;
}
inline void upd(ll &x,ll y) {
x = (x + y) % mod;
}
inline void Upd(ll &x,ll y) {
x = (x * y) % mod;
}
inline void Dp(int x) {
int cnt = 0;
while(tmp % x == 0) cnt ++,tmp /= x;
memset(dp,0,sizeof(dp));
dp[0][0] = 1;
for(int i = 1;i <= (m << 1); ++i) {
for(int j = 0;j <= cnt * m; ++j) {
for(int k = 0;k <= min(j,cnt); ++k) {
upd(dp[i][j],dp[i - 1][j - k]);
}
}
}
Upd(s,dp[m << 1][cnt * m]);
}
int sum;
int main () {
freopen("count.in","r",stdin);
freopen("count.out","w",stdout);
scanf("%lld %lld",&n,&m);
int tid = sqrt(n);
tmp = n;
s = 1;
for(int i = 1;i <= tid; ++i) {
if(n % i == 0) {
sum += 1 + (i * i < n);
if(i > 1 && tmp % i == 0) {
Dp(i);
}
}
}
if(tmp > 1) {
Dp(tmp);
}
sum = pow_mod(sum,m << 1);
printf("%lld",(sum + s) * pow_mod(2,mod - 2) % mod);
return 0;
}
//1 0 1 1 1 2 1 0 1 1 1 2
[JZOJ 5813] 计算的更多相关文章
- [jzoj]2505.【NOIP2011模拟7.29】藤原妹红
Link https://jzoj.net/senior/#main/show/2505 Description 在幻想乡,藤原妹红是拥有不老不死能力的人类.虽然不喜欢与人们交流,妹红仍然保护着误入迷 ...
- [jzoj]3875.【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)
Link https://jzoj.net/senior/#main/show/3875 Problem 在遥远的S星系中一共有N个星球,编号为1…N.其中的一些星球决定组成联盟,以方便相互间的交流. ...
- [jzoj]5257.小X的佛光
Link https://jzoj.net/senior/#main/show/5257 Problem Solution 5~90分 我们可以根据特殊性质搞 如果数据小,直接暴力在树上面模拟一次 如 ...
- [jzoj]1417.数学题
Link https://jzoj.net/senior/#main/show/1417 Problem 当Alice在浏览数学书时,看到一个等式A=S,奇怪的是A和S并不相等.Alice发现可以通过 ...
- MATLAB线性回归方程与非线性回归方程的相关计算
每次比赛都需要查一下,这次直接总结到自己的博客中. 以这个为例子: 2.线性方程的相关计算 x=[1,2,3,4,5]';%参数矩阵 X=[ones(5,1),x];%产生一个5行一列的矩阵,后接x矩 ...
- JZOJ 5919. 逛公园
Description 琥珀色黄昏像糖在很美的远方,思念跟影子在傍晚一起被拉长……Description 小 B 带着 GF 去逛公园,公园一共有 n 个景点,标号为 ...
- [jzoj 6080] [GDOI2019模拟2019.3.23] IOer 解题报告 (数学构造)
题目链接: https://jzoj.net/senior/#main/show/6080 题目: 题意: 给定$n,m,u,v$ 设$t_i=ui+v$ 求$\sum_{k_1+k_2+...+k_ ...
- [jzoj 6087] [GDOI2019模拟2019.3.26] 获取名额 解题报告 (泰勒展开+RMQ+精度)
题目链接: https://jzoj.net/senior/#main/show/6087 题目: 题解: 只需要统计$\prod_{i=l}^r (1-\frac{a_i}{x})$ =$exp(\ ...
- [jzoj 6084] [GDOI2019模拟2019.3.25] 礼物 [luogu 4916] 魔力环 解题报告(莫比乌斯反演+生成函数)
题目链接: https://jzoj.net/senior/#main/show/6084 https://www.luogu.org/problemnew/show/P4916 题目: 题解: 注: ...
随机推荐
- Delphi COM对象
作者:巴哈姆特 http://www.cnpack.org(转载请注明出处并保持完整) 如果没有接触过COM对象的话,你会觉得接口真的很麻烦,也许会有:“还不如直接定义一个类更方便”的想法. 的确, ...
- vue-element-admin打包后白屏的问题
publicPath: './',
- git stash 保存和恢复进度
1. stash当前修改 git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录. 比如下面的中间状态,通过git stash命令推送一个新的储藏,当前的工 ...
- 30天轻松学习javaweb_修改tomcat的servlet模板
在MyEclipse目录下搜索com.genuitec.eclipse.wizards 得到搜索结果 com.genuitec.eclipse.wizards_9.0.0.me201108091322 ...
- java 轻量级 RestClient
package org.rx.socks.http; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; ...
- Linux c基本知识整理
1.指针和引用的区别 1.指针是一个变量,变量存储一个地址指向内存中一个存储单元,需要单独分配内存空间.引用相当于变量的别名,不需要单独分配空间 2.引用必须初始化,指针可以先不进行初始化 3.指针可 ...
- MySql精简
安装的是免安装版MySql 由于MySql是开源的,故下载的时候源码也会包含,如果单纯只是使用其功能,则可以将这些文件删除为MySql减肥 可以删除的文件有如下: 1.mysql-test 文件夹: ...
- iptables防DDOS攻击和CC攻击配置
防范DDOS攻击脚本 #防止SYN攻击 轻量级预防 iptables -N syn-flood iptables -A INPUT -p tcp –syn -j syn-flood iptables ...
- CentOS6.8搭建LNMP环境
selinux可能会致使编译安装失败,我们先禁用它.永久禁用,需要重启生效 sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/c ...
- JVM 源码分析之 javaagent 原理完全解读
转载:https://infoq.cn/article/javaagent-illustrated 本文重点讲述 javaagent 的具体实现,因为它面向的是我们 Java 程序员,而且 agent ...