首页 > 其他分享 >华中师范大学2023新生赛 H 龙 题解

华中师范大学2023新生赛 H 龙 题解

时间:2023-12-19 11:37:16浏览次数:29  
标签:ch 宝石 int 题解 LL 华中师范大学 read 2023

Link

华中师范大学2023新生赛 H 龙

Question

有 \(m\) 个宝石孔,有 \(n\) 个宝石,每个宝石可以提升 \(a_i\) 点战斗力

每次镶嵌一个宝石,被选中的宝石会 随机 选择一个宝石孔进去,如果这个孔原来有宝石,则原来的宝石会被损坏

你可以任意决定镶嵌宝石的顺序,她想知道,如果把着 \(n\) 颗宝石都镶嵌进去,期望战力提升的最大值是多少?

Solution

显然,珠子从小到大插入最后的期望收益更高

当一颗珠子被嵌入时,它最后留下的几率就是固定的

从大到小考虑,设 \(p_i\) 表示第 \(i\) 颗珠子最后留下的概率(从大到小排序后)

\[p_{i+1}=p_i\times\frac{m-1}{m} \]

最后的期望就是 \(\sum p_i\times a_i\)

Code

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL TT=998244353;
const int maxn=1e6+5;

LL read(){
    LL ret=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){ret=ret*10+ch-'0';ch=getchar();}
    return ret*f;
}

LL n,m,a[maxn];
LL qsm(LL a,LL b=TT-2){
    LL ret=1;
    while(b){if(b&1) ret=ret*a%TT;a=a*a%TT;b>>=1;}
    return ret;
}


int main(){
    freopen("H.in","r",stdin);
    LL n=read(),m=read();
    for(int i=1;i<=n;i++) a[i]=read();
    LL E=1,ans=0;
    sort(a+1,a+1+n,greater<int>());
    for(int i=1;i<=n;i++){
        ans=(ans+a[i]*E%TT)%TT;
        E=(E*(m-1))%TT;E=E*qsm(m)%TT;
    }
    cout<<ans<<endl;
    return 0;
}

标签:ch,宝石,int,题解,LL,华中师范大学,read,2023
From: https://www.cnblogs.com/martian148/p/17913282.html

相关文章

  • 华中师范大学2023新生赛 D 身无彩凤双飞翼 题解
    Link华中师范大学2023新生赛D身无彩凤双飞翼Question给出一个\(n\timesm\)的网格,网格上有一些障碍,问最少添加多少障碍才能使\((1,1)\)和\((n,m)\)不连通Solution我好像用了一种和标答不一样的写法我们先对图bfs一次,如果\((1,1)\)不能到达\((n,m)\),则图本来就......
  • CF1905 B Begginer's Zelda 题解
    LinkCF1905BBegginer'sZeldaQuestion给出一棵树,每次能把一条路径压缩成一个点,求最少几次把树压缩成一个点Solution贪心的想,路径肯定越长越好,所以肯定是以一个儿子节点为起点,以一个儿子节点为终点,儿子节点合并了儿子到根的父节点也合并了,每次合并两个儿子节点,假设儿子节点......
  • 【题解】CodeForces-1913
    CodeForces-1913ARatingIncrease依题意模拟。提交记录:Submission-CodeForcesCodeForces-1913BSwapandDelete交换免费就是能任意重排,从头开始尽量填相反的,剩下只能删去了。提交记录:Submission-CodeForcesCodeForces-1913CGamewithMultiset从大到小能减则减一定......
  • 如何扩充知识广深度:以强网杯2023谍影重重2.0为例
    附件截图 通过筛选,提取tcp流量,得到:抛开弯弯曲曲的思考过程,直接来看wp:(by:战队:Arr3stY0u)  好,直接解码得到结果的。好像这题就做完了?思考以下几个问题:1.为什么别人能马上知道是ADS-B?下次比赛过程期间我能不能也查到一些未知的协议?2.为什么一个协议马上就......
  • 【题解】CodeForces-1905
    CodeForces-1905AConstructiveProblems发现沿着对角线放就行了,答案是\(\max(n+m)\)。提交记录:Submission-CodeForcesCodeForces-1905BBegginer'sZelda最优操作每次删两个叶子(除了最后一次只剩两个节点),所以答案是叶子个数除以二上取整。提交记录:Submission-CodeForc......
  • 【2023-12-18】体感冬天
    20:00一个勇往直前、从不退缩的人绝不会怀疑云彩会从头上掉下来,绝不会想到XieE能胜利,而正义遭到挫败,他认为跌倒是为了爬起,受挫是为了更好的战斗,就寝是为了醒来。                                    ......
  • 做题记录202312
    模拟赛题题意:将长度为\(n\le10^{18}\)插入间隔,要求每个(所有空格小于等于\(k\le50\))的连续段段内必须有一个段空格为\(k\),求方案数矩阵快速幂可以预处理,复杂度变为\(O(n^2(n+T)logn)\)对于过于繁杂的边界和细节问题,可以先求出一个大致,统计答案的时候再进行修正,这里统......
  • 【专题】2023年即时零售行业发展报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34588原文出处:拓端数据部落公众号即时零售是一种通过线上即时下单、线下即时履约的零售业态,它依托本地零售供给,满足本地即时需求。这种业态是“零售+科技”的产物,实现了交易流程线上化、履约配送便利化,提升了本地供给能力,拓展了消费需求。近年来,即......
  • 2023.12.18
    点击查看代码#include<bits/stdc++.h>#definefifirst#definesesecondusingstd::cin;usingstd::min;usingstd::max;usingstd::cout;usingstd::vector;constexprintM=2e6+5;constexprintINF=0x3f3f3f3f,mod=998244353;......
  • 2023年12月18日总结
    更好的观看总结冬月初六,天气还是很寒冷。好在教室里面开了空调,还是很暖和。一眼今天的内容,技巧与思想?分治、启发式合并、分块算法、莫队算法、CDQ分治、整体二分?难以言表。洛谷首页的做题计划还鸽了好多题啊!做不完啊。先来一道dp的题目。P8820[CSP-S2022]数据传输之前......