File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -15,14 +15,16 @@ using namespace cp_algo;
15
15
constexpr int mod = 998244353 ;
16
16
constexpr int imod = -math::inv2(mod);
17
17
18
- template <int maxn = 100'000 >
18
+ template <bool use_bump_alloc = false , int maxn = 100'000 >
19
19
vector<int > facts (vector<int > const & args) {
20
20
constexpr int accum = 4 ;
21
21
constexpr int simd_size = 8 ;
22
22
constexpr int block = 1 << 18 ;
23
23
constexpr int subblock = block / simd_size;
24
24
using T = array<int , 2 >;
25
- using alloc = bump_alloc<T, 30 * maxn>;
25
+ using alloc = conditional_t <use_bump_alloc,
26
+ bump_alloc<T, 30 * maxn>,
27
+ allocator<T>>;
26
28
basic_string<T, char_traits<T>, alloc> odd_args_per_block[mod / subblock];
27
29
basic_string<T, char_traits<T>, alloc> reg_args_per_block[mod / subblock];
28
30
constexpr int limit_reg = mod / 64 ;
You can’t perform that action at this time.
0 commit comments