• 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 aji<aij转化成 [ a j ⊕ j = a i ⊕ i ] 0... k − 1 [a_j \oplus j = a_i \oplus i]_{0...k-1} [ajj=aii]0...k1并且 [ a j ] k ⊕ [ i ] k < [ a i ] k ⊕ [ j ] k [a_j]_k \oplus [i]_k < [a_i]_k \oplus [j]_k [aj]k[i]k<[ai]k[j]k其中 [ ] k []_k []k代表二进制的第k位置。这样子就可以在 a i ⊕ i a_i \oplus i aii上做前缀树了!
      • 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