HDOJ -1203 I NEED A OFFER!
来源:互联网 发布:广电网络机顶盒安装app 编辑:程序博客网 时间:2024/05/16 19:31
这道题用dp(i)表示用完i万元得不到一个off的最小概率,状态转移方程: dp[j] = min(dp[j], dp[j-sch[i].a] * sch[i].b);
#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<vector>#include <iostream>#include <sstream>using namespace std;#define INF 1e8struct School{ int a; double b;}sch[10005];double dp[10005];int main(){ // freopen("in.txt", "r", stdin); int n, m; while(cin >> n >> m) { if(n == 0 && m == 0) break; for(int i = 0; i < m; i++) { cin >> sch[i].a >> sch[i].b; sch[i].b = 1.0 - sch[i].b; } for(int i = 0; i <= n; i++) dp[i] = INF; dp[0] = 1.0; for(int i = 0; i < m; i++) for(int j = n; j >= sch[i].a; j--) if(dp[j - sch[i].a] == INF) continue; else dp[j] = min(dp[j], dp[j-sch[i].a] * sch[i].b); double mins = 1.0; for(int i = n; i >= 0; i--) mins = min(mins, dp[i]); printf("%.1f%%\n", (1.0 - mins) * 100); } return 0;}
0 0
- hdoj-1203-I NEED A OFFER!
- HDOJ I NEED A OFFER! 1203
- HDOJ--1203--I NEED A OFFER!
- hdoj 1203 I NEED A OFFER!
- HDOJ -1203 I NEED A OFFER!
- hdoj 1203 I NEED A OFFER!
- HDOJ -- 1203 I NEED A OFFER!
- HDOJ 1203 I NEED A OFFER!
- HDOJ 1203 I NEED A OFFER! (01背包)
- HDOJ 1203 I NEED A OFFER!(简单背包)
- hdoj 1203 I NEED A OFFER! 【01-背包】
- HDOJ 1203 I NEED A OFFER!(01背包)
- I NEED A OFFER!(hdoj--1203--01背包)
- HDOJ 1203 I NEED A OFFER!(01背包)
- hdoj 1203 I NEED A OFFER! 【01背包】
- HDOJ——1203 I NEED A OFFER!
- HDOJ 1203 I NEED A OFFER!(0 1背包)
- HDOJ 1203 I NEED A OFFER! (01背包)
- Ubuntu14.04(32位)下安装使用docker
- zabbix基本概念
- Android native Thread实现 和Java Thread区别
- ssh 执行远程操作
- Android studio 设置注释模板以及函数注释快捷键
- HDOJ -1203 I NEED A OFFER!
- 传递指向指针的引用
- Android之添加快捷方式(Shortcut)到手机桌面
- 接口和抽象类的区别
- OC(Objective-C)中的KVC
- Gson的使用
- HDU 5631 Rikka with Graph
- Java占据主要地位的原因
- windows基础编程----第二篇(创建属于自己的窗口)