AC日记——[SCOI2009]游戏 bzoj 1025
2024-09-04 17:18:41
思路:
和为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=;i<=limit;i++)
{
if(!if_p[i]) pi[++num]=i;
for(int j=;pi[j]*i<=limit&&j<=num;j++)
{
if_p[i*pi[j]]=true;
if(i%pi[j]==) break;
}
}
}
int main()
{
scanf("%d",&n),euler(n);
dp[][]=;
for(int i=;i<=num;i++)
{
for(int v=;v<=n;v++)
{
dp[i][v]=dp[i-][v];
for(ll pos=pi[i];pos<=v;pos*=pi[i])
{
dp[i][v]+=dp[i-][v-pos];
}
}
}
ll ans=;
for(int i=;i<=n;i++) ans+=dp[num][i];
cout<<ans+;
return ;
}
最新文章
- PHP的CURL
- 闪回恢复区大小不够。报ORA-19809、ORA-19804
- iOS网络基础知识
- python 安装pillow
- [转]Android 超高仿微信图片选择器 图片该这么加载
- Intellij IDEA svn的使用记录
- Java 网络编程(二)
- InvocationHandler
- 线性回归(linear regression)之监督学习
- css 水平居中的办法
- java提高篇(七)-----详解内部类
- Exception dispatching input event. use XlistView
- foreach绑定
- zip 安装mysql 和遇到的坑
- 给虚拟机添加新硬盘并分区,fdisk查看分区,分区,重新读取分区表信息partprobe,格式化,挂载,查看分区挂载信息,自动挂载文件/etc/fstab,/etc/fstab文件错误导致重启崩溃后的修复
- Indent Guides for Visual Studio 代码格式化收缩插件
- Java8 按照类属性去重
- Eclipse导入别人的项目报错:Unable to load annotation processor factory &#39;xxxxx.jar&#39; for project
- Node.js c++ 扩展之HelloWorld
- 03_ if 练习 _ little2big