ywy神犇太巨辣!!一下就明白了!!


题意:求$lcm(a_1,a_2,...,a_k)$的种类,其中$\Sigma\space a_i <=n$,$a_i$相当于环长

此处的$DP$,相当于是在求$lcm(a_1,a_2,...,a_k)$按算术基本定理分解的式子的种类。

感性理解一下,一堆>=2的数,加起来一定比乘起来小,但是我们又要保证他们互质(否则就亏了,不如同时去掉gcd),所以就每个数就是一个质数的幂。

所以这一堆数大致就是形如$p_i^{k_i}$这种样子的

所以可以背包转移:把每个质数当做物品,注意转移时的顺序,用质数$p$转移时不能访问已经经过$p$转移过的(类似01背包的倒序循环),否则不满足互质;

#include<cstdio>
#include<iostream>
#define R register int
const int N=1010;
using namespace std;
int n,cnt,pri[N];
bool v[N];
long long f[N],ans;
inline void PRI() {  for(R i=2;i<=n;++i) {if(!v[i]) pri[++cnt]=i;for(R j=1;j<=cnt&&i*pri[j]<=n;++j) {v[i*pri[j]]=true; if(i%pri[j]==0) break;}}
}
signed main() {scanf("%d",&n); f[0]=1; PRI();for(R i=1;i<=cnt;++i) for(R j=n;j>=0;--j) for(R k=pri[i];k<=j;k*=pri[i]) f[j]+=f[j-k];for(R i=0;i<=n;++i) ans+=f[i]; printf("%lld\n",ans);
}


2019.05.25

转载于:https://www.cnblogs.com/Jackpei/p/10923147.html

Luogu P4161 [SCOI2009]游戏 数论+DP相关推荐

  1. P4161 [SCOI2009]游戏

    传送门 首先这题的本质就是把\(n\)分成若干个数的和,求他们的\(lcm\)有多少种情况 然后据说有这么个结论:若\(p_1^{c_1}+p_2^{c_2}+...+p_m^{c_m}\leq n\ ...

  2. bzoj千题计划116:bzoj1025: [SCOI2009]游戏

    http://www.lydsy.com/JudgeOnline/problem.php?id=1025 题目转化: 将n分为任意段,设每段的长度分别为x1,x2,-- 求lcm(xi)的个数 有一个 ...

  3. bzoj-1025 [SCOI2009]游戏

    1025: [SCOI2009]游戏 Time Limit: 1 Sec  Memory Limit: 162 MB Description windy学会了一种游戏.对于1到N这N个数字,都有唯一且 ...

  4. P4158 [SCOI2009]粉刷匠(dp)

    P4158 [SCOI2009]粉刷匠(dp) 考虑每行独立计算. 所以可以开一个三维数组:g[i][j][k]g[i][j][k]g[i][j][k]第iii行前jjj列涂了kkk次的最大值. 然后 ...

  5. BZOJ 1025: [SCOI2009]游戏

    1025: [SCOI2009]游戏 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 2471  Solved: 1615 [Submit][Statu ...

  6. 数字游戏——数位dp问题

    数字游戏 数位dp思路: 首先考虑第一个数字能填什么,预处理第一个数字能填的数(除去边界),然后去判断边界,即让循环往下走. 代码 #include <iostream> #include ...

  7. [luogu2059 JLOI2013] 卡牌游戏 (概率dp)

    [luogu2059 JLOI2013] 卡牌游戏 (概率dp) 题目描述 N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等 ...

  8. 题解 BZOJ1026 luogu P2657 [SCOI2009]windy数 数位DP

    BZOJ & luogu 看到某大佬AC,本蒟蒻也决定学习一下玄学的数位$dp$ (以上是今年3月写的话(叫我鸽神$qwq$)) 思路:数位$DP$ 提交:2次 题解:(见代码) #inclu ...

  9. BZOJ 4042 Luogu P4757 [CERC2014]Parades (树形DP、状压DP)

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4042 (Luogu) https://www.luogu.org/prob ...

最新文章

  1. opensuse 安装 php,在openSUSE上安装和配置LAMP(2)
  2. 使用admodify工具修改用户主目录时的注意事项
  3. 必须要熬夜的时候的最佳伴侣是什么?亲测有效
  4. 【BootCDN】前端使用开源免费的 CDN 加速服务
  5. Php 魔术函数性能,php常用的魔术函数详细解析
  6. CodeForces:749(div1)750(div2)
  7. 判断大小简单算法_算法浅谈——人人皆知却很多人写不对的二分法
  8. 006-Python迭代器
  9. struts2(一) struts2入门
  10. 历史上的今天:雅虎正式成立;PC 设计先驱诞生;Excite@Home 破产
  11. 拉拉交友 http://www.les-sky.net 代码备份: 开发自己的可视化编辑器
  12. dell笔记本c语言系统,戴尔dell笔记本电脑U盘重装系统win7教程图解
  13. Red Hat 5.6-64位使用yum升级PHP
  14. 商城管理系统(前台+后台+管理员+用户+html+jsp)
  15. java++ioutils,Java IOUtils.copy方法代码示例
  16. 创建数据库索引的几种方法
  17. 计算机感染病毒后 一定不能清除的措施是,货物周转量比上年同期下降最多的是()。...
  18. Python使用scipy简单求解线性规划问题
  19. HTML- markdown版 江城子·乙卯正月二十日夜记梦
  20. 【Android】音乐播放器APP的设计与实现

热门文章

  1. 恢复初始快捷键_如何将Windows10系统还原初始状态
  2. ansible 建 kubernetes 证书签名请求_Java中的微信支付(2):API V3 微信平台证书的获取与刷新...
  3. 江苏省计算机考试昨晚客观题不能提交,2019法考江苏3.6万人报名 主客观题均推行机考...
  4. csr 蓝牙驱动_双11来临之际,推荐几款无线蓝牙耳机吧
  5. python 字典查询比列表快_为什么python字典要比列表快以及哈希查找解释。
  6. @param注解什么意思_Java反射是什么?看这篇绝对会了!
  7. 全国计算机等级考试模拟系统中 二级c语言的 安装密码,NCRE模拟考试系统安卓版下载-2017全国计算机等级考试二级练习系统v2.4.1 官方版下载__飞翔下载...
  8. 数组重组java,重组数组数组并组合相同的术语
  9. au人声处理_如何使用AU软件为视频降噪?
  10. java注解_Java注解