洛谷P1021邮票面值设计
题目
一道很经典的搜索题,可以锻炼搜索的能力,比如可以用dfs覆盖加dp的方式来寻找+更新答案。而且还可以通过在递归中增加数组的方式来辅助搜索。
#include <bits/stdc++.h>
using namespace std;
int n, k, ans[101000], maxn, tot, a[101000];
int ne(int pos, int maxnow)
{int dp[10100];memset(dp, 4, sizeof(dp));//dp设为最大值。 dp[0] = 0;for (int i = 1; i <= pos; i++)for (int j = a[i]; j <= a[pos] * n; j++)//dp判断需要几个数 dp[j] = min(dp[j - a[i]] + 1, dp[j]);for (int i = 1; i <= n * a[pos]; i++)if (dp[i] > n)//如果i不行了,说明i-1可以 return i - 1; return a[pos] * n;//返回最大值
}
void dfs(int pos, int maxnow)//覆盖数组
{if (pos == k + 1){if (maxnow > maxn){maxn = maxnow;for (int i = 1; i <= k; i++)//更新答案 ans[i] = a[i];}return;}for (int i = ans[pos - 1] + 1; i <= maxnow + 1; i++){a[pos] = i;//每一个位置都加以判断。 int maxx = ne(pos, maxnow);dfs(pos + 1, maxx);}
}
int main()
{ scanf("%d%d", &n, &k);dfs(1, 0);for (int i = 1; i <= k; i++)printf("%d ", ans[i]); puts("");printf("MAX=%d", maxn);
}
转载于:https://www.cnblogs.com/liuwenyao/p/10863202.html
洛谷P1021邮票面值设计相关推荐
- 洛谷P1021 邮票面值设计
DP+DFS 复杂度 O(玄学) 一道奇怪的题目,考场不一定能想得出来 首先证明1的必要性,显然,没有1无法表示出1,因此1是必要的 有了1之后,就有了一个枚举范围,对于一种邮票,它的面值要比前一个大 ...
- P1021 邮票面值设计
P1021 邮票面值设计 题目描述 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1-MAX ...
- 算法提高 邮票面值设计
算法提高 邮票面值设计 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤13)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮 ...
- 算法提高 邮票面值设计 搜索 动态规划
算法提高 邮票面值设计 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤13)种邮票的情况下(假定所有的邮票数量都足够),如何设 ...
- 2021.06.03邮票面值设计
2021.06.03邮票面值设计 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值 MAX ...
- codevs 1047邮票面值设计
codevs 1047邮票面值设计 刚看这题的时候就感觉是搜索,但是分类又是动态规划,就往动态规划那里想,结果就以为是那种一个递推式就出来的一个动态规划,后来写代码交上去发现都是错了,才感觉这里面肯定 ...
- java 算法提高 邮票面值设计 蓝桥杯1046
java 算法提高 邮票面值设计 蓝桥杯1046 算法提高 邮票面值设计 思路 代码 算法提高 邮票面值设计 Description 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤13) ...
- 洛谷 P2725 邮票题解
题目背景 给一组 N 枚邮票的面值集合(如,{1 分,3 分})和一个上限 K -- 表示信封上能够贴 K 张邮票.计算从 1 到 M 的最大连续可贴出的邮资. 题目描述 例如,假设有 1 分和 3 ...
- 邮票面值设计java,[蓝桥杯][算法提高VIP]邮票面值设计 (C++代码)
解题思路: 注意事项: 参考代码://so easy #include #include//头文件 using namespace std; int a[17],n,k,ans[17],maxn;// ...
最新文章
- /proc/diskstats各字段解析
- opencv和python是什么关系_opencv和python的区别
- 剑指offer03.数组中重复的数字
- Java内部类(Inner Class)小记
- 【整理】RPA选择器针对SAP系统的设置
- s5-11 距离矢量路由选择协议
- 21.55万元起的“电影周边”!现代漫威联名钢铁侠车型开售
- java 映射servlet,java – 将映射或对象从jsp传递到servlet
- linux下添加三菱触摸屏usb驱动,[转载]三菱触摸屏GT Works3和PLC GX Works2编程软件下载...
- 瑞星杀毒软件网络版介绍
- 球面投影 (立体和柱面的投影效果)
- 什么是rich text,富文本?富文本有什么优势?
- 软件测试中单元测试,集成测试,系统测试,验收测试的区别
- 浪漫的c语言表白代码1
- 用Python搞定豆瓣上征婚交友的小姐姐们~
- DQL、DML、DDL、DCL全称及含义
- ROUGE: A Package for Automatic Evaluation of Summaries
- 矩阵乘+概率DP bzoj2676 Contra
- Star CCM+多孔介质仿真(二)——阻力系数的计算和设置
- 坐标系统投影变换分带方法
热门文章
- 那是你的计算机怎么用英语表示,“I potato you”可不是“我土豆你”,那这个potato到底啥意思?...
- Xilinx K7_Microblaze的Tmrintc定时器中断使用(ISE14.7)
- 牛奶可乐经济学之Q8:为什么鲸鱼濒临灭绝,鸡却没有繁衍之忧?
- NPOI 导入导出和Excel版本,错误文件扩展名和文件的格式不匹配
- vs2015 web_2015年新的Web布局想法
- 大连医科大学中山学院模拟医院信息系统实验室建设完成
- 关于Catalan数
- PageHelper和PageInfo的使用
- 一行代码隐藏Linux进程
- 永恒之蓝黑脏牛提权范围