![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法竞赛
文章平均质量分 69
算法竞赛学习
超越~and me
痛苦是保持清醒的最好方式
展开
-
排序(算法竞赛)
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。第 𝑗j 行的 33 个数字依次表示学号为 𝑗−1j−1 的学生的语文、数学、英语的成绩。这两名同学的总分都是 279279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为 77 的学生语文成绩更高一些。任务:先根据输入的 33 门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。原创 2024-05-14 18:19:50 · 231 阅读 · 0 评论 -
离散化(算法竞赛)
离散化:把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。适用范围:数组中元素值域很大,但个数不是很多。比如将a[]=[1,3,100,2000,500000]映射到[0,1,2,3,4]这个过程就叫离散化。离散化常与差分、前缀和、数组数组、线段树结合考查。原创 2024-05-12 17:46:00 · 277 阅读 · 0 评论 -
链表,队列,栈(算法竞赛)
题解2:动态规划DP。定义状态dp[i],表示以第a[i]为结尾的最大子序和。说明:本章学习内容主要让大家了解语法,精力充分的情况下,再研究研究题目。下面是hdu1003的代码。下面是洛谷P1886的代码。原创 2024-05-15 13:49:35 · 203 阅读 · 0 评论 -
算法背包问题
背包问题是一类典型的优化问题,在计算机科学和运筹学中非常常见。它通常涉及在有限的容量(背包的容量)下,如何选择物品装入背包以使得某种指标(如总价值、总重量等)达到最优。根据问题的不同设定,背包问题有多种变体,其中最常见的是0-1背包问题和完全背包问题。原创 2024-06-12 08:21:16 · 364 阅读 · 2 评论 -
算法竞赛刷题日记(2)
题目描述 筛法: 说起质数,这是一个在我们小学就已经学会的概念,但是今天,已经上了初中的小虾仁又接触到了这个概念,老师让他们找出小于n的质数一共有多少个,小虾仁说:"这不是没什么区别嘛!这种筛法简单且历史悠久,其原理是从2开始,将每个素数的各个倍数标记为合数,从而在给定范围内筛选出所有的素数。列出2以后的所有自然数序列,例如:2, 3, 4, 5, 6, 7, ... , N(N为要筛选到的最大值)。标出序列中的第一个素数,也就是2,然后从序列中删去2的倍数(除了2本身)。提示 0<=n<=2*10^6。原创 2024-06-29 19:02:01 · 163 阅读 · 0 评论 -
算法竞赛icpc之二分(3)
首先:二分查找与二分答案有何区别?二分查找:在一个已知的有序数据集上进行二分地查找二分答案:答案有一个区间,在这个区间中二分,直到找到最优答案什么是二分答案?答案属于一个区间,当这个区间很大时,暴力超时。但重要的是——这个区间是对题目中的某个量有单调性的,此时,我们就会二分答案。每一次二分会做一次判断,看是否对应的那个量达到了需要的大小。判断:根据题意写个check函数,如果满足check,就放弃右半区间(或左半区间),如果不满足,就放弃左半区间(或右半区间)。原创 2024-06-20 10:45:31 · 719 阅读 · 0 评论 -
算法竞赛刷题日记(1)
在C++和C语言中,处理多组字符串输入的方法略有不同,但基本思路是相似的。请注意,这些示例代码仅用于演示目的,并未包含所有可能的错误处理。小虾仁觉得,简简单单的一个数的运算已经难不倒她了,她现在喜欢上了数组这个新概念,她觉得一堆数放在一起更有趣了。在这个示例中,程序会不断读取用户输入的字符串,直到用户输入"EOF"为止。如果读取到的字符串是"EOF",则停止读取。最后,程序会输出所有读取到的字符串。先输出奇数,再输出偶数(注意:输出的是一行哦),多组输入。最后,程序会输出所有读取到的字符串。原创 2024-06-28 20:11:02 · 345 阅读 · 0 评论 -
算法竞赛icpc之二分(2)
分析:给出了C,我们要找出A和B。我们可以遍历数组,即让每一个值先变成B,然后二分找对应的A首次出现位置,看是否能找到。如果找到A,那就二分找最后出现的位置,继而,求出A的个数,即数对的个数。 如果你把上面的两个题完全搞懂了,那很容易就抽象出做题步骤:如果题目明确说了 要求最小值(最前面的值)还是求最大值(最后面的值),就能判断是用模板1(求最小),还是用模板2(求最大)。之后再根据模板1,或模板2,写出对应的判断条件;但是,我们不建议死记模板,更重要的是在理解之后的灵活变通。比如,再看一个题。分原创 2024-06-19 20:21:41 · 633 阅读 · 0 评论 -
算法竞赛icpc之二分(1)
很多人对二分感到很苦恼,很困惑,可能是因为二分的边界很难掌握,也许是判断条件难写…可能你听说过,二分查找和二分答案是不是一回事呢?答案是否定的。二分查找只是单纯的查找就可以了,简单的控制好边界条件。而二分答案也许稍复杂些。原创 2024-06-19 18:07:51 · 255 阅读 · 0 评论