【BZOJ 1025】[SCOI2009]游戏 置换+dp
来源:互联网 发布:知止而行的例子 编辑:程序博客网 时间:2024/05/21 10:58
又是一个套路。。。。
我们把每一种关系当作一条边,那么最后会形成一个n个点n条边的图,每出现一个环就是循环了,所以问题就是求这些环的最小公倍数的种类,手画一下会很容易发现,这个图由于是n个点n条边,所以至少出现一个环,而且环与环不会相交,也就是说,∑环的边数<=n (但是环或者单点有多个)最终问题转化为求和<=n的数的最小公倍数的种类,dp
#include<cstdio>#include<cstring>#include<iostream>#define maxn 1020#define LL long longusing namespace std;int n,cnt,p[maxn],vis[maxn];LL f[maxn][maxn];void make(){for(int i=2;i<maxn;i++){if(!vis[i])p[++cnt]=i;for(int j=1;j<=cnt&&i*p[j]<maxn;j++){vis[i*p[j]]=1;if(!i%p[j])break;}}}int main(){make();scanf("%d",&n);f[0][0]=1;for(int i=1;i<=cnt;i++){for(int j=0;j<=n;j++){f[i][j]=f[i-1][j];for(int k=p[i];k<=j;k*=p[i])f[i][j]+=f[i-1][j-k];}}LL ans=0;for(int i=0;i<=n;i++)ans+=f[cnt][i];cout<<ans;return 0;}
0 0
- 【BZOJ 1025】[SCOI2009]游戏 置换+dp
- bzoj 1025: [SCOI2009]游戏 (置换+分组背包)
- bzoj 1025: [SCOI2009]游戏 动态规划+置换群
- [BZOJ1025]SCOI2009游戏|置换的循环|DP
- Bzoj1025:[SCOI2009]游戏:置换群+dp
- bzoj1025[SCOI2009]游戏 DP 置换 筛法
- BZOJ 1025: [SCOI2009]游戏
- BZOJ 1025: [SCOI2009]游戏
- 【bzoj 1025】: [SCOI2009]游戏
- 【BZOJ 1025】 [SCOI2009]游戏
- BZOJ 1025 [SCOI2009]游戏
- 【BZOJ 1025】[SCOI2009]游戏
- BZOJ 1025 [SCOI2009]游戏
- bzoj 1025 [SCOI2009] 游戏 题解
- 【BZOJ1025】[SCOI2009]游戏【计数DP】【质因数分解】【置换】
- [BZOJ1025][SCOI2009]游戏(置换+背包dp+数学相关)
- BZOJ 1025 游戏【置换群】
- BZOJ 1025 SCOI2009 游戏 动态规划
- 重拾java基础(十一):Eclipse和bean对象三大常用方法总结
- cogs 2047. [ZOJ2676]网络战争 (最小割+01分数规划)
- 魔法方法:属性访问
- MFC 刷新失效的Picture控件
- “你适合做开发吗”知乎Live问题集锦
- 【BZOJ 1025】[SCOI2009]游戏 置换+dp
- [HDU3944]DP? (组合数学Lucas定理)
- 2017/1/14号 循环嵌套小图画代码
- eclipse luna 4.4.2源码下载地址
- 提防坏人:Nginx 拒绝指定IP访问
- 重拾java基础(十二):java最常用类型String总结
- 【Oracle】安装注意事项
- Burp Suite拦截HTTPS请求
- Android 7.1.1r13 代码分享