jzoj2941
我們可以暴力枚舉每一個人分幾個糖果,再暴力統計答案即可
每次遞歸下去可以從1-n號人,決定選多少個糖果再遞歸
#include<bits/stdc++.h>
using namespace std;
int n,k;
double a,r,x[1000],y[1000],s;
void get(int d,double p,double ss,int c){
if(d==n+1){
if(c>n/2)s+=p;
else s+=p*(a/((a+ss)));
return;
}
get(d+1,p*y[d]/100.0,ss,c+1);
get(d+1,p*(100.0-y[d])/100.0,ss+x[d],c);
}
void dfs(int x,int k){
if(k==0){//用來剪枝
s=0;
get(1,1,0,0);
r=max(r,s);
return;
}
if(x==n+1)return;
for(int i=0;i<=k;i++)
if(y[x]+i*10<=100){
y[x]+=i*10;
dfs(x+1,k-i);
y[x]-=i*10;
}
}
int main(){
scanf("%d%d%lf",&n,&k,&a);
for(int i=1;i<=n;i++)
scanf("%lf%lf",&x[i],&y[i]);
double ans=0;
for(int i=1;i<=n;i++)
ans+=(100.0-y[i]);
if(ans<=k*10){
printf("1.000000");
return 0;
}
dfs(1,k);
printf("%.6lf",r);
}
jzoj2941的更多相关文章
随机推荐
- FutureTask详解
1 基本概念 1.1 Callable与Future Runnable封装一个异步运行的任务,可以把它想象成为一个没有参数和返回值的异步方法.Callable与Runnable类似,但是有返回值.Ca ...
- shell 脚本 测试webApp
vim **.sh文件 开头:#!/bin/bash ////////// copy cURL //因为这样copy的url就是一个命令(进入chrome的开发者工具里面,点network,找到刚刚访 ...
- Java 8 新日期时间 API
Java 8 新日期时间 API 1. LocalDate.LocalTime.LocalDateTime LocalDate.LocalTime.LocalDateTime 实例是不可变的对象,分别 ...
- 专2-第二课 Eclipse开发环境搭建
2.1下载Eclipse 2.2 安装C/C++版本的Eclipse 2.3 安装JDT插件开发Java程序 2.4 使用Eclipse开发驱动程序 既然安装了eclipse来进行驱动学习,那么我们就 ...
- <asp:RadioButton> 选项判断
小菜在项目中遇到一个<asp:RadioButton> 选择之后,让其控制其他标签显示或者隐藏的问题.记录以备忘记之需! <html xmlns="http://www.w ...
- Spring Boot之初始化项目
最简单的从Spring官网下载 :地址 https://start.spring.io/ 下拉选择需要的Spring Boot版本 修改Group和Artifact 直接点击Generate Pro ...
- android 网站上下的 adt 不能显示没有安装的
问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository ...
- 2018.09.30 bzoj2288:生日礼物(贪心+线段树)
传送门 线段树经典题目. 每次先找到最大子段和来更新答案,然后利用网络流反悔退流的思想把这个最大字段乘-1之后放回去. 代码: #include<bits/stdc++.h> #defin ...
- win10 新增删除文件不刷新
实际上是桌面图标缓存出问题,以下是一个简单动作即可解决问题. 按Win+R键打开“运行”窗口,输入如下命令后按回车键执行: ie4uinit -show 立竿见影,效果同360,魔方等工具软件,可参考 ...
- 使用async-http-client实现异步批量http请求
最近项目中需要在微服务中调用rest接口,而且需要调用得次数很多,所以同步得http客户端已经不满足要求,在网上查阅资料后发现了async-http-client这个包得性能不错,所以写了个demo测 ...