int n; cin>>n; //先选择一个队长 int res=n; //选择队长后,剩下n-1个人,子集为2的(n-1)次方 for(int i=1;i<=n-1;i++) { res = res*2%(1000000000+7); } cout<<res; 时间复杂度O(n)