题意:给你6个数。让你求出1~100范围内的数 最优情况下由这六个数加减几步得到。 输出平均值和最大值。

思路:

我就随便写了写,,,感觉自己的思路完全不对。 但是交上去 AC了!!!

我先当减法 不存在 完全背包 出来1~10100范围以内的最优解

然后再枚举一下从哪个地方开始减。

得出ans数组 ,,就A了。。。

完全不知道自己怎么AC的、、、

// by SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int cases,sum,maxx,a[6],f[10101],ans[105];
int main(){
scanf("%d",&cases);
while(cases--){
memset(ans,0x3f,sizeof(ans)),sum=maxx=0;
memset(f,0x3f,sizeof(f)),f[0]=0;
for(int i=0;i<6;i++)scanf("%d",&a[i]);
for(int i=0;i<=10100;i++)
for(int j=0;j<6;j++)
f[i+a[j]]=min(f[i+a[j]],f[i]+1);
for(int i=1;i<=100;i++)
for(int j=0;j<=10000;j++)
ans[i]=min(ans[i],f[i+j]+f[j]);
for(int i=1;i<=100;i++)sum+=ans[i],maxx=max(maxx,ans[i]);
double Sum=0.01*sum;
printf("%.2lf %d\n",Sum,maxx);
}
}

POJ 1252 DP的更多相关文章

  1. POJ 1252 Euro Efficiency(完全背包, 找零问题, 二次DP)

    Description On January 1st 2002, The Netherlands, and several other European countries abandoned the ...

  2. hdu 1513 && 1159 poj Palindrome (dp, 滚动数组, LCS)

    题目 以前做过的一道题, 今天又加了一种方法 整理了一下..... 题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符. 方法一: 将该字符串与其反转求一次LCS,然后所求就是n减去 ...

  3. poj 1080 dp如同LCS问题

    题目链接:http://poj.org/problem?id=1080 #include<cstdio> #include<cstring> #include<algor ...

  4. poj 1609 dp

    题目链接:http://poj.org/problem?id=1609 #include <cstdio> #include <cstring> #include <io ...

  5. POJ 1037 DP

    题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...

  6. Jury Compromise POJ - 1015 dp (标答有误)背包思想

    题意:从 n个人里面找到m个人  每个人有两个值  d   p     满足在abs(sum(d)-sum(p)) 最小的前提下sum(d)+sum(p)最大 思路:dp[i][j]  i个人中  和 ...

  7. poj 1485 dp

    转自:http://www.cnblogs.com/kuangbin/archive/2011/11/12/2246407.html [题目大意] 一条公路上有n个旅馆,选出其中k个设置仓库,一个仓库 ...

  8. POJ 3017 DP + 单调队列 + 堆

    题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...

  9. POJ 1661 DP

    Help Jimmy Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11071   Accepted: 3607 Descr ...

随机推荐

  1. Bootstrap3 学习笔记

    图片新窗口打开浏览

  2. PHP中的字符串类型

    PHP支持两种类型的字符串,这些字符串用引号说明. 1.如果希望赋值一个字面意义的字符串,精确保存这个字符串的内容,应该用单引号标注,例如: $info='You are my $sunshine'; ...

  3. vue2 阻止时间冒泡

    click.stop.prevent <div class="content-right" @click.stop.prevent="pay" > ...

  4. 杭电2061WA

    #include<stdio.h> struct mem { char s[50]; int c; int f; }; int main() { struct mem x[60]; int ...

  5. 通过nvm 切换 npm 版本

    通过 nvm-windows 更新 npm 1.先安装 nvm-windows .成功后可在命令窗口 输入nvm 查看到 nvm的版本号. 2..在命令窗口输入 nvm list,查看当前使用的 no ...

  6. 企业级任务调度框架Quartz(2)-下载和安装Quartz

    1.下载和安装 Quartz 根据资料上提供的网址http://www.opensymphony.com/quartz 我们可以下载到Quartz的最新版本1.6.4: 2.下载后包的说明       ...

  7. http请求后台报406错误

    1.springMVC的项目,通过浏览器访问后台方法遇到了报406的错误,找了很多原因,最终发现是因为缺少spring-mvc的json配置. 2.添加依赖:jackson-databind.jack ...

  8. linux 结构需要清理 (structure needs cleaning)

    下面操作会删除挂载点所有文件,注意备份. df -T 查看出错的挂载点对应的文件系统和文件系统类型   然后umount这个文件系统 umount /dev/sda1 然后文件系统类型不同操作不同  ...

  9. gud-cloud

    架构:计算层:三台机器,包含处理器,内存条,外加一个64GB的存储器,这个存储器安装exsi主机,然后创建cvm虚拟机,硬盘空间选择在之前安装exsi主机的存储器里面 存储层:三台机器内置多个硬盘8T ...

  10. 不引用第三方变量交换a和b的值

    方法一:(可操作字符) a = a^b; b = a^b; a = a^b; 方法二:(可操作字符) a=a+b; b=a-b; a=a-b; 方法三:(不可以操作字符) a=a*b; b=a/b; ...