[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 题目: 题解: 注: ...
随机推荐
- 基于Docker构建Jenkins CI平台
1.部署gitlab 1.1 部署gitlab docker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80 \ -p 9998:22 \ -v $ ...
- 【JavaWeb项目】一个众筹网站的开发(四)后台用户注册功能
重点: 密码加密存储 使用jQuery插件做校验和错误提示等 密码不能明文存储,在数据库中是加密存储的 可逆加密:通过密文使用解密算法得到明文 DES AES 不可逆加密:通过密文,得不到明文 MD5 ...
- getElementsBy 系列方法相比querySelector系列的区别
最近在做的项目中,使用querySelectorAll获取了同class名的元素后,绑定onmouseover事件和onmouseout后,多次在几个元素上移入移出操作时,控制台出现了报错的问题,最后 ...
- js基本算法
一.阶乘(递归思想) // 计算阶乘 function factorial(n) { if (n === 1) { return 1 } return n * factorial(n - 1) } 二 ...
- Android中当数据库需要更新时我们该怎么办?
问题:Android数据库更新并保留原来的数据如何实现 Andoird的SQLiteOpenHelper类中有一个onUpgrade方法.帮助文档中只是说当数据库升级时该方法被触发.经过实践,解决了我 ...
- bzoj1072题解
[解题思路] 状压DP.f[i][j][k]表示当前DP到第i位,模d意义下余数为j,状态为k的方案数.其中状态k表示每个数字还剩多少个没取,状态数最多210. 于是有递推式转移方程:f[i+1][( ...
- springboot设置静态资源缓存一年
由于本人所在项目组,所用的项目是前后端分离的,前端是React 的SPA,每次打包都会新版本的静态文件. 然而,在有些时候,这些静态资源是不变的,故可以将资源缓存至用户本地,提升性能. 写法如下,需要 ...
- BZOJ 4319: cerc2008 Suffix reconstruction(后缀数组)
题面 Description 话说练习后缀数组时,小C 刷遍 poj 后缀数组题, 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺 手牵羊,小C 程序中的原字符数组就 ...
- cdn 链接
1.jquery : http://www.jq22.com/cdn/ 2.常用前端库引用地址 : http://www.jq22.com/jquery/jquery.html 3.vC ...
- (转)深刻理解Linux进程间通信(IPC)
转:http://www.ibm.com/developerworks/cn/linux/l-ipc/index.html 序 linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来 ...