https://www.luogu.org/problemnew/show/P1582 要求用最少的瓶子,那肯定不能有两个一样的瓶子,否则合并更优. 枚举其二进制位,每次加上lowbit,将最后一个1加上. 显然最多logn次. #include<bits/stdc++.h> using namespace std; #define ll long long ll n,k; int main(){ cin>>n>>k; bitset<32> b(n); //…
洛谷loj Desription Bob 喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的方法.现在他有个问题. 现在他有座古城堡,古城堡的路形成一棵树.他要在这棵树的节点上放置最少数目的士兵,使得这些士兵能够瞭望到所有的路. 注意:某个士兵在一个节点上时,与该节点相连的所有边都将能被瞭望到. 请你编一个程序,给定一棵树,帮 Bob 计算出他最少要放置的士兵数. Sol 状态: f[i][0]表示i不放士兵时,以i为根的子树所需要的最小士兵数 f[i][1]表示i放士兵时,以i为…