Untitled
unknown
plain_text
a year ago
2.3 kB
10
Indexable
#pragma GCC optimize("O3")
#pragma GCC optimize ("unroll-loops")
#pragma GCC optimize ("Ofast,no-stack-protector", "omit-frame-pointer", "inline", "-ffast-math")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.2,fma,popcnt,abm,mmx,avx")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
#define fi first
#define se second
#define pp push_back
#define all(x) (x).begin(), (x).end()
#define Ones(n) __builtin_popcount(n)
#define endl '\n'
#define mem(arrr, xx) memset(arrr,xx,sizeof arrr)
#define PI acos(-1)
//#define int long long
#define debug(x) cout << (#x) << " = " << x << endl
void Gamal() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
#ifdef Clion
freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
#endif
}
int dx[] = {+0, +0, -1, +1, +1, +1, -1, -1};
int dy[] = {-1, +1, +0, +0, +1, -1, +1, -1};
const double EPS = 1e-9;
const ll OO = 0X3F3F3F3F3F3F3F3F;
const int N = 1e5 + 5, INF = INT_MAX, MOD = 1e9 + 7, LOG = 17;
int cnt[1 << LOG],a[N],vid;
pii dp[LOG][1 << LOG][2];
int vis[LOG][1 << LOG][2];
pii slv(int bit,int msk,int odd){
if(!~bit){
if(odd)return {cnt[msk],cnt[msk]};
else return {0,cnt[msk]};
}
pii &ret = dp[bit][msk][odd];
if(vis[bit][msk][odd] == vid)
return ret;
vis[bit][msk][odd] = vid;
ret = slv(bit-1,msk,odd);
if(msk >> bit & 1){
pii y = slv(bit-1,msk ^ (1 << bit),odd ^ 1);
ret.fi += y.fi + (!odd) * y.se;
ret.se += y.se;
}
else{
pii y = slv(bit-1,msk ^ (1 << bit),odd);
ret.fi += y.fi + y.se;
ret.se += y.se;
}
return ret;
}
void solve() {
int n;cin >> n;
for (int i = 0; i < n; ++i) {
cin >> a[i];
cnt[a[i]]++;
}
vid++;
int ans = 1e9;
for (int msk = 0; msk < 1 << LOG; ++msk) {
ans = min(ans,slv(LOG - 1,msk,false).first);
}
cout << ans << endl;
for (int i = 0; i < n; ++i) {
cnt[a[i]]--;
}
}
signed main() {
Gamal();
int t = 1;
cin >> t;
while (t--) {
solve();
}
}Editor is loading...
Leave a Comment