1 条题解
-
2
很明显,要想占用内存尽量大,就要把 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; }
- 1
信息
- ID
- 118
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 4
- 已通过
- 3
- 上传者