AC日记——[SCOI2009]游戏 bzoj 1025
2017-06-15 22:08
357 查看
[SCOI2009]游戏
思路:
和为n的几个数最小公倍数有多少种。
dp即可;
代码:
思路:
和为n的几个数最小公倍数有多少种。
dp即可;
代码:
#include <bits/stdc++.h> using namespace std; #define maxn 1005 #define ll long long int n,num; ll dp[maxn][maxn],pi[maxn]; bool if_p[maxn]; void euler(int limit) { for(int i=2;i<=limit;i++) { if(!if_p[i]) pi[++num]=i; for(int j=1;pi[j]*i<=limit&&j<=num;j++) { if_p[i*pi[j]]=true; if(i%pi[j]==0) break; } } } int main() { scanf("%d",&n),euler(n); dp[0][0]=1; for(int i=1;i<=num;i++) { for(int v=0;v<=n;v++) { dp[i][v]=dp[i-1][v]; for(ll pos=pi[i];pos<=v;pos*=pi[i]) { dp[i][v]+=dp[i-1][v-pos]; } } } ll ans=0; for(int i=1;i<=n;i++) ans+=dp[num][i]; cout<<ans+1; return 0; }
相关文章推荐
- 【BZOJ1025】[SCOI2009]游戏【计数DP】【质因数分解】【置换】
- BZOJ 1025: [SCOI2009]游戏
- bzoj 1025: [SCOI2009]游戏 动态规划+置换群
- [BZOJ1025] [SCOI2009]游戏 解题报告
- BZOJ1025 [SCOI2009]游戏
- BZOJ 1025: [SCOI2009]游戏
- bzoj千题计划116:bzoj1025: [SCOI2009]游戏
- 【BZOJ 1025】 [SCOI2009]游戏
- bzoj1025 [SCOI2009]游戏(数论+背包dp)
- [BZOJ 1025] SCOI 2009 游戏 · DP
- BZOJ 1025 SCOI2009 游戏 动态规划
- 【BZOJ 1025】[SCOI2009]游戏 置换+dp
- 【bzoj1025】[SCOI2009]游戏
- bzoj 1025: [SCOI2009]游戏【数学+dp】
- 【BZOJ】1025: [SCOI2009]游戏(置换群+dp+特殊的技巧+lcm)
- bzoj1025 [SCOI2009]游戏
- 游戏【SCOI2009】【BZOJ1025】递推
- [BZOJ1025][SCOI2009]游戏(置换+背包dp+数学相关)
- BZOJ1025: [SCOI2009]游戏
- [BZOJ1025][SCOI2009]游戏