Advertisement
Kevin_Zhang

Untitled

Oct 28th, 2020
1,028
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.31 KB | None | 0 0
  1. void sos(int *dp, bool inv) {
  2.     if (!inv) {
  3.         for (int i = 0;i < n;++i)
  4.             for (int s = 0;s < 1<<n;++s)
  5.                 if (s>>i&1) {
  6.                     add(dp[s], dp[s^(1<<i)]);
  7.                 }
  8.     }
  9.     else {
  10.         for (int i = n-1;i >= 0;--i)
  11.             for (int s = 0;s < 1<<n;++s)
  12.                 if (s>>i&1) {
  13.                     add(dp[s], p - dp[s^(1<<i)]);
  14.                 }
  15.     }
  16. }
  17.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement