• LibreOJ β Round #2


    题解:

    都是不错的技巧题目

    t1暴力就不说了

    t2dp是比较显然的

    然后发现都是0,1用bitset优化

    代码非常短

    t3容易发现这个东西在不断合并

    于是我们想到启发式合并

    存疑:splay启发式合并复杂度

    为了比较简单用了set的启发式合并

    线段树启发式合并可以做到nlogn

    updata的时候计算一下左二子最大值和右儿子最小值的差就行了

    t4是看题解的。。

    拓展了在trie树上实现排序的思维

    其实还是比较简单的

    我们对于排序的元素,都搞到trie树上

    然后显然就类似于二分查找了

    至于全局xor一个数,只要记录一下就可以了,在这一位为1的时候我们交换左右儿子

    为了实现方便我们可以不真的交换,只是在这一次改变

    对于那些当前还是无序的

    我们开个队列记着

    怎么支持xor操作呢

    f[i][j]表示前i个,第j位为1的有几个

    代码调了好久。。trie树没怎么写过。。少搞了最后一层

  • 相关阅读:
    419. Battleships in a Board
    150. Evaluate Reverse Polish Notation
    153. Find Minimum in Rotated Sorted Array
    319. Bulb Switcher
    223. Rectangle Area
    iOS 常用到的宏#define
    VRAR 使用 SceneKit
    VR、AR、MR定义区别
    Swift 开源项目练习应用
    Swift3.0 UITextField
  • 原文地址:https://www.cnblogs.com/yinwuxiao/p/9517794.html
Copyright © 2020-2023  润新知