CF1234(Div. 3) 题解(A to E)
1|0A Equalize Prices Again 题解
1|1题目大意
\(n\) 个商品,每个商品价格为 \(a_i\),求一个最小的价格 \(x\),使得不亏本(即 \(\sum\limits_{i=1}^n{(a_i-x)}\ge0\))。
1|2解题思路
输出平均数向上取整(即 \(\left\lceil(\sum\limits_{i=1}^n{a_i})\div n\right\rceil\))即可。
1|3代码
2|0B1 & B2 Social Network 题解
2|1题目大意
维护一个长度最多为 \(k\) 的序列,每次加入一个数 \(x\),如果 \(x\) 在序列中,则不进行任何操作。否则将 \(x\) 插入序列头部,序列长度超过 \(k\) 时舍弃超出的部分。求所有操作结束后序列的长度和内容。
2|2解题思路
模拟,用 STL 里的 deque 和 map 来维护。
先将第一个聊天记录存入双端队列中,并标记一下。
再遍历一下,如果这个元素没有标记过,则插进双端队列的队首。
如果插入后双端队列的长度大于了 \(k\),那么将队尾的元素弹出,并取消标记。
2|3代码
3|0C Pipes 题解
3|1题目大意
给定 \(2 \times n\) 的管道网络,给出每个格子的管道类型,每个格子可以旋转任意次 \(90\) 度。求从 \((1, 0)\) 向右流入的水流是否能够从 \((2, n)\) 向右流出。
3|2解题思路
从终点出发,可以发现只有对于这两种水管都只有一种选择的可能,我们这样就必然可以推导到下一个位置,如果不能那么就说明不能通水。
3|3代码
4|0D Distinct Characters Queries 题解
4|1题目大意
一个字符串 \(s\),和 \(q\) 个操作(包括以下两个):
1 pos c
将 \(s_{\text{pos}}\) 上的字符变为 \(c\)。2 l r
询问 \([l,r]\) 中有多少个不同的字符。
4|2解题思路
树状数组板子题。
4|3代码
5|0E Special Permutations 题解
5|1题目大意
定义排列 \(p_i(n) = [i, 1, 2, \dots\, i - 1, i + 1, \dots, n]\),定义 \(pos(p, val)\) 表示 \(val\) 在排列 \(p\) 中的位置,给定序列 \(x\),定义函数 \(f(p) = \sum\limits_{i=1}^{m - 1} |pos(p, x_i) - pos(p, x_{i + 1})|\),求 \(f(p_1)\) 到 \(f(p_n)\)。
5|2解题思路
模拟、数学。我们可以发现排列的变化:
第 \(i\) 个排列与第 \(i-1\) 个排列,只有两个数字的位置不同,这说明我们在计算第 \(i\) 个排列的答案时,只需要考虑在上一个答案的基础上,单独计算变动位置的那两个数字所产生的影响即可。
5|3代码
__EOF__

本文链接:https://www.cnblogs.com/cyf1208/p/17742517.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)