diff --git a/.verify-helper/timestamps.remote.json b/.verify-helper/timestamps.remote.json index fcc8c8235..57b623de5 100644 --- a/.verify-helper/timestamps.remote.json +++ b/.verify-helper/timestamps.remote.json @@ -1,21 +1,21 @@ { "tests/library_checker_aizu_tests/convolution/gcd_convolution.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/convolution/lcm_convolution.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/convolution/min_plus_convolution.test.cpp": "2026-07-08 09:28:48 -0700", +"tests/library_checker_aizu_tests/convolution/min_plus_convolution.test.cpp": "2026-07-10 19:12:24 -0700", "tests/library_checker_aizu_tests/convolution/xor_convolution.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/data_structures/binary_search_example.test.cpp": "2026-07-06 13:10:16 -0700", -"tests/library_checker_aizu_tests/data_structures/binary_trie.test.cpp": "2026-07-08 09:28:48 -0700", -"tests/library_checker_aizu_tests/data_structures/bit.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/bit_inc.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/bit_inc_walk.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/bit_ordered_set.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/bit_rupq.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/bit_rurq.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/bit_walk.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/data_structures/deque.test.cpp": "2026-07-06 13:49:19 -0700", -"tests/library_checker_aizu_tests/data_structures/deque_index.test.cpp": "2026-07-06 13:49:19 -0700", -"tests/library_checker_aizu_tests/data_structures/deque_op.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/data_structures/deque_sliding_window.test.cpp": "2026-07-06 13:49:19 -0700", +"tests/library_checker_aizu_tests/data_structures/binary_trie.test.cpp": "2026-07-10 19:12:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit_inc.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit_inc_walk.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit_ordered_set.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit_rupq.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit_rurq.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/bit_walk.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/deque.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/deque_index.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/deque_op.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/deque_sliding_window.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/data_structures/disjoint_rmq_inc.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/data_structures/disjoint_rmq_inc_lines.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/data_structures/disjoint_rmq_inc_sum.test.cpp": "2026-07-09 23:01:31 -0500", @@ -24,11 +24,11 @@ "tests/library_checker_aizu_tests/data_structures/kd_bit_1d.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/data_structures/kth_smallest_pst.test.cpp": "2026-07-07 10:02:09 -0700", "tests/library_checker_aizu_tests/data_structures/kth_smallest_wavelet_matrix.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree_constructor.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree_inc.test.cpp": "2026-07-06 13:10:16 -0700", -"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree_inc_constructor.test.cpp": "2026-07-06 13:10:16 -0700", -"tests/library_checker_aizu_tests/data_structures/merge_sort_tree.test.cpp": "2026-07-06 13:10:16 -0700", +"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree_constructor.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree_inc.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/lazy_segment_tree_inc_constructor.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/merge_sort_tree.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/data_structures/mode_query.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/data_structures/permutation_tree.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/data_structures/persistent_queue_tree.test.cpp": "2026-07-07 10:02:09 -0700", @@ -37,14 +37,14 @@ "tests/library_checker_aizu_tests/data_structures/rmq_linear.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/data_structures/rmq_sparse_table.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/data_structures/rmq_sparse_table_inc.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_inc.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_inc_line.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_inc_queue.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_inc_walk.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_line.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_queue.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/data_structures/simple_tree_walk.test.cpp": "2026-07-09 23:01:31 -0500", +"tests/library_checker_aizu_tests/data_structures/simple_tree.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_inc.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_inc_line.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_inc_queue.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_inc_walk.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_line.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_queue.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/data_structures/simple_tree_walk.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/dsu/dsu.test.cpp": "2026-02-27 15:26:53 -0700", "tests/library_checker_aizu_tests/dsu/dsu_bipartite.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/dsu/dsu_weighted_aizu.test.cpp": "2026-07-07 12:06:00 -0700", @@ -79,27 +79,27 @@ "tests/library_checker_aizu_tests/handmade_tests/edge_cd_small_trees.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/handmade_tests/fib_matrix_expo.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/handmade_tests/functional_graph.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/handmade_tests/hilbert_mos.test.cpp": "2026-07-07 12:06:00 -0700", +"tests/library_checker_aizu_tests/handmade_tests/hilbert_mos.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/handmade_tests/kd_bit.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/handmade_tests/kth_par.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/handmade_tests/manacher.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/handmade_tests/merge_st_and_wavelet.test.cpp": "2026-07-07 12:06:00 -0700", +"tests/library_checker_aizu_tests/handmade_tests/kth_par.test.cpp": "2026-07-10 19:12:24 -0700", +"tests/library_checker_aizu_tests/handmade_tests/manacher.test.cpp": "2026-07-10 19:12:24 -0700", +"tests/library_checker_aizu_tests/handmade_tests/merge_st_and_wavelet.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/handmade_tests/mobius.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/handmade_tests/mod_division.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/handmade_tests/n_choose_k.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/handmade_tests/permutation_tree_small.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/handmade_tests/rmq_small_n.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/handmade_tests/sa_find_subarray.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/handmade_tests/seg_tree_find.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/handmade_tests/seg_tree_find_small.test.cpp": "2026-07-07 12:06:00 -0700", -"tests/library_checker_aizu_tests/handmade_tests/seg_tree_midpoint.test.cpp": "2026-07-07 09:17:02 -0700", +"tests/library_checker_aizu_tests/handmade_tests/seg_tree_find.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/handmade_tests/seg_tree_find_small.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/handmade_tests/seg_tree_midpoint.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/handmade_tests/xor_basis_walk.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/loops/chooses.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/loops/quotients.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/loops/submasks.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/loops/supermasks.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/math/binary_matrix_mult.test.cpp": "2026-07-06 13:10:16 -0700", -"tests/library_checker_aizu_tests/math/count_paths.test.cpp": "2026-07-07 21:14:10 -0700", +"tests/library_checker_aizu_tests/math/count_paths.test.cpp": "2026-07-10 19:12:24 -0700", "tests/library_checker_aizu_tests/math/derangement.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/math/matrix_determinant.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/math/matrix_mult.test.cpp": "2026-07-06 13:10:16 -0700", @@ -108,7 +108,7 @@ "tests/library_checker_aizu_tests/math/partitions.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/math/prime_sieve.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/math/solve_linear_mod.test.cpp": "2026-07-08 09:28:48 -0700", -"tests/library_checker_aizu_tests/math/tetration.test.cpp": "2026-07-06 10:41:44 -0700", +"tests/library_checker_aizu_tests/math/tetration.test.cpp": "2026-07-10 19:12:24 -0700", "tests/library_checker_aizu_tests/math/totient.test.cpp": "2024-11-17 14:04:03 -0600", "tests/library_checker_aizu_tests/math/xor_basis_intersection.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/monotonic_stack_related/cartesian_binary_tree.test.cpp": "2026-07-07 12:06:00 -0700", @@ -120,9 +120,9 @@ "tests/library_checker_aizu_tests/strings/lcp_query_palindrome.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/strings/lcp_query_zfunc.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/strings/lcs_dp.test.cpp": "2026-07-06 13:10:16 -0700", -"tests/library_checker_aizu_tests/strings/lcs_queries.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/strings/lcs_queries_merge_sort_tree.test.cpp": "2026-07-06 13:10:16 -0700", -"tests/library_checker_aizu_tests/strings/manacher.test.cpp": "2026-07-07 12:06:00 -0700", +"tests/library_checker_aizu_tests/strings/lcs_queries.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/strings/lcs_queries_merge_sort_tree.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/strings/manacher.test.cpp": "2026-07-10 19:12:24 -0700", "tests/library_checker_aizu_tests/strings/multi_matching_bs.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/strings/prefix_function.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/strings/sa_cmp.test.cpp": "2026-07-09 23:01:31 -0500", @@ -133,18 +133,18 @@ "tests/library_checker_aizu_tests/strings/trie.test.cpp": "2026-07-06 13:10:16 -0700", "tests/library_checker_aizu_tests/strings/wildcard_pattern_matching.test.cpp": "2026-07-07 12:06:00 -0700", "tests/library_checker_aizu_tests/trees/cd_count_paths_per_length.test.cpp": "2026-07-08 09:28:48 -0700", -"tests/library_checker_aizu_tests/trees/edge_cd_contour_range_query.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/trees/edge_cd_contour_range_update.test.cpp": "2026-07-09 22:46:18 -0600", +"tests/library_checker_aizu_tests/trees/edge_cd_contour_range_query.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/trees/edge_cd_contour_range_update.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/trees/edge_cd_count_paths_per_length.test.cpp": "2026-07-08 09:28:48 -0700", "tests/library_checker_aizu_tests/trees/edge_cd_reroot_dp.test.cpp": "2026-07-08 09:28:48 -0700", -"tests/library_checker_aizu_tests/trees/hld_aizu1.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/trees/hld_aizu2.test.cpp": "2026-07-08 22:13:09 -0500", -"tests/library_checker_aizu_tests/trees/hld_lib_checker_path.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/trees/hld_lib_checker_subtree_edges.test.cpp": "2026-07-09 22:46:18 -0600", -"tests/library_checker_aizu_tests/trees/hld_lib_checker_subtree_nodes.test.cpp": "2026-07-09 22:46:18 -0600", +"tests/library_checker_aizu_tests/trees/hld_aizu1.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/trees/hld_aizu2.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/trees/hld_lib_checker_path.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/trees/hld_lib_checker_subtree_edges.test.cpp": "2026-07-10 16:56:24 -0700", +"tests/library_checker_aizu_tests/trees/hld_lib_checker_subtree_nodes.test.cpp": "2026-07-10 16:56:24 -0700", "tests/library_checker_aizu_tests/trees/kth_path_hagerup.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/trees/kth_path_ladder.test.cpp": "2026-07-09 23:01:31 -0500", -"tests/library_checker_aizu_tests/trees/kth_path_linear.test.cpp": "2026-07-09 23:01:31 -0500", +"tests/library_checker_aizu_tests/trees/kth_path_linear.test.cpp": "2026-07-10 19:12:24 -0700", "tests/library_checker_aizu_tests/trees/kth_path_tree_lift.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/trees/lca_all_methods_aizu.test.cpp": "2026-07-09 23:01:31 -0500", "tests/library_checker_aizu_tests/trees/lca_all_methods_lib_checker.test.cpp": "2026-07-09 23:01:31 -0500", diff --git a/library/data_structures_[l,r)/bit_uncommon/walk.hpp b/library/data_structures_[l,r)/bit_uncommon/walk.hpp index 40ce10d7a..5ce6bfcae 100644 --- a/library/data_structures_[l,r)/bit_uncommon/walk.hpp +++ b/library/data_structures_[l,r)/bit_uncommon/walk.hpp @@ -1,7 +1,7 @@ int walk(ll sum) { if (sum <= 0) return -1; int r = 0; - for (int i = bit_floor(size(s)); i; i /= 2) + for (int i = bit_floor(size(s)); i; i >>= 1) if (r + i <= sz(s) && s[r + i - 1] < sum) sum -= s[(r += i) - 1]; return r; diff --git a/library/data_structures_[l,r)/seg_tree.hpp b/library/data_structures_[l,r)/seg_tree.hpp index bac1c034d..b631705db 100644 --- a/library/data_structures_[l,r)/seg_tree.hpp +++ b/library/data_structures_[l,r)/seg_tree.hpp @@ -27,12 +27,12 @@ template struct tree { tree(int n, T unit, F op): n(n), unit(unit), op(op), s(2 * n, unit) {} void update(int i, T val) { - for (s[i += n] = val; i /= 2;) + for (s[i += n] = val; i >>= 1;) s[i] = op(s[2 * i], s[2 * i + 1]); } T query(int l, int r) { T x = unit, y = unit; - for (l += n, r += n; l < r; l /= 2, r /= 2) { + for (l += n, r += n; l < r; l >>= 1, r >>= 1) { if (l % 2) x = op(x, s[l++]); if (r % 2) y = op(s[--r], y); } diff --git a/library/data_structures_[l,r)/uncommon/hilbert_mos.hpp b/library/data_structures_[l,r)/uncommon/hilbert_mos.hpp index a81753bad..103aa6edb 100644 --- a/library/data_structures_[l,r)/uncommon/hilbert_mos.hpp +++ b/library/data_structures_[l,r)/uncommon/hilbert_mos.hpp @@ -11,7 +11,7 @@ ll hilbert(int x, int y) { ll d = 0, mx = 1; while (mx <= max(x, y)) mx *= 4; - for (int s = mx / 2; s; s /= 2) { + for (int s = mx >> 1; s; s >>= 1) { bool rx = x & s, ry = y & s; d = d * 4 | (ry * 3 ^ rx); if (!rx) { diff --git a/library/data_structures_[l,r]/seg_tree.hpp b/library/data_structures_[l,r]/seg_tree.hpp index cc64fd368..518565cba 100644 --- a/library/data_structures_[l,r]/seg_tree.hpp +++ b/library/data_structures_[l,r]/seg_tree.hpp @@ -30,7 +30,7 @@ template struct tree { n(n), op(op), s(2 * n, unit) {} #include "seg_tree_uncommon/init.hpp" void update(int i, T val) { - for (s[i += n] = val; i /= 2;) + for (s[i += n] = val; i >>= 1;) s[i] = op(s[2 * i], s[2 * i + 1]); } T query(int l, int r) { diff --git a/library/math/tetration_mod.hpp b/library/math/tetration_mod.hpp index 9a80d32a9..bc0ab8406 100644 --- a/library/math/tetration_mod.hpp +++ b/library/math/tetration_mod.hpp @@ -13,7 +13,7 @@ ll bin_exp(ll b, ll e, int mod) { ll res = 1; if ((b %= mod) < 0) b += mod; - for (; e; b = b * b % mod, e /= 2) + for (; e; b = b * b % mod, e >>= 1) if (e & 1) res = res * b % mod; return res; } diff --git a/library/strings/binary_trie.hpp b/library/strings/binary_trie.hpp index 49c3f65db..4bd38d98c 100644 --- a/library/strings/binary_trie.hpp +++ b/library/strings/binary_trie.hpp @@ -18,7 +18,7 @@ struct binary_trie { binary_trie(): t(1) {} void update(ll num, int delta) { int v = 0; - for (ll bit = mx_bit; bit; bit /= 2) { + for (ll bit = mx_bit; bit; bit >>= 1) { bool b = num & bit; if (t[v].nxt[b] == -1) { t[v].nxt[b] = sz(t); @@ -31,7 +31,7 @@ struct binary_trie { ll walk(ll num) { int v = 0; ll res = 0; - for (ll bit = mx_bit; bit; bit /= 2) { + for (ll bit = mx_bit; bit; bit >>= 1) { bool b = num & bit; int u = t[v].nxt[b]; if (u != -1 && t[u].siz > 0) v = u, res |= num & bit; diff --git a/library/trees/uncommon/linear_kth_par.hpp b/library/trees/uncommon/linear_kth_par.hpp index 97af8f76c..030b7823c 100644 --- a/library/trees/uncommon/linear_kth_par.hpp +++ b/library/trees/uncommon/linear_kth_par.hpp @@ -50,7 +50,7 @@ struct linear_kth_par { assert(0 <= k && k <= d[u]); if (k == 0) return u; int anc_d = d[u] - k, bc = bit_ceil(k + 0u); - int t = (tin[u] + bc / 2) & -bc; + int t = (tin[u] + (bc >> 1)) & -bc; int i = idx[jmp[t].at(bit_width((d_tour[t] - anc_d) / 2u))]; return lad[i + d[lad[i]] - anc_d]; diff --git a/tests/library_checker_aizu_tests/math/count_paths.test.cpp b/tests/library_checker_aizu_tests/math/count_paths.test.cpp index 8c89f2455..67eb6aa31 100644 --- a/tests/library_checker_aizu_tests/math/count_paths.test.cpp +++ b/tests/library_checker_aizu_tests/math/count_paths.test.cpp @@ -13,7 +13,7 @@ #undef modpow ll modpow(ll b, ll e) { ll res = 1; - for (; e; b = b * b % 998'244'353, e /= 2) + for (; e; b = b * b % 998'244'353, e >>= 1) if (e & 1) res = res * b % 998'244'353; return res; }