- 浏览: 202433 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (137)
- c++ (74)
- c++,算法,回溯 (2)
- DP问题。 (9)
- DP问题,0/1背包问题 (3)
- 数学问题 (6)
- 贪心算法 (10)
- 排序 (16)
- 数据结构 (7)
- 容器 (2)
- 模拟问题 (2)
- 水题 (8)
- 并查集 (3)
- 非技术 (2)
- 素数问题 (1)
- DFS (3)
- 二叉树 (1)
- 递归 (1)
- 图论 (5)
- 最小生成树 (5)
- 最短路径 (6)
- bell_flaod算法 (2)
- hash (3)
- 二分查找 (1)
- 搜索 (5)
- BFS (5)
- STL (3)
- 字符串hash (1)
- 拓扑排序 (1)
- 字典树 (4)
- 哈弗曼树 (1)
- KMP (7)
- 线段树 (9)
- 树状数组 (6)
- 全排列 (2)
- DP问题 (2)
- LCS (1)
- 最长不下降子序列 (2)
- 面试经验 (3)
#include <iostream>
using namespace std;
struct mac
{
int n;
int d;
}nd[11];
bool dp[100010];
int main()
{
int i,j,n,cash,k,cmax;
while(scanf("%d%d",&cash,&n) != EOF)//输入钱数与钱币的种类数
{
for(i = 0;i < n;i++)
scanf("%d%d",&nd[i].n,&nd[i].d);//每种钱币的个数与钱币的面值
if(cash == 0 || n == 0)
{
printf("0\n");
continue;
}
memset(dp,0,sizeof(dp));
dp[0] = true;
for(i = 0,cmax = 0;i < n;i++)
for(j = cmax;j >= 0;j--)
if(dp[j])
for(k = 1;k <= nd[i].n;k++)
{
int temp = j + k*nd[i].d;
if(temp > cash)
break;
dp[temp] = true;
if(temp > cmax)
cmax = temp;
}
printf("%d\n",cmax);
}
return 0;
}
发表评论
-
虚函数、纯虚函数、虚基类、抽象类、虚函数继承、虚继承
2013-08-29 14:34 841虚函数:虚函数是C++中用于实现多态(polymorphis ... -
排序算法总结
2013-05-17 11:00 842选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, ... -
poj 3122
2012-12-11 19:51 870题意:作者要开一个生日party,他现在拥有n块高度都为1 ... -
poj 3273
2012-12-11 16:49 986题意:给你天数n,和每天需要花的钱,让你把这些天分成m份(每份 ... -
poj 1080
2012-08-03 16:12 1228题意: 给两串DNA序列,按照给定的方法找他们最大的相似 ... -
字典树学习材料
2012-05-30 14:29 970字典树,又称单词查找树,Trie树,是一种树形结构,典型应 ... -
poj 1159
2012-05-28 19:08 1446题目大意:给你一段字符串,让你求出在中间最少加入几个字符 ... -
poj 3176
2012-05-28 14:47 1019大致题意: 输入一个n层的三角形,第i层有i个数,求从第 ... -
poj 1260
2012-05-28 09:54 1614题意解释: 有n个等级的珠宝,等级依次升高,等级越高价钱越高 ... -
poj 1836
2012-05-28 09:22 2714是POJ2533的扩展题。题意不难,令到原队列 ... -
poj 2533
2012-05-26 15:36 1274在做这道题目之前,首先让我们了解一下什么是LIS算法,LIS俗 ... -
poj 3267
2012-05-26 09:43 803从程序可以看出,第i个位置到L所删除的字符数,总是先取最坏情况 ... -
poj 1094
2012-05-25 13:54 1107题意:给出字母个数,和有限个有序对(a<b)求出能确定字 ... -
poj 3393
2012-05-23 17:00 1259大致题意: 科普文一篇,文章80%都是无用信息,因为 ... -
poj 3007
2012-05-14 10:21 994大致题意: 给定一个字符串,从任意位置把它切为两半, ... -
poj 3096
2012-05-10 21:09 1011题意: 定义D-pairs表示取字符串s中相距为D的两个字母 ... -
poj 1426
2012-04-26 20:11 2171大致题意: 给出一个整数n,(1 <= n <= ... -
poj 1797
2012-04-24 15:05 1626题目大意是就是何处一个图,n个顶点和m条边,每个边都有最大承载 ... -
poj 1338
2012-04-23 10:20 1259题意:题目意思是求由2,3,5的乘积组成的数从大到小排列,从1 ... -
poj 2021
2012-04-19 15:00 950题意:Ted今年100岁,给出n对他家族的关系:“父 ...
相关推荐
【标题】"poj1276解答和分析"是一个关于解决特定编程问题的资源集合,其中包含了作者对于这个问题的理解、解析以及相应的源代码。在编程竞赛或算法学习中,POJ(Problem On The Internet)是流行的一个在线判题系统...
【标题】"POJ1276-Cash Machine"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Set of Peking University)。这个题目挑战程序员解决现金自动取款机(ATM)的现金提取问题,涉及到算法设计和实现。 ...
北大POJ1276试题代码
晒代码之二——多重背包(POJ1276)
* 背包问题:背包问题是指解决问题的背包问题算法,如 poj1837、poj1276。 * 型如下表的简单 DP:型如下表的简单 DP 是指解决问题的简单 DP 算法,如 poj3267、poj1836、poj1260、poj2533。 * 计算几何学:计算几何...
* 背包问题:例如 poj1837、poj1276。 * 类型 DP:例如 poj3267、poj1836、poj1260、poj2533。 中级 1. 基本算法: * C++的标准模版库的应用:例如 poj3096、poj3007。 * 较为复杂的模拟题的训练:例如 poj...
- 背包问题:如`poj1837, poj1276`。 - 简单DP:如`poj3267, poj1836`。 - **数学** - 组合数学:如`POJ3252, poj1850`。 - 数论:如`poj2635, poj3292`。 #### 第二阶段中级训练计划 #### 第3周至第4周(共...
- (poj1837, poj1276):通过位运算来压缩状态,从而减少内存占用。 2. **背包问题**: - (poj3267, poj1836, poj1260, poj2533):零一背包、完全背包等问题的解决方案。 3. **二维动态规划**: - (poj3176, poj...
5. **动态规划**和**数学**:poj1837、poj1276是简单的动态规划问题,poj3267、poj1836等进一步强化了DP,poj3252、poj1850等则涉及组合数学,poj2635、poj3292等训练了数论知识。 **中级阶段**则更加强调复杂算法...
- POJ 1837、POJ 1276:基础动态规划问题。 #### 多维动态规划 - **题目示例**: - POJ 3267、POJ 1836:多维状态转移方程。 - POJ 1260、POJ 2533:涉及多个变量的状态转移。 - POJ 3176、POJ 1080:复杂的...
- 推荐题目:[poj1837](https://vjudge.net/problem/POJ-1837)、[poj1276](https://vjudge.net/problem/POJ-1276) - 概率论问题通常涉及事件的概率计算,需要理解条件概率、期望等概念。 2. **期望** - 推荐题目...
1. **状态压缩动态规划**:通过位运算来表示状态,优化空间和时间复杂度(poj1837, poj1276)。 ### 六、几何算法 1. **凸包**:构建点集的凸包(poj3267, poj1836, poj1260, poj2533)。 2. **线段交**:计算线段...
- poj1276 - **应用场景**:适用于资源分配、组合优化等问题。 **2. 其他典型动态规划问题** - **示例题目**: - poj3267 - poj1836 - poj1260 - poj2533 - poj3176 - poj1080 - poj1159 - **应用场景**:...
* 背包问题:POJ1837、POJ1276 * DP算法:POJ3267、POJ1836、POJ1260、POJ2533 二、图算法 * 度限制最小生成树和第K最短路:POJ1639、POJ3216、POJ2446 * 最优比率生成树:POJ2728 * 最小树形图:POJ3164 * 次小...
* 背包问题:poj1837, poj1276 * 类似表的简单 DP:poj3267, poj1836, poj1260, poj2533 * 最长公共子序列:poj3176, poj1080, poj1159 * 最优二分检索树问题 六、数学 * 组合数学: + 加法原理和乘法原理 + ...
例如,POJ1837和POJ1276是背包问题的典型例题,而POJ3267和POJ1836则是简单DP的经典例题。 数学部分涵盖了组合数学、数论和计算方法三方面。例如,POJ3252和POJ1850是组合数学的代表题,而POJ2635和POJ3292则是数论...
(1) 背包问题:poj1837, poj1276 (2) 简单DP:poj3267, poj1836, poj1260, poj2533 (3) 其他DP问题: 六、中级算法 本部分涵盖了中级算法,包括C++的标准模版库的应用、较为复杂的模拟题的训练、差分约束系统的...
1. 背包问题:如poj1837、poj1276。 2. 简单动态规划:如表格形式的DP问题,如poj3267、poj1836等。 3. 最长公共子序列:如poj3176、poj1080等。 4. 最优二分检索树问题:如poj1159。 六、数学 1. 组合数学:加法...
动态规划是解决复杂问题的关键,背包问题和特定类型的 DP 问题如 poj1837 和 poj1276 可以帮助理解这一概念。 数学知识是算法中的另一个重要组成部分,包括组合数学(如 poj3252)、数论(如 poj2635)和计算方法...