http://www.lydsy.com/JudgeOnline/problem.php?id=1025

题目转化:

将n分为任意段,设每段的长度分别为x1,x2,……

求lcm(xi)的个数

有一个定理:

若Z可以作为几个数最小公倍数,

令 Z=p1^a1 * p2^a2 * ……  pi为质数

那么 当这几个数 的分别为 p1^a1  , p2^a2 …… 时,

这几个数的和最小,为Σ pi^ai

所以可以得出

如果将这个和最小化 之后 <=n ,那么 这个Z就能取到

(和小于n可以补1)

dp[i][j] 表示 用了前i个质数,Σ pi^ai = j 的 方案数

因为 他们的和最小且 都是质数的幂,所以每种方案的 所有数的乘积 一定不同

转移的话,枚举第i个质数用还是不用

不用直接由i-1转移

用的话,枚举指数j,dp[i][k]+=dp[i-1][k-p[i]^j]    p[i]^j<=k<=n

#include<cstdio>using namespace std;#define N 1001bool vis[N];
int p[N],cnt;long long dp[N][N];void pre(int n)
{for(int i=2;i<=n;++i){if(!vis[i]) p[++cnt]=i;for(int j=1;j<=cnt;++j){if(p[j]*i>n) break;vis[p[j]*i]=true;if(i%p[j]==0) break;} }
}int main()
{int n;scanf("%d",&n);pre(n);dp[0][0]=1;for(int i=1;i<=cnt;++i){for(int j=0;j<=n;++j) dp[i][j]=dp[i-1][j];for(int j=p[i];j<=n;j*=p[i])for(int k=j;k<=n;++k) dp[i][k]+=dp[i-1][k-j];}long long ans=0;for(int i=0;i<=n;++i) ans+=dp[cnt][i];printf("%lld",ans);
}

1025: [SCOI2009]游戏

Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 2547  Solved: 1662
[Submit][Status][Discuss]

Description

  windy学会了一种游戏。对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应。最开始windy把数字按
顺序1,2,3,……,N写一排在纸上。然后再在这一排下面写上它们对应的数字。然后又在新的一排下面写上它们
对应的数字。如此反复,直到序列再次变为1,2,3,……,N。 
如: 1 2 3 4 5 6 对应的关系为 1->2 2->3 3->1 4->5 5->4 6->6 
windy的操作如下 
1 2 3 4 5 6 
2 3 1 5 4 6 
3 1 2 4 5 6 
1 2 3 5 4 6 
2 3 1 4 5 6 
3 1 2 5 4 6 
1 2 3 4 5 6 
这时,我们就有若干排1到N的排列,上例中有7排。现在windy想知道,对于所有可能的对应关系,有多少种可
能的排数。

Input

  包含一个整数N,1 <= N <= 1000

Output

  包含一个整数,可能的排数。

Sample Input

【输入样例一】
3
【输入样例二】
10

Sample Output

【输出样例一】
3
【输出样例二】
16

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/7896859.html

bzoj千题计划116:bzoj1025: [SCOI2009]游戏相关推荐

  1. BZOJ 2150. 部落战争(最小路径覆盖问题)【BZOJ千题计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 刷题就图一乐 题目链接 https://hydro.ac/d/bzoj/p/2150 是 hydro ...

  2. BZOJ 2151 种树(可反悔贪心,链表)【BZOJ千题计划】就图一乐

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2151 是 hydro 的 BZOJ ...

  3. BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/1799(样例时限设置有问题,应该为 2 ...

  4. bzoj千题计划143:bzoj1935: [Shoi2007]Tree 园丁的烦恼

    http://www.lydsy.com/JudgeOnline/problem.php?id=1935 二维偏序问题 排序x,离散化树状数组维护y #include<cstdio> #i ...

  5. bzoj千题计划207:bzoj1879: [Sdoi2009]Bill的挑战

    http://www.lydsy.com/JudgeOnline/problem.php?id=1879 f[i][j] 表示匹配了i个字符,匹配字符串的状态为j的方案数 枚举下一个字符是什么 计算加 ...

  6. bzoj千题计划169:bzoj2463: [中山市选2009]谁能赢呢?

    http://www.lydsy.com/JudgeOnline/problem.php?id=2463 n为偶数时,一定可以被若干个1*2 矩形覆盖 先手每次从矩形的一端走向另一端,后手每次走向一个 ...

  7. bzoj千题计划203:bzoj3994: [SDOI2015]约数个数和

    http://www.lydsy.com/JudgeOnline/problem.php?id=3994 设d(x)为x的约数个数,给定N.M,求 用到的一个结论: 证明: 枚举n的约数i,枚举m的约 ...

  8. bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...

  9. bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务

    http://www.lydsy.com/JudgeOnline/problem.php?id=1820 很容易想到dp[i][a][b][c] 到第i个收件地点,三个司机分别在a,b,c 收件地点的 ...

最新文章

  1. 如何使用SpringBoot AOP 记录操作日志、异常日志?
  2. 《中国人工智能学会通讯》——6.25 日落的教训
  3. java程序员被误导的一个概念,Set也可以有序
  4. sonarqube代码检核工具安装
  5. (19)ISE14.7软件生成bit失败永久解决方法(FPGA不积跬步101)
  6. Java基础学习总结(139)——Java8 Stream之Stream接口入门简介
  7. uvm_reg——寄存器模型(三)
  8. python 关闭udp端口_UDP聊天器
  9. matlab 音频处理、Python音频处理
  10. 卡巴斯基许可Key需求登记表
  11. 最大公约数和最小公倍数的关系
  12. 分辨率,像素,像素密度易懂
  13. python编写年金终值函数_财码Python管理会计小实验—投融资管理之货币时间价值...
  14. 调起APP功能的实现
  15. 在android手机上运行PHP 1
  16. python 策略回测期货_量化投资实战教程(1)—基于backtrader的简单买入卖出策略
  17. 华为ac、瘦ap简单上线(旁挂式)
  18. 戳破中台泡沫,软件定义让数字中台脱虚入实
  19. 1024 程序员节首日,全球开源掌门人领衔云上云下嘉年华
  20. FreeBSD12.1软件包管理工具ports常见用法

热门文章

  1. python重定向_Python接口自动化(十)重定向(Location)
  2. ThinkPHP6内核通用网站后台权限管理系统源码
  3. android word设计模式,word07设计模式
  4. php yaf twig,yaf-example
  5. 企业级Java开发树结构数据封装(开发必用)
  6. Linux -Ubuntu安装 Tomcat
  7. 初窥JQuery(一)-选择符 【转】
  8. 12种Javascript解决常见浏览器兼容问题的方法
  9. IBM PHP教程链接
  10. php 操作文件夹 (遍历 计算大小)