08/20迷迷糊糊但是好题挺多的一周
Weekly Contest 307
赢得比赛需要的最少训练时长: 模拟题 最大回文数字: 贪心 感染二叉树需要的总时间: 图论模拟 (good)找出数组的第 K 大和 : 好题目,据说是amazonOA(这么难吗…)。需要转换问题两次,其中负数的转换很巧妙。 Biweekly 85
得到 K 个黑块的最少涂色次数: 模拟题。双指针可以简化复杂度到O(n) 二进制字符串重新安排顺序需要的时间: 模拟题。 字母移位 II: 把更新平摊在数轴上来优化。不要做什么题都扯到太过高级的数据结构上(比如线段树),这题没有动态跟心,没有必要用线段树。时间复杂度总和更多功能之间有tradeoff的。 删除操作后的最大子段和: 反向处理query把分割操作变成合并操作+并查集。很经典了 Codeforces Round #816 (Div. 2) :
Crossmarket: 贪心 Beautiful Array: 数学+构造 (good)Monoblock : 找规律+数学。
奇妙地把元素之间的关系(如a_1, a_2, a_3),转化成间隙(如、)之间的关系。 (good)2+ doors : 贪心+模拟。 (good)Long Way Home : 好题。最短路+斜率优化dp。之前一直知道斜率优化这个名词但是从来没有学过,这次居然自己推了出来很开心!标程的写法更加优雅(按照交点排序),学习到了。
在遇到dp优化的时候,不妨假设最优的
f
f
f 是从某个
f
′
(
j
)
f'(j)
f ′ ( j ) 来的,这时候
f
′
(
j
)
f'(j)
f ′ ( j ) 应该和其他来源的
f
′
(
j
′
)
f'(j')
f ′ ( j ′ ) 有一个性质(如
f
′
(
j
)
≤
f
′
(
j
′
)
f'(j)\le f'(j')
f ′ ( j ) ≤ f ′ ( j ′ ) ),把公式展开或许就可以发现如何优化这个dp了。 Crop Squares: 脑力IQ题。很巧妙。 Codeforces Round #815 (Div. 2) (离线练习)
好题解 Burenka Plays with Fractions: 简单数学 Interesting Sum: 巧妙的贪心 Corners: 贪心 (good)Xor-Subsequence : 好题目。问题有一个很巧妙的转化就是把
a
j
⊕
i
<
a
i
⊕
j
a_j \oplus i < a_i \oplus j
a j ⊕ i < a i ⊕ j 转化成
[
a
j
⊕
j
=
a
i
⊕
i
]
0...
k
−
1
[a_j \oplus j = a_i \oplus i]_{0...k-1}
[ a j ⊕ j = a i ⊕ i ] 0... k − 1 并且
[
a
j
]
k
⊕
[
i
]
k
<
[
a
i
]
k
⊕
[
j
]
k
[a_j]_k \oplus [i]_k < [a_i]_k \oplus [j]_k
[ a j ] k ⊕ [ i ] k < [ a i ] k ⊕ [ j ] k 其中
[
]
k
[]_k
[ ] k 代表二进制的第k位置。这样子就可以在
a
i
⊕
i
a_i \oplus i
a i ⊕ i 上做前缀树了! Misha and Paintings
相关阅读:
JVM 内存模型
4种实现JS深拷贝的方法
[网络工程师]-传输层协议-UDP协议
【python】anaconda使用指南
在springboot中使用拦截器
简单讲解RabbitMQ
2023最新SSM计算机毕业设计选题大全(附源码+LW)之java宿舍管理系统65x02
【MySQL】数据库基础介绍(使用Navicat和SQLyog演示创建和使用数据库的基本操作)
Ubuntu查看系统版本信息
22.11.16打卡 mysql学习笔记
原文地址:https://blog.csdn.net/Laishao_yuan/article/details/126568234