bzoj1025
2024-08-24 11:30:53
题意:
找环
有多少种不同的排列
使排列数目为n
题解:
考虑dp
f[i][j]表示前i个质数,和为j的方案数
然后转移一下即可
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
int n,tot,mark[N],pri[N];
ll ans,f[N][N];
int main()
{
scanf("%d",&n);
for (int i=;i<N;i++)
{
if (!mark[i])pri[++tot]=i;
for (int j=;j<=tot&&i*pri[j]<=;j++)
{
mark[i*pri[j]]=;
if (i%pri[j]==)break;
}
}
f[][]=;
for(int i=;i<=tot;i++)
{
for (int j=;j<=n;j++)f[i][j]=f[i-][j];
for (int j=pri[i];j<=n;j*=pri[i])
for (int k=;k<=n-j;k++)f[i][k+j]+=f[i-][k];
}
for (int i=;i<=n;i++)ans+=f[tot][i];
printf("%lld",ans);
return ;
}
最新文章
- Linux 桌面美化那点事儿
- 捕获起英文名Edda的灵感来源,我的心愿是程序员这个行业能够男女人数平衡
- C#多线程 线程的启动
- 3.MongoDB下Windows下的安装
- 控件 UI: VisualState, VisualStateManager, 控件的默认 UI
- c/c++ 数据结构 链表插入数据代码(一)
- Hadoop学习笔记(老版本,YARN之前),MapReduce任务Namenode DataNode Jobtracker Tasktracker之间的关系
- html 中添加背景音乐
- volley开源库乱码问题总结(持续更新)
- iOS_block内存分析
- sql 成绩表 case then
- edittext设置为密文显示
- UIScroll和UIPickView
- ubuntu 使用第一天
- Window2008 R2(64位)使用codesmith连接Sqlite
- mac iterm2安装、sshpass密码记住
- 20162329张旭升 2018-2019-2《网络对抗技术》第1周 Kali的安装
- 2 Modals of necessity
- 二叉树的python可视化和常用操作代码
- Oracle中Select语句完整的执行顺序