![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
CSP
CSP
MaolinYe(叶茂林)
事情没有想象中的那么复杂,也没有想象中的那么简单
展开
-
CSP 201403-1 相反数
用两个优先队列,一个记录正数升序排序,一个记录负数降序排序,然后在两个队列都不为空的情况下取二者top相加与0比较大小,如果等于0,那么相反数的数目增加一对并同时弹出队列,如果小于0,那么弹出正数队列,如果大于0,那么弹出负数队列。原创 2023-09-11 21:46:17 · 253 阅读 · 0 评论 -
CSP 201312-1 出现次数最多的数
用两个map,一个map记录每个数出现的次数并降序排序,另一个map将次数作为键,数本身作为值,降序排序,搞定。原创 2023-09-11 21:11:17 · 179 阅读 · 0 评论 -
CSP 202104-1 灰度直方图
就是记录每个数出现的次数,用C++的map就行。原创 2023-09-11 20:44:31 · 169 阅读 · 0 评论 -
CSP 202109-1 数值推导
一眼看上去好像有点复杂,稍微想一下就知道,最大值就是把所有B加起来,最小值就是把不重复的B加起来,用set搞定不重复的元素。原创 2023-09-11 20:28:08 · 108 阅读 · 0 评论 -
CSP 202305-2 垦田计划
换个思路,之前的思路都是一个一个的减的,测试样例最大达到了10亿,不能一个一个的减了,先将所有天数相同的合并在一起并从大到小排序,再将前一个的天数降到后一个天数并相加资源,下面这个代码可以拿到85分,错误。经过多次测试,终于发现是当m原创 2023-09-10 15:59:52 · 181 阅读 · 0 评论 -
CSP 202112-1 序列查询
我们直接观察样例,15=(5-2)*1+(8-5)*2+(10-8)*3。这道题不难,但如果直接去实现查询f(x)的话,算法效率会非常低。所以我们可以写出下面程序。原创 2023-09-09 16:51:37 · 123 阅读 · 0 评论 -
CSP 202203-1 未初始化警告
要注意是xi和yi的范围,yi可以是0为常数。原创 2023-09-09 16:30:08 · 146 阅读 · 0 评论 -
CSP 202206-1 归一化处理
【代码】CSP 202206-1 归一化处理。原创 2023-09-09 15:59:19 · 123 阅读 · 0 评论 -
CSP 202209-1 如此编码
CSP 202209-1 如此编码。原创 2023-09-09 15:43:08 · 232 阅读 · 0 评论 -
CSP 202212-1 现值计算
CSP 202212-1 现值计算。原创 2023-09-09 15:05:39 · 168 阅读 · 0 评论 -
CSP 202303-1 田地丈量
首先写一个计算面积的函数,既然大小固定就省去了比较,然后是将在范围之外的矩阵给忽略掉,接下来将碰到的矩阵大小缩小为范围之内的,累加即可。原创 2023-09-05 10:34:16 · 138 阅读 · 0 评论 -
CSP 202305-2 矩阵运算
最关键的是由于d远远小于n,所以先计算KTV得到的dxd大小的矩阵要远远小于先计算QKT得到的nxn大小的矩阵,无论是存储上还是计算上都会大大减少时间。而且矩阵运算涉及到三层循环,可以利用cache机制减少取值时间,先将右矩阵转置再计算。注意数值范围用int已经不行了,必须要用long long。原创 2023-09-04 18:47:08 · 165 阅读 · 0 评论 -
CSP 202305-1 重复局面
接下来 8×� 行,依次输入第 1 到第 � 步棋后的局面。具体来说每行包含一个长度为 8 的字符串,每 8 行字符串共 64 个字符对应一个局面。国际象棋每一个局面可以用大小为 8×8 的字符数组来表示,其中每一位对应棋盘上的一个格子。第 6、7 步后的局面分别与第 2、3 步后的局面相同。第 8 步后的局面与上图相对应。现已按上述方式整理好了每步棋后的局面,试统计每个局面分别是第几次出现。输入的第一行包含一个正整数 �,表示这盘棋总共有 � 步。输出共 � 行,每行一个整数,表示该局面是第几次出现。原创 2023-09-02 16:31:22 · 1147 阅读 · 0 评论