首页 > 其他分享 >HDU 2570 迷瘴

HDU 2570 迷瘴

时间:2024-07-12 10:11:15浏览次数:15  
标签:HDU int double 2570 dv dw

题目链接:HDU 2570【迷障】



思路

       简单贪心,需要算出尽可能大的体积,所以先将浓度数组按从小到大的顺序排列,然后从小到大依次取出药水配置,直到浓度大于w,回溯到前一个状态并输出


代码

#include <bits/stdc++.h>
#include <exception>
using namespace std;
#define ll long long
const int N = 1e5 + 10;

double p[N];
int n, v;
double w;
int main() {
  int t;
  cin >> t;
  while (t--) {
    cin >> n >> v >> w;
    int dv = 0;
    double dw = 0;
    for (int i = 1; i <= n; i++) {
      cin >> p[i];
    }
    sort(p + 1, p + 1 + n);
    for (int i = 1; i <= n; i++) {
      int ddv = dv;
      double ddw = dw;
      ddw = (ddv * ddw + v * p[i]) / (ddv + v);
      ddv += v;
      if (ddw > w) {
        break;
      }
      dv = ddv, dw = ddw;
    }
    printf("%d %.2f\n", dv, dw / 100);
  }

  return 0;
}

标签:HDU,int,double,2570,dv,dw
From: https://www.cnblogs.com/againss/p/18297654

相关文章

  • HDU 2037 今年暑假不AC
    题目链接:HDU2037【今年暑假不AC】’思路    典型区间贪心,按节目结束时间升序排序,结束时间相等时按开始时间升序排序,然后逐个查找满足要求的节目,下一个观看的节目开始时间要大于当前观看节目的结束时间。代码#include<bits/stdc++.h>usingnamespacestd;#define......
  • HDU 1240 Asteroids!
    题目链接:HDU1240【Asteroids!】思路    代码#include<iostream>#include<queue>#include<stdlib.h>#include<cstring>#definelllonglongusingnamespacestd;constintN=20;constintM=1e4;structpoint{intx,y,z,st......
  • HDU 1312 RED AND BLACK
    题目链接:HDU1312【REDANDBLACK】思路    简单搜索,输入数据时,找出起点位置,然后从七点位置开始搜素能到达的所有位置并记录,使用check()函数判断当前位置可以走吗,可以走就把当前位置放入队列中,并将当前位置修改为非黑色位置,防止重复进入。代码#include<bits/stdc+......
  • hdu物联网硬件实验1 小灯闪烁
    物联网硬件基础实验报告学院班级学号姓名日期成绩实验题目配置环境+小灯实验目的配置环境以及小灯闪烁硬件原理无关键代码及注释/*  Blink  The basic Energia example.  Turns on an LED on for one second, t......
  • hdu物联网硬件实验2 GPIO亮灯
    学院班级学号姓名日期成绩实验题目GPIO亮灯实验目的点亮三个灯闪烁频率为一秒硬件原理无关键代码及注释constintledPin1= GREEN_LED;     //thenumberoftheLEDpinconstintledPin2= YELLOW_LED;constintled......
  • HDU-4281 Judges' response(2012 ACM/ICPC Asia Regional Tianjin Online)
    HDU-4281Judges'response(2012ACM/ICPCAsiaRegionalTianjinOnline)状态压缩+01背包+区间dp题意:有n个地点,第一个地点是裁判位置,其他n-1个地点是选手的位置。裁判要给选手解决问题,每个选手都有一个时间表示解决这个选手问题所需要的时间。同样的,裁判也有一个时间,表示这......
  • Railway HDU - 3394 求调
    做个记录,如果有人愿意帮我调蒟蒻将感激不尽qwq#include<iostream>#include<iomanip>#include<cstdio>#include<vector>#include<stack>#include<queue>#include<bitset>#include<map>#include<set>#include<unorde......
  • hdu2845dp问题
    看了一眼题目,简单dp问题,但超时了一晚上,试了各种方法无法解决,最终放弃java,改用C直接过,我哭了。。。。#include<stdio.h>#include<string.h>#definemaxn200010intdp[maxn],ans[maxn],map[maxn];intmax(intx,inty){returnx>y?x:y;}intmain(){inti,j;......
  • hdu1421搬寝室dp
    状态转移方程if(j==2*i+1){ dp[j][i]=dp[j-2][i-1]+(val[j]-val[j-1])*(val[j]-val[j-1]); }else{ dp[j][i]=Math.min(dp[j-1][i],dp[j-2][i-1]+(val[j]-val[j-1])*(val[j]-val[j-1])); } importjava.util.Arrays;importjava.util.S......
  • HDU 3642 (扫描线、三维体积相交)
    题意在三维空间中给你n个长方体,求空间中被这些长方体覆盖至少3次以上的区域的总体积。思路这题没给数据组数T的范围,大致看了一下其他人的都是枚举z来做的,所以我这边也是同样的做法转换成二维的扫描线来做,数组ci表示被覆盖i次的区间标记,具体扫描线怎么实现可以看我上篇博客。......