lgwnb
A.Greeting from Qinhuangdao
题意:
给你$n$个红球,$m$个蓝球,求从这些球中取$2$个红球的概率,用$p/q$形式表示概率。
题解:
签到题,令$s=n+m$公式为$C_n^2/C_{s}^2$,化简为$\frac{n(n-1)}{s(s-1)}$,求下两个的$gcd$,约分一下即可,特判一下$n=1$的情况。
AC代码:
1 | //I am so vegetable |
E.Exam Results
题意:
现已知$n$个学生的成绩,思路清晰的时候是$a_i$,差的时候是$b_i$,令$x$为$n$个学生中最高的成绩,设及格线为$x*p\%$,问最多能及格的人数是多少。
题解:
首先我们以$a_i$为排序标准,大的在前面,用个树状数组把$a_i$的出现次数现记录下来,因为我们需要让最大值尽可能小的同时,及格的人数也尽可能的多,那么我们就从大到小遍历,每到一个$i$,查询完后,就把$a$和$b$调换,更新树状数组,同时更新最大值,因为最大值有可能在前面出现,所以要记录下最大值,用个$multiset$即可,最后储存数据的时候因为$a_i$有$1e9$这么大,我们需要离散化储存一下数据,每次查询的是小于及格线的人数,然后用$n$减去即可求出,然后和答案取个$max$即可。
AC代码:
1 | //I am so vegetable |
F.Friendly Group
题意:
现在有$n$个人,需要将他们分配到一个组内,如果组内有$k$个人,则组的好感度减$k$,组内有$m$个朋友关系,则组的好感度加$m$。
题解:
我们可以把每个人看成一个点,关系看成一条边,最后会有若干个连通图,我们只取不为树的连通图。
AC代码:
1 | //I am so vegetable |
G.Good Number
题意:
给定一个数$n$,定义$\lfloor\sqrt[k]{x}\rfloor|x$的$x$为好的数字,问$n$以内有几个好的数字。
题解:
我们不难发现$k=1$的时候答案为$n$,$k<30$的时候直接数论分块爆搜一下,$k>=30$的时候$\lfloor\sqrt[k]{x}\rfloor=1$,答案也为$n$。
AC代码:
1 | //I am so vegetable |
- 本文作者: baddog
- 本文链接: https://katoli.github.io/2020/10/21/2020-CCPC-QHD/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!