三维DP 第K字典序从左向右找 根据dp数组的值算出每一位该打印什么

代码:

 #include <cstdio>
#include <cstring>
using namespace std;
long long memo[][][];
long long solve(int n, int m, int last)//n划分成m个数最小值为last;
{
if(n==)
{
if(m>=last) return ;
return ;
}
long long &ret = memo[n][m][last];
if(ret == -)
{
ret = ;
for(int i = last; (n+) * i <= m; ++i)
ret += solve(n-,m-i,i);
}
return ret;
} int main()
{
int T,M,N,K;
scanf("%d",&T);
while(T--)
{
scanf("%d %d %d",&M,&N,&K);
memset(memo,-,sizeof(memo));
int last = ;
for(int i = N-; i>; --i)
{
int tmp = ,j = last;
while(true)
{
if(tmp + solve(i-,M-j,j) >= K)//如果它的字典序超过了目标;
{
printf("%d ",j);
K -= tmp;
last = j;
M -= j;
break;
}
tmp += solve(i-,M-j,j);
++j;
}
}
printf("%d\n",M);
}
return ;
}

最新文章

  1. 通过Request对象对cookie的设置、获取
  2. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
  3. 自行实现PHP代码注解特性
  4. JavaScript的理解记录(3)
  5. WEB界面onload前的加载流程❤❤
  6. js之浏览器对象模型(BOM)
  7. 正则表达式(Regular Expression)
  8. Android 访问权限设置记录-存档留着有用!
  9. node安装 教程 + git初步
  10. zookeeper笔记--配置以及和spark hbase结合使用
  11. 【测试环境】java|jdk|ant
  12. mysql大写和小写问题
  13. DDoS攻击、CC攻击的攻击方式和防御方法
  14. CSS3 Hover 动画特效
  15. appium获取APP控件信息
  16. 学生成绩管理系统C++
  17. 通过TortoiseSVN进行文件(夹)外链 External File
  18. MVC基于角色权限控制--权限过滤
  19. Collection List接口
  20. spring mvc自定义注解--访问时验证

热门文章

  1. Linux和Windows互传文件命令(转)
  2. TCP/IP 编程
  3. BaseAdapter优化深入分析
  4. python 验证码
  5. 使用Android Studio时so文件打包不到APK中
  6. HDU-1012(水题)
  7. 爆牙齿的 Web 标准面试题 【转藏】
  8. c语言学习之基础知识点介绍(十):内存空间模型、地址解释及指针变量
  9. 如何下载到最新的版本的Oracle Database
  10. C# 推送信息到APNs