首页 > 其他分享 >[USACO18OPEN] Talent Show G

[USACO18OPEN] Talent Show G

时间:2022-11-10 19:57:16浏览次数:73  
标签:Talent cow Show int USACO18OPEN dp

[USACO18OPEN] Talent Show G

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f,N = 255,WN = 1010;
int n,W;
struct name{
	int w,t;
	double y;
}cow[N];
double dp[WN];         // dp[i] : 背包容量为i时的最大价值(y值之和)
bool check(double x){ // 0/1背包验证
	int i,j;
	for(i=1;i<=n;i++) cow[i].y=(double)cow[i].t-x*cow[i].w;
	for(i=1;i<=W;i++) dp[i]=-inf;
	dp[0]=0;
	for(i=1;i<=n;i++)
		for(j=W;j>=0;j--)
			if(j+cow[i].w>=W)
				dp[W]=max(dp[W],dp[j]+cow[i].y);//若总重量大于W,全当作W
			else 
				dp[j+cow[i].w]=max(dp[j+cow[i].w],dp[j]+cow[i].y);
	return dp[W]<0;
}
int main(){
	scanf("%d%d",&n,&W);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&cow[i].w,&cow[i].t);
	double L=0,R=0;
	for(int i=1;i<=n;i++) R+=cow[i].t;
	for(int i=0;i<=50;i++){
		double mid=(L+R)/2;
		if(check(mid)) R=mid;
		else L=mid;
	}
	cout<<(int)(L*1000)<<endl;
	return 0;
}

标签:Talent,cow,Show,int,USACO18OPEN,dp
From: https://www.cnblogs.com/sheepcsy/p/16878572.html

相关文章

  • 微信小程序自定义showModel后怎么获取获取input框输入值
    先看下效果自己调样式太好玩了哈哈哈参考官方文档用官方的直接copy过来就可以实现https://developers.weixin.qq.com/miniprogram/dev/component/input.htmlwxml......
  • ctfshow JWT总结
    一、基础知识:介绍:JSONWebToken(JWT)是用来进行跨域身份验证的一种方案。构成:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoidXNlciIsImlhdCI6MTY2NzgxMDA1MX0.bsJ......
  • v-if与v-show
    v-if的特点v-if:是真实的条件控制语句,每当我们满足条件的时候就会显示元素,不满足条件的时候不显示元素(不存在元素没有)v-if:有一套自己的条件控制语句v-if;v-else-if;v-......
  • v-if与v-show的区别
    v-if与v-show的区别于2022-07-0421:43:13发布3672收藏7分类专栏:vue文章标签:vue前端一、共同点:v-if和v-show都能实现元素的显示隐藏二、区别:1.v-show......
  • dialog.showMessageBox 自定义icon图标不显示问题
    icon:path.join(__dirname,'../dist/img/facebook.png')注意:开发环境无效,打包后才生效代码如下:dialog.showMessageBox({ //type:'warning', title:'退出提示',......
  • ctfshow web118(利用系统环境变量拼接命令)
    full以后发现题目给了如下字符(几个特殊字符+大写英文字母)我们利用系统环境变量来构造我们需要的命令:${PATH:~A}${PWD:~A}${IFS}????????===nlflag.php自己本地试试......
  • ctfshow web72(绕过open_basedir)
    if(isset($_POST['c'])){$c=$_POST['c'];eval($c);$s=ob_get_contents();ob_end_clean();echopreg_replace("/[0-9]|[a......
  • SVN不能显示最新的showlog
    多台电脑使用svn,偶然发现服务器上的svn不能正常显示最新的showlog,记录到之前的某个时间为止。搜索网上讲是要清除本地缓存记录,但是还是没有用,showlog仍然显示到某个日期。......
  • [CTFSHOW]中期测评WP(差512和514)
    文章目录​​前言​​​​web486​​​​web487​​​​web488​​​​web489​​​​web490​​​​web491​​​​web492​​​​web493​​​​web494​​​​web495​​......
  • ctfshow反序列化 刷题随笔
    刷题随笔web254题目直接传参,没啥好说的web255题目<?phperror_reporting(0);highlight_file(__FILE__);include('flag.php');classctfShowUser{public$......