zoukankan      html  css  js  c++  java
  • 联考day6

    A:过河

    贪心
    每次都让蛤尽可能向后跳
    每次都跑就可以了
    如果用vector会T掉
    set就可以A掉

    还有一种O(n)算法
    考虑上面的构造
    如果将所有蛤一起考虑
    就类似于一个滑动窗口
    开一个队列
    每次都让最后面的蛤跳到前面
    如果跳不到前面就直接扔掉
    时刻维护队列元素个数最小值
    最后跳到对岸后 就是答案





    B:选数

    Trie树
    容易看出小r的操作就是将x左移一位 如果高位溢出就在低位补全
    假定小r在i时使用技能
    小r的操作其实可以转化为将i之前的所有操作及初始的x都左移一位
    因为位运算不会进位 所以是对的
    枚举小r在什么时刻进行操作
    发现操作序列只有m+1种
    把操作扔到Trie树上
    但是和普通Trie树不一样的地方是
    这里类似于给定操作序列 求原数

    考虑当前的操作序列其实是小r掌握的
    即无论选多少 小r可以选择向左或者向右
    所以如果在某个节点 有0 1 两个儿子
    那么该节点对答案就没有贡献
    因为无论选多少 小r都会使更劣的一方走
    但是如果在某个节点只有一个儿子
    那么只要原数是儿子的对立面
    那么异或之后显然还是可以对答案造成贡献的
    因此统计答案就显然了
    每次到达叶子节点 记录下当前的答案
    如果大于ans 就把ans更新 cnt置为1
    等于ans就让cnt++




    C:数列




    D:模板




    如初见 与初见
  • 相关阅读:
    面向对象程序设计寒假作业3
    面向对象程序设计编程题完善1.0
    jq分片上传,可拖动上传
    给富文本框的头添加title
    vue的富文本编辑器使用,并且添加显示当前输入字数
    超出省略号
    关于缓存 windwo.localStorage和sessionStorage
    复制框里的内容
    同一标签添加多个背景图
    函数里添加超链接
  • 原文地址:https://www.cnblogs.com/HISKrrr/p/13849064.html
Copyright © 2011-2022 走看看