当前位置:网站首页>学习阶段总结(背包问题)
学习阶段总结(背包问题)
2022-08-09 11:02:00 【抓个马尾女孩】
经过这几天的学习和练习,各种背包问题的解题思路终于能理顺了;做题的时候也能看出是哪类背包问题了,只是在写代码的过程中会有细节被忽略。
例如第s题
#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstdio>
using namespace std;
const int fs=10005;
double r[fs];
double min(double a,double b)
{
if(a<b) return a;
else return b;
}
int main()
{
int n,m,b[fs];
double a[fs];//之前因为把a【fs】定义为int类型,导致总是出错,最后看出是这出错时哭笑不得。
while(cin>>n>>m)
{
if(m==0&&n==0) break;
for(int i=0;i<10000;i=i+1)
r[i]=1;
for(int i=1;i<=m;i=i+1)
{
cin>>b[i]>>a[i];
a[i]=1.0-a[i];
}
for(int i=1;i<=m;i=i+1)
{
for(int j=n;j>=b[i];j=j-1)
{
r[j]=min(r[j],r[j-b[i]]*a[i]);
}
}
printf("%.1lf%%\n",(1.0-r[n])*100.0);
}
return 0;
}
总之,做题的时候一定要先把题细心地读一遍,再去写代码。
边栏推荐
猜你喜欢
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
研发需求的验收标准应该怎么写? | 敏捷实践
Multi-merchant mall system function disassembly 26 lectures - platform-side distribution settings
golang 标准库json Marshal、Unmarshal坑
Qt获取EXE可执行文件的上一级目录下的文件
无刷无霍尔BLCD电机控制
∘(空心的点乘)的数学含义
Cesium加载三维模型数据
Error: Cannot find module ‘./application‘
CentOS6.5 32bit安装Oracle-11gR2步骤说明
随机推荐
MATLAB代码实现三次样条插值
golang interface “坑记录“
leetcode-搜索旋转排序数组-33
activemq 消息持久化
arcgis制图之天地图符号样式配置
类与对象 (下)
prometheus接入mysqld_exporter
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
中断系统结构及中断控制
非科班毕业生,五面阿里:四轮技术面+HR一面已拿offer
聚类了解
Solve 1. tensorflow runs using CPU but not GPU 2. GPU version number in tensorflow environment 3. Correspondence between tensorflow and cuda and cudnn versions 4. Check cuda and cudnn versions
AQS同步组件-FutureTask解析和用例
ThreadLocal及其内存泄露分析
[华为云在线课程][SQL语法分类][数据操作][学习笔记]
性能测试(01)-jmeter元件-线程组、调试取样器
获取指定年度所有周的工具类
PTA 换硬币
日期工具类
Multi-merchant mall system function disassembly 26 lectures - platform-side distribution settings