拆位专题

【位运算 拆位法 二分】3007. 价值和小于等于 K 的最大数字

本文涉及知识点 位运算 拆位法 二分查找算法合集 LeetCode3007. 价值和小于等于 K 的最大数字 给你一个整数 k 和一个整数 x 。整数 num 的价值是由它的二进制表示中,从最低有效位开始,x,2x,3x,以此类推,这些位置上 设置位 的数目来计算。下面的表格包含了如何计算价值的例子。 x num Binary Representation Price 1 13 000001

蓝桥杯23年第十四届省赛-异或和之和|拆位、贡献法

题目链接: 蓝桥杯2023年第十四届省赛真题-异或和之和 - C语言网 (dotcpp.com)  1.异或和之和 - 蓝桥云课 (lanqiao.cn) 参考题解:  蓝桥杯真题讲解:异或和之和 (拆位、贡献法)-CSDN博客 洛谷P9236 [蓝桥杯 2023 省 A] 异或和之和 题解_c加加区间异或问题洛谷ir-CSDN博客 说明: 1.需要知道一个重要的结论(图片来自参考题

Codeforces Round #936 (Div. 2)D(拆位贪心)

思路:首先需要知道:如果某一位的数量为奇数,那么无论怎么分都会最终变成1. 整个问题转化成能有多少个隔断选取位置 先将所有数都拆位来看,首先观察那些比x的最高位还要高的位: 如果这些位的数量为奇数, 那么必然会使其位是1,不满足题意直接-1. 如果数量是偶数,那么就会存在若干个不可取区间,然后将这所有区间都合并起来. 然后再从x的最高位逐一往下枚举:如果x的某一位是1.那么有两种选的

Atcoder TUPC 2023(東北大学プログラミングコンテスト 2023)E. And DNA(矩阵快速幂+拆位讨论)

题目 长为n(3<=n<=1e9)的数组,第i个数ai在[0,m](m<=1e9)之间 对于i∈[1,n],均满足a[i]+(a[i-1]&a[i+1])=m,求这样可能的数组的方案数 特别地,认为a[0]=a[n],a[n+1]=a[1],即这个数组是个环形的数组 思路来源 官方题解 题解 从末位考虑, 1. 如果m=0,只能全是0,方案数为1 2. 如果m=1,由于1+(1&

牛客周赛 Round 12 解题报告 | 珂学家 | 异或拆位技巧+加权前缀和

前言 整体评价 感觉前三题还是太简单,但第四题不错,不知道称呼为加权前缀和,还是前缀和的前缀和合适,真的太经典了。 比赛中,唯一的遗憾就是1000000007少写了一个0,哀叹一声。 A. 小美种果树 贪心,即第一天就施肥, 然后3天形成一个循环节, y + 3 * x 然后需要处理下尾巴 import java.io.BufferedInputStream;im

第 374 场周赛 解题报告 | 珂学家 | 拆位前缀和优化+分组滑窗+组合数学

前言 整体评价 这场挺难的,2题手速快的话,也能排一个好的名次。 T3是道经典的题,可以借助拆位前缀和来优化,不过整体的时间复杂度也算蛮高了,好像卡c++的常数了。 T4的组合数学好像超纲了,不过力扣周赛是考过几回了,属于常规超纲知识点。 T1. 找出峰值 class Solution {public List<Integer> findPeaks(int[] moun

【题解 树形dp 拆位】 树上异或

「KDOI-06-S」树上异或 题目描述 给定一棵包含 n n n 个节点的树,第 i i i 个点有一个点权 x i x_i xi​。 对于树上的 n − 1 n-1 n−1 条边,每条边选择删除或不删除,有 2 n − 1 2^{n-1} 2n−1 种选择是否删除每条边的方案。 对于每种删除边的方案,设删除后的图包含 k k k 个连通块,定义这个方案的权值为图中连通块点权