08/06/2022的周末

  • FFT/NTT练习(都是好题)
    • #4836. [Lydsy1704月赛]二元运算:经典的FFT分治,改善了下自己的模板
      • 学习了神奇的CDQ分治,常见于求一些数对(a,b)的问题:
        • 可照某种条件排序得到 [ A 0 . . . A n ] [A_0...A_n] [A0...An]
        • 然后对于每个区间 [ A l . . . A r ] [A_l...A_r] [Al...Ar]
          • (1)递归解决 a , b ∈ [ A l . . . A m i d ] a,b\in[A_l...A_{mid}] a,b[Al...Amid]
          • (2)递归解决 a , b ∈ [ A m i d + 1 . . . A r ] a,b\in[A_{mid+1}...A_r] a,b[Amid+1...Ar]
          • (3)解决 a ∈ [ A l . . . A m i d ] , b ∈ [ A m i d + 1 . . . A r ] a\in[A_l...A_{mid}],b\in[A_{mid+1}...A_r] a[Al...Amid],b[Amid+1...Ar]
        • a , b a,b a,b不一定是一个具体的数字或者对象,可能是一个操作或者一个询问。
        • (种草):刷这上面的题
  • Educational Codeforces Round 133
    • 2-3 Moves: 简单数学
    • Permutation Chain: 简单构造
    • (补)Robot in a Hallway: 一题需要耐心的dp+模拟;起太早没耐心,跑去做T4了 T_T
    • (补)Chip Move: 一个数学+dp。可能是这两周做太多FFT/NTT了,比赛时候一头撞在NTT上了 T_T
    • (good)(补)Swap and Maximum Block: 线段树+区间统计,居然1A了!一开始还想用记忆化搜索,避免不必要的计算。事实证明直接统计所有情况会更快(5x),CF的testcase还是能cover大部分的数据范围的。记忆化搜索的函数调用花销+cache读写其实并不便宜。
    • (good)(补)Bags with Balls: 数学题。学习到了第二类斯特林数(这个题解很好)。求导构造的方式好巧妙
  • Leetcode 第 84 场双周赛
    • 合并相似的物品:map的考察
    • 统计坏数对的数目:数学转换+哈希的考察
    • 任务调度器 II:细节模拟题,算贪心吧
    • 将数组排序的最少替换次数:数学+贪心,比赛时候起太早了阴差阳错没想到然后着急做cf812去了(T_T结果两场都凉凉)
  • Codeforces Round #812 (Div. 2)
    • Traveling Salesman Problem:简单数学
    • Optimal Reduction:构造题,前后缀
    • Build Permutation:找规律构造题
    • Tournament Countdown:博弈+模拟,太可惜了卡着时间没赶上提交T_T(早知道就不做双周赛了)
    • (good) Cross Swapping: 可以构造一种特殊的并查集,每个结点有多种(这里是2)形态:
      • 每个<结点i,形态u>都有一个对应的<结点j,形态v>。相同结点i的不同形态u1, u2…应该有同一个祖先结点j,但是祖先形态v可能不一样。(若祖先不同其实可以拆开u1,u2到两个结点去)
      • 相同结点的不同形态之间应该有对应关系。
        • 比如结点<i, u1>与<j, u2>关联,那应该有一个方法找出<i, u1>与<j, u1>的关系(否则可能无法路径压缩,比如此时<j, u1>与<k, u1>关联,我们应该能把i和k关联)。
      • 递归找祖先的时候跟普通的并查集寻根一样,路径压缩就好。
      • 处理union的时候,输入应该是<结点i,形态u>和<结点j,形态v>,直接把它们关联就好(也可以把它们转化到别的形态进行关联)。
    • (种草)Lost Array: 一个开眼界的题,暂时不想学了,涉及到快速莫比乌斯变换(好家伙)。
  • 第 305 场周赛
    • 算术三元组的数目:模拟题
    • 受限条件下可到达节点的数目:图论,简单遍历就可以了
    • 检查数组是否存在有效划分:简单dp
    • 最长理想子序列:中等难度dp,看到不同的字符限制就应该想到怎么在这维度上做功夫
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值