Did debug, but still not enough
This commit is contained in:
@@ -20,31 +20,36 @@ int main(int argc, char *argv[]) {
|
||||
vector<ll> cnt(n + 1, 0);
|
||||
for (ll i = 0; i < m; ++i) {
|
||||
ll s = rnd.next(1uLL, n);
|
||||
if(cnt[s] == n-1)
|
||||
{
|
||||
i--;
|
||||
continue;
|
||||
}
|
||||
cnt[s]++;
|
||||
}
|
||||
|
||||
unordered_map<ll, ll> selected;
|
||||
unordered_map<ll, ll> M;
|
||||
|
||||
for (ll s = 1; s <= n; ++s) {
|
||||
ll k = cnt[s];
|
||||
if (k == 0) continue;
|
||||
|
||||
selected.clear();
|
||||
M.clear();
|
||||
|
||||
const ll N = n - 1;
|
||||
for (ll i = 0; i < k; ++i) {
|
||||
ll range_size = (n - 1) - i;
|
||||
ll j = rnd.next(1uLL, range_size);
|
||||
ll R = N - i;
|
||||
ll j = rnd.next(1uLL, R);
|
||||
|
||||
ll val_j = selected.count(j) ? selected[j] : j;
|
||||
ll val_last =
|
||||
selected.count(range_size) ? selected[range_size] : range_size;
|
||||
ll val_j = M.count(j) ? M[j] : j;
|
||||
ll val_last = M.count(R) ? M[R] : R;
|
||||
|
||||
M[j] = val_last;
|
||||
|
||||
ll e = (val_j < s) ? val_j : val_j + 1;
|
||||
|
||||
double len = rnd.next(eps, 1.0 / eps);
|
||||
|
||||
println(s, e, len);
|
||||
|
||||
selected[j] = val_last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user