思路讲解
思路其实就是组合数生成惯用套路+深度控制
组合数生成其实就是从start开始,这样可以保证加入顺序都是从编号小的到编号大的,进而达到无视元素加入顺序的效果。
1 | void dfs(int dep,int start,ull sum){ |
当然,利用异或计算的性质,我们可以控制深度,枚举不选的,而不是枚举选的,以减少计算次数
1 | if(T>N-T){ |
AC代码
AC
https://atcoder.jp/contests/abc386/submissions/62216769
1 |
|
思路其实就是组合数生成惯用套路+深度控制
组合数生成其实就是从start开始,这样可以保证加入顺序都是从编号小的到编号大的,进而达到无视元素加入顺序的效果。
1 | void dfs(int dep,int start,ull sum){ |
当然,利用异或计算的性质,我们可以控制深度,枚举不选的,而不是枚举选的,以减少计算次数
1 | if(T>N-T){ |
AC
https://atcoder.jp/contests/abc386/submissions/62216769
1 | #include <bits/stdc++.h> |