我做的第一个背包问题
Problem : 1203 ( I NEED A OFFER! ) Judge Status : Accepted
RunId : 6357811 Language : C++ Author : ssun
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
#include "iostream"
#include "stdio.h"
using namespace std;
double min(double a, double b){
return a < b ? a : b;
}
int main(){
double possible[11000],ans[11000];
int n,m,i,k,cost[11000];
while(cin>>m>>n,m || n){
for(i=0; i<n; i++){
cin>>cost[i]>>possible[i];
}
for(i=0; i<=m; i++) ans[i] = 1;
for(i=0; i<n; i++){
for(k=m; k>=cost[i]; k--){
ans[k] = min(ans[k], ans[k-cost[i]]*(1-possible[i]));
}
}
printf("%.1lf%%\n",(1-ans[m])*100);
}
return 0;
}
分享到:
相关推荐
HDU 1022 Train Problem I 附详细思路
- 状态转移方程:$sum[i] = \max(sum[i-1] + a[i], a[i])$。 - 最大值的计算可以通过维护一个变量`Max`来完成,遍历数组时不断更新`Max`的值即可。 #### LargestRectangle 题目链接:[LargestRectangle]...
HDU(杭州电子科技大学在线评测系统)是一个深受程序员喜爱的在线编程练习平台,它提供了丰富的算法题目供用户挑战,帮助他们提升编程技能和算法理解能力。"hdu.rar_hdu"这个压缩包文件很可能是某位程序员整理的他在...
【标题】"HDU题目java实现"所涉及的知识点主要集中在使用Java编程语言解决杭州电子科技大学(HDU)在线评测系统中的算法问题。HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案...
- **状态转移方程**:`dp[i] = max(dp[j] + 1)`,其中`j < i`并且`a[j] < a[i]`,即当前元素`a[i]`能作为递增子序列的末尾时,其最长递增子序列的长度为之前以`a[j]`结尾的最长递增子序列长度加1。 - **初始化**:...
【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...
【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...
### hdu1250高精度加法 #### 背景介绍 在计算机科学与编程竞赛中,处理大整数运算(特别是加法、减法、乘法等)是常见的需求之一。当数字的位数超过了标准数据类型(如`int`、`long`等)所能表示的最大值时,就需要...
根据给定的文件信息,我们可以得知这是一段用于解决HDU(Hdu Online Judge)编号为1241的问题的代码。该代码主要采用了深度优先搜索(DFS)算法来解决问题。 #### 二、DFS(Depth First Search)算法原理 **定义:...
HDU1059的代码
hdu1001解题报告
【标题】"HDU DP动态规划"涉及到的是在算法领域中的动态规划(Dynamic Programming,简称DP)技术,这是解决复杂问题的一种高效方法,尤其适用于有重叠子问题和最优子结构的问题。动态规划通常用于优化多阶段决策...
hdu 1574 passed sorce
if (a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12) { days += 31; } else if (a == 2) { // 判断是否为闰年 if (year % 400 == 0) { days += 29; } else if (year % 100 == 0) { ...
hdu2101AC代码
杭电acm1297 #include<stdio.h> #include<string.h> #define m 1002 int f[m][70]={{1,1},{1,1},{1,2},{1,4}} ... sum[i]+=q[i]+p[i] if(sum[i]>=10000){sum[i]-=10000 sum[i+1]++ } }
if (strcmp(a[i].b + (len - 8), "nogood") == 0) { cout ; } else { cout ; flag1++; } } ``` 对于奇数索引的元素,如果从倒数第9个字符开始的子串等于“nogood”,则输出“X”;否则输出“O”。同时,每次...
### hdu1290解题报告 #### 题目背景与意义 此题作为对杭州电子科技大学五十周年校庆的献礼,通过一道趣味性的数学问题来庆祝这一重要时刻。题目背景设置在一个充满想象力的情境下,即如何通过不同数量的切刀将一个...
【ACM HDU】指的是在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)中,参赛者在杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的在线评测系统上完成并已解决的题目集合...