我們可以暴力枚舉每一個人分幾個糖果,再暴力統計答案即可

每次遞歸下去可以從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的更多相关文章

随机推荐

  1. dedecms模型类的引入

  2. Ubuntu 网卡多个 IP 地址

    临时添加 IP 地址 首先,让我们找到网卡的 IP 地址.在我的 Ubuntu 15.10 服务器版中,我只使用了一个网卡. 运行下面的命令找到 IP 地址: 复制代码 代码如下: sudo ip a ...

  3. Java数据结构和算法(二)顺序存储的树结构

    Java数据结构和算法(二)顺序存储的树结构 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 二叉树也可以用数组存储,可以和完 ...

  4. td里的英文字母不会自动换行的问题

    今天发现一个问题,限制了TD的宽度之后,汉字会自动换行,但是英文却不会,在网上搜索一下,发现在TD里面加上style='word-break:break-all'这个样式之后,换行成功 <tab ...

  5. visual studio 各种错误汇总

    ----不定时更新 vs2012 智能提示消失解决办法 一般你可以重启vs就可以解决问题,最蛋疼的是你重启也没用.只能重置,再不行就重装vs,再不行你就重装系统......扯淡了... 重置Visua ...

  6. IntelliJ IDEA 2017版 SpringBoot的核心配置详解

    Spring Boot的核心   (1)Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法.  (2)@Spri ...

  7. 'org.springframework.web.filter.CharacterEncodingFilter' is not assignable to 'javax.servlet.Filter,This inspection lets you spot the following problems that might occur in descriptors that are used t

    1.jar包导入错误,因为maven下载的原因: 删除这样的包,然后让maven重新下载,问题就会解决

  8. UVa 11491 Erasing and Winning (贪心,单调队列或暴力)

    题意:给一个数字(开头非0),拿掉其中的d个数字,使剩下的数字最大(前后顺序不能变). 析:拿掉d个数字,还剩下n-d个数字.相当于从n个数字中按先后顺序选出n-d个数字使组成的数字最大,当然采用窗口 ...

  9. Ansible 笔记 (3) - 编写 playbook

    playbook 相当于多个命令的编排组合然后一起运行,类似写脚本.在学习 playbook 之前需要了解 yaml 格式. 编写playbook的步骤: 定义主机与用户 编写任务列表 执行 play ...

  10. java使用WebUploader做大文件的分块和断点续传

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...