7.17笔记

  • \(shuffle(\ begin,\ end,\ 随机数函数\ )\) (打乱数组)
  • \(nth\_element()\) (第 \(k\) 小元素)
  • \(fill\) (填充数组)
  • \(bitset\):
    \(bitset()\) 初始化每一位都是 \(false\)
    \(bitset(val)\) 初始化为 \(val\) 的二进制形式 。
    \(bitset(string)\) 初始化为 01 串 \(string\)
    \(count()\) 返回 \(true\) 的数量。
    \(bitset<size>\ 变量名\) a定义。
  • \(k\) 叉哈夫曼树:补零,补成完全 \(k\) 叉树。
  • 贪心:一种方法是考虑答案的上/下界,然后考虑是否可以达到上/下界与特殊情况。
    lainxiangjiaohuan数组)
  • \(nth\_element()\) (第 \(k\) 小元素)
  • \(fill\) (填充数组)
  • \(bitset\):
    \(bitset()\) 初始化每一位都是 \(false\)
    \(bitset(val)\) 初始化为 \(val\) 的二进制形式 。
    \(bitset(string)\) 初始化为 \(01\)\(string\)
    \(count()\) 返回 \(true\) 的数量。
    \(bitset<size>\ 变量名\) a定义。
  • \(k\) 叉哈夫曼树:补零,补成完全 \(k\) 叉树。(合并果子)
  • 贪心:
    考虑答案的上/下界,然后考虑是否可以达到上/下界与特殊情况。
    邻项交换:交换相邻两个数,与交换之前比较。
    反悔贪心,对于之前的决策,用堆等数据结构维护最值,与当前比较,并重新决策。
    检查贪心正确性:构造反例或与暴力对拍。
  • 前缀和/差分:注意 \(0\)\(n+1\) 这两个位置。
  • 对于中位数/平均数的处理方法:
    中位数:将大于中位数的数设置成 \(1\),反之设置成 \(-1/0\)
    平均数:将所有数减去平均数。
  • 处理线段是可以将线段的左右端点拆出来分别看。加法
  • 一种贪心的思路是数放入堆中,取出堆头,然后将堆头拆成多个数再重新放入堆。[NOI2010] 超级钢琴
posted @ 2025-07-17 10:05  Optimist_Skm  阅读(6)  评论(0)    收藏  举报