- P4's solution
P4's Solution
- 2025-9-4 21:59:15 @
很明显,要想占用内存尽量大,就要把 01 Trie 的结点尽量摊开。
根据数学直觉,当我们均匀选取整数时,01 Trie 的结点可以被最大限度地摊开。
经过暴力检验,在本题的数据范围下,该结论是正确的。
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("memory.in", "r", stdin);
freopen("memory.out", "w", stdout);
int T;
cin >> T;
while (T--)
{
int x, y;
cin >> x >> y;
if (y == 1) cout << 0 << endl;
else
{
int l = (1 << x) - 1;
for (int i = 0; i <= y - 1; i++)
cout << 1ll * l * i / (y - 1) << ' ';
cout << endl;
}
}
return 0;
}