• 长春理工大学第十四届程序设计竞赛(重现赛)I


    I.Fate Grand Order

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

    题目:

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

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

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

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

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

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

    输入描述:

    第1行有2个整数n, m,圣晶石数量和活动数量(0<= n <=6000, 1<= m <=2000);

    第2行有m个小数,表示每个活动角色的抽取概率p(0 <= p <= 1);

    第3行有m个整数,表示每个活动角色抽到的话trx可获得的开心值x(0 <= x <= 10000)。

    输出描述:

    输出1行长度为m的01串,表示抽卡计划,其中0表示不抽,1表示抽。
    示例1

    输入

    3 5
    0.1 0.05 0.03 0.0001 0.9
    100 100 100 100 100

    输出

    00001

    思路:

    惭愧,这道题一开始我想的竟然还铤复杂的,错还不知道那儿错了,case 通过率为98%,总有一组数据过不去,气死人,后来换了一种思想:

    直接结构体重载排序,顺便结构体记录一下下标,再用一个数组book初始化为0,要变成1的话,book[该下标]=1,利用book来输出01字符串。

    #include<bits/stdc++.h>
    using namespace std;
    typedef  long long ll;
    const int maxn=2e5+10;
    int book[maxn]={0};
    struct happy{
        int cun;
       double pin;
       int value;
       double last;
       bool operator<(happy const& other)const{
           return last>other.last;
       }
    
    }happy[maxn];
    int main()
    {
        int n,m;
        cin>>n>>m;
        for(int i=0;i<m;i++)
            cin>>happy[i].pin,happy[i].cun=i;
        for(int i=0;i<m;i++)
            cin>>happy[i].value,happy[i].last=happy[i].pin*happy[i].value;
        sort(happy,happy+m);
        int time=n/3;
        for(int i=0;i<time;i++)
        {
            book[happy[i].cun]=1;
        }
        for(int i=0;i<m;i++)
        {
            if(book[i]==1)
                cout<<1;
            else
                cout<<0;
        }
        return 0;
    }
     
  • 相关阅读:
    poj 3662 Telephone Lines
    费马小定理证明
    CodeForces 1058 F Putting Boxes Together 树状数组,带权中位数
    共价大爷游长沙 lct 维护子树信息
    牛客暑假多校 F RIKKA with Line Graph
    牛客暑假多校 H Prefix sum
    HDU-6437 Videos
    模板汇总——AC自动机
    模板汇总——逆元
    模板汇总——LCT
  • 原文地址:https://www.cnblogs.com/Vampire6/p/10997215.html
Copyright © 2020-2023  润新知