bitset
Louise_Z
这个作者很懒,什么都没留下…
展开
-
bitset+暴力——校门外的树
bitset内置的伟大函数——count()(一个bitset类型中值为1的位数) 将被移走的树g值赋为1 被移走的树总数即为g.count() 剩下树的数量就是总树数减去被移走的树数 即l+1-g.count()原创 2017-09-05 21:49:59 · 256 阅读 · 0 评论 -
bitset+递归——幂次方
判断当前数x是否小于等于2 (1)如果小于等于2 则当前数x无需再分解 判断x是否为1 1)如果不是 输出x 2)如果是1 不输出 返回 (2)如果x大于2 则当前数x不能直接输出 而需要继续分解 用bitset对当前数x进行二进制分解为p 因为题目范围n<=20000 所以二进制最多有15位 for由大到小循环判断位i的值p[i]是否为1 1)如果为1 判断当前层是否已经有数输出 ( w=1 -> 已经有数输出 w=0 -> 目前还没有数输出 ) ①如果有(w=1原创 2017-09-11 20:49:40 · 274 阅读 · 0 评论 -
bitset+暴力——校门外的树(增强版)
bitset大法好! 洛谷的数据水我会说吗?! 纯模拟就好了:) g[i]记录经过包括挖和种的操作后i位置的状态(是否有树) k[i]记录经过挖操作后i位置的状态 g.count()为剩下的包括树苗和原树的树的个数 k.count()为剩下的原树的个数 g.count()-k.count()即为剩下的树苗的个数 如果i位置没有树且正要种树苗 标记i点k[i]为1 砍树时 如果当前点i的g[i]为1(有树)且k[i]为1(为树苗) 则该点为种上又被砍掉的树苗 记录该点(num[++top]=i) 由于num数原创 2017-10-12 20:36:00 · 597 阅读 · 0 评论