【前缀和+二分查找】 解题思路:一.定义sum数组用来存刷题数小于i的人数运用前缀和二.如果小于i题的人数小于大于i题的人数那么必须在刷i+1,max题里找,看看到底刷到多少题才能躺的人大于等于卷的人如果大于等于则不需要再刷了,值为0注意事项:参考代码:importjava.io.*;importjava.util.*;/ 题解列表 2024年02月07日 1 点赞 0 评论 797 浏览 评分:9.0
蓝桥杯2022年第十三届省赛真题-最少刷题数 importjava.util.Arrays;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);//接收用户输入intn=sca 题解列表 2024年01月16日 0 点赞 0 评论 927 浏览 评分:9.9
nlogn(排序),前缀和解法蓝桥杯2022年第十三届省赛真题-最少刷题数, 解题思路:利用一个100000的数组存每个数字出现的次数,然后使用前缀和一次,计算出前缀和之后就能在O(1)的复杂度的时间内求出比当前小的数有几个,相等的有几个,大的有几个排序后找出中位数判断当前数是否符合刷题数,满足则输出0不满足则判断当前数到中位数是否符合题意, 题解列表 2023年04月04日 0 点赞 0 评论 743 浏览 评分:2.0
蓝桥杯做题笔记 最少刷题数xxx importjava.io.IOException;importjava.util.Arrays;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{Scannersca 题解列表 2023年03月13日 0 点赞 0 评论 841 浏览 评分:2.0
前缀和 + 二分 #前缀和+二分先看测试数据范围10^5,暴力会TLE。先将每个人刷题的数量保存,并且更新最多刷题数量`sum[i]`来存放刷题数目不超过i个人数,因此可以得到公式比我卷的人`more=n-sum[nums[i]]`比我躺的人`less=sum[nums[i]-1]`当moreless也就是说卷过我的人 题解列表 2023年02月23日 0 点赞 0 评论 967 浏览 评分:9.4
蓝桥杯2022年第十三届省赛真题-最少刷题数(二分-java) 摘要:解题思路: 时间复杂度:O(N*log(max(A))*logN)二分找需要刷题数目a, 设已经刷了多少题为x,再二分找符合 < a + x - 1 与 > a + x + 1 的人数,根据题目要求比…… 题解列表 2022年10月14日 0 点赞 0 评论 1772 浏览 评分:8.4
分类讨论解最少刷题数(java) ##注意事项会出现重复的数,比如11113##解题思路每个人最少刷多少题,才能使刷题比他多的人不超过比他少的人。直接排好序,取中间的数val为标准统计出刷题数比val小的人数leftNum统计出刷题数比val大的人数rightNum#####1.不用再刷题的情况①.刷题数大于中间的数, 题解列表 2022年05月05日 0 点赞 0 评论 1821 浏览 评分:9.2
优质题解 题解2673: 蓝桥杯2022年第十三届省赛真题-最少刷题数(JAVA题解) 解题思路:排序+枚举注意事项:考试时候想得太复杂了。。。用了权值线段树去暴力模拟,果然TLE。本题首先需要对输入按值降序排序,之后可以看做不断将对称轴后的数向前插入,当然,为了节约时间,可以直接插入至对称轴处。为此,我们需要判断插入到对称轴之前才满足条件, 题解列表 2022年05月04日 0 点赞 2 评论 3591 浏览 评分:5.4