链接:https://ac.nowcoder.com/acm/contest/912/I

题意:

Fate Grand Order是型月社发行的角色扮演类手机游戏,是著名的氪金抽卡"垃圾"手游。

小t是该手游的忠实厨力玩家,为了抽到喜欢的角色他特地氪金买了n颗圣晶石(3颗圣晶石可以抽卡1次)。

已知有m个抽卡活动会按时间顺序在游戏中举办,每个活动都会新推出一个角色,并且告诉你这m个角色的抽取概率,而每当首次成功抽到每个角色之后他会获得一定的开心值。

小t是一个有计划的男人,在第1个活动开始前他就会想好一个抽卡计划,抽卡计划决定哪些角色抽,哪些角色不抽;

小t也是一个贫穷的男人,对于每个选择抽卡的活动,他都只会抽一次,不管是否抽到都不会选择继续再在这个活动抽卡;

小t也是一个纠结的男人,每个角色他都很纠结是否要抽,总之他想让自己尽可能开心,所以小t求助于聪明的你,他想知道什么样的计划可以让开心值的期望最大。

思路:

根据概率和开心值的乘积排序。

取前n/3个。

代码:

#include <bits/stdc++.h>
using namespace std; const int MAXN = 2e3+10; struct Node
{
double p;
double happy;
int pos;
bool operator < (const Node& that) const
{
return this->p*this->happy > that.p*that.happy;
}
}node[MAXN]; int Vis[MAXN]; int main()
{
int n, m;
cin >> n >> m;
n = n/3;
for (int i = 1;i <= m;i++)
cin >> node[i].p, node[i].pos = i;
for (int i = 1;i <= m;i++)
cin >> node[i].happy;
sort(node+1, node+1+m);
for (int i = 1;i <= n;i++)
Vis[node[i].pos] = 1;
for (int i = 1;i <= m;i++)
if (Vis[i] == 0)
cout << 0;
else
cout << 1;
cout << endl; return 0;
}

  

最新文章

  1. 美国 ZIP Code 一览表
  2. 【图像处理】【SEED-VPM】1.注意点
  3. 查找代码错误.java
  4. poj 2503:Babelfish(字典树,经典题,字典翻译)
  5. 关于 2dx v3.7 UIScale9Sprite的bug
  6. Myeclipse中相同变量高亮显示
  7. eclipse里maven项目An error occurred while filtering resources解决办法(转载)
  8. 如何使用 Docker、ECS、Terraform 重建基础架构?
  9. thinkphp 配置
  10. Linux之V4L2视频采集编程详解
  11. const 还是 static readonly
  12. 腾讯地图api接收坐标提交坐标
  13. 【ASP.NET MVC 学习笔记】- 14 HtmlHlper的扩展方法
  14. Ne10编译安装
  15. uvalive 3887 Slim Span
  16. Asp.net Webform的页面生命周期
  17. 【模型】Toon Dragon
  18. busybox tar 命令支持 tar.gz
  19. Spring MVC异常处理SimpleMappingExceptionResolver
  20. JAVA多线程笔试题

热门文章

  1. 基于KD-Tree的最近邻搜索
  2. kvm初体验之七:attach usb storage device to a VM
  3. app测试点-1
  4. Linux_服务器_04_vim编辑器的使用
  5. springmvc的简单介绍以及springmvc组件的介绍
  6. MySQL交叉表处理_20160923
  7. 编写html页面时常见的问题(二)
  8. Oracle查询24小时制的时间格式
  9. try-catch-finally中return的执行情况
  10. hdu3047 Zjnu Stadium (并查集)