BUPT2017 wintertraining(15) #8F

题意

1到n的排列,经过几次置换(也是一个排列)回到原来的排列,就是循环了。
现在给n(<=1000),求循环周期的所有可能数。

题解

问题等价于几个正整数加起来等于n,求最小公倍数的可能数。
因为1不影响最小公倍数,所以等价于求几个正整数加起来小于等于n,最小公倍数的可能数。

最小公倍数与每个质因子在正整数里最大出现次数有关,所以枚举质因子的幂,进行dp。

dp[i][j]表示前i个质数,和为j时,最小公倍数的可能数。

dp[0][0]=1
转移就是\(dp[i][j]=\sum_{k=1}^{p[i]^k\le j}{dp[i-1][j-p[i]^k]}\)
最后把dp[cnt][j]累加起来,答案就是dp[cnt][n]了。
可以写成一维的。

代码

#include <cstdio>
#define N 1001
typedef long long ll;
ll dp[N];
bool com[N];
int cnt;
int prime[N];
int main(){for(int i=2;i<N;++i)if(!com[i]){prime[++cnt]=i;for(int j=i+i;j<N;j+=i)com[j]=true;}dp[0]=1;for(int i=1;i<=cnt;++i)for(int j=N-1;j>=prime[i];--j)for(int k=prime[i];k<=j&&k<N;k*=prime[i])dp[j]+=dp[j-k];for(int i=1;i<N;++i)dp[i]+=dp[i-1];int n;while(~scanf("%d",&n))printf("%lld\n", dp[n]);return 0;
}

【HDU - 4345 】Permutation(DP)相关推荐

  1. 【HDU - 5965】扫雷(dp)

    题干: 扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔. 该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷. 游戏中,格子可能处于己知和未知的状态.如果一个己知 ...

  2. 【HDU - 5777】domino(贪心)

    题干: Little White plays a game.There are n pieces of dominoes on the table in a row. He can choose a ...

  3. 【 HDU - 3062】Party(2-sat)

    题干: 有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席.在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同时出现在聚会上的.有没有可 ...

  4. 【HDU - 1263】 水果(STL)

    题干: 夏天来了~~好开心啊,呵呵,好多好多水果~~  Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的 ...

  5. 【SSL 1458】zzzyyds(DP)

    zzzyyds 题目链接:SSL 1458 题目大意 有一个环,一开始全白,每次随机选一个点染黑,如果存在一个白色点两边都是黑色点那它会变成黑色,然后每次染了之后判定白色的数量,如果小于等于 k 就结 ...

  6. 【HDU 1495】非常可乐(BFS)

    非常可乐 Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要 ...

  7. 【DBSDFZOJ 4460】666(DP)

    Description 小 π 假期在家无聊,打开了某弹幕直播网站. 突然,有一个精彩的镜头. 小 π 看到了满屏的 6,其中,有 666.也有 666666.也有 6666666666 - 小 π ...

  8. 【HDU - 5706】GirlCat(bfs)

    题干: As a cute girl, Kotori likes playing ``Hide and Seek'' with cats particularly.  Under the influe ...

  9. 【HDU - 1083 】Courses (二分图)

    题干: Consider a group of N students and P courses. Each student visits zero, one or more than one cou ...

最新文章

  1. 闭包的介绍、构成条件、作用及示例代码
  2. SSH 连接慢 与 反向解析
  3. linux 安装go编译器,CentOS 7 安装 go 语言开发环境
  4. simpack导入实际线路激励
  5. 利用素数表快速寻找 n 以内的所有素数
  6. 鼠标在滑块上滚轮控制_高速直线运动导轨—滚轮直线导轨
  7. macOS Sierra 10.12 汉化软件无法安装
  8. 开发 系统键盘发送按钮不可点击_HoloLens开发指南(2)---HoloLens模拟器介绍
  9. 关于iOS 7以后自定义UIAlertview(CustomIOS7AlertView)的用法心得
  10. ai能不能同时切割多个对象_今天才发现,AI有这9个隐藏技能...
  11. 基于STM32设计的智能插座+人体感应灯(ESP8266+人体感应+手机APP)
  12. Flink案例代码,面试题
  13. Apache NiFi简介
  14. 如何保障银行日志安全合规审计
  15. 论文笔记5:Noise Reduction of Hyperspectral Imagery Using Hybrid Spatial-Spectral Derivative-Domain Wavel
  16. 人生就像一张茶几,摆满了各种杯具/洗具/餐具!
  17. 使用R进行数据可视化套路之-茎叶图、盒形图
  18. android全局的dialog,使android的dialog全局显示
  19. #医疗算法招聘:【医学影像AI公司-图像算法工程师】(招2人)
  20. 【资源】OpenCV3编程入门_毛星云

热门文章

  1. git 裁切_GitHub - taiyang0725/PicCrop: 图片裁剪的工具类,基于uCrop封装,使用十分便捷...
  2. python获取日期_python 获取日期
  3. Android底部导航栏的实现(RadioGroup和Fragment结合使用)
  4. Android对话框动态加载布局
  5. 20190824:(leetcode习题)报数
  6. Maven项目创建后没有resources文件夹
  7. Java8中String.join方法,让我们的代码更优美
  8. 来自1976,Hinton写的第一篇论文火了:胶囊网络,是40年前的胶囊?
  9. 阿里官宣AI框架大牛贾扬清加盟,任职技术VP
  10. 人人能上手:OpenAI发射初学者友好的强化学习教程 | 代码简约易懂