Skip to content

Commit

Permalink
[auto-verifier] docs commit 5169250
Browse files Browse the repository at this point in the history
  • Loading branch information
web-flow authored Sep 5, 2024
1 parent 15bb3d3 commit 299f7f5
Show file tree
Hide file tree
Showing 12 changed files with 97 additions and 98 deletions.
18 changes: 9 additions & 9 deletions fps/FPS_differetial.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ data:
attributes:
links: []
bundledCode: "#line 2 \"fps/FPS_differetial.hpp\"\n#include <vector>\n\nnamespace\
\ po167{\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T> f){\n\
\ if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n\
\ f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n return f;\n\
}\n}\n"
code: "#pragma once\n#include <vector>\n\nnamespace po167{\ntemplate <class T>\n\
std::vector<T> FPS_differential(std::vector<T> f){\n if (f.empty()) return\
\ f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n f[i] = f[i + 1]\
\ * (T)(i + 1);\n }\n f.pop_back();\n return f;\n}\n}"
\ po167{\n// return f'\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\ f){\n if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1;\
\ i++){\n f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n \
\ return f;\n}\n}\n"
code: "#pragma once\n#include <vector>\n\nnamespace po167{\n// return f'\ntemplate\
\ <class T>\nstd::vector<T> FPS_differential(std::vector<T> f){\n if (f.empty())\
\ return f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n f[i] =\
\ f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n return f;\n}\n}"
dependsOn: []
isVerificationFile: false
path: fps/FPS_differetial.hpp
Expand All @@ -46,7 +46,7 @@ data:
- fps/FPS_log.hpp
- fps/FPS_inverse.hpp
- fps/FPS_pow.hpp
timestamp: '2024-06-19 00:51:37+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/comp_inverse.test.cpp
Expand Down
18 changes: 9 additions & 9 deletions fps/FPS_exp.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ data:
\ for (int i = 0; i < (int)f.size(); i++) f[i] *= g[i];\n atcoder::internal::butterfly_inv(f);\n\
\ T iz = (T)(1) / (T)(f.size());\n for (int i = 0; i < (int)f.size(); i++)\
\ f[i] *= iz;\n return f;\n}\n}\n#line 3 \"fps/FPS_differetial.hpp\"\n\nnamespace\
\ po167{\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T> f){\n\
\ if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n\
\ f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n return f;\n\
}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate <class T>\n\
std::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty()) return f;\n\
\ std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] = 1;\n num_inv[1]\
\ = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size(); i++){\n\
\ num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ po167{\n// return f'\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\ f){\n if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1;\
\ i++){\n f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n \
\ return f;\n}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate\
\ <class T>\nstd::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty())\
\ return f;\n std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] =\
\ 1;\n num_inv[1] = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size();\
\ i++){\n num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ + 1);\n f.push_back(0);\n for (int i = (int)f.size() - 1; i > 0; i--){\n\
\ f[i] = f[i - 1] * num_inv[i];\n }\n f[0] = 0;\n return f;\n\
}\n}\n#line 4 \"fps/FPS_inv.hpp\"\n\nnamespace po167{\n// return 1 / f\ntemplate\
Expand Down Expand Up @@ -108,7 +108,7 @@ data:
requiredBy:
- fps/FPS_inverse.hpp
- fps/FPS_pow.hpp
timestamp: '2024-06-19 01:01:33+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/comp_inverse.test.cpp
Expand Down
18 changes: 9 additions & 9 deletions fps/FPS_inverse.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ data:
\ for (int i = 0; i < (int)f.size(); i++) f[i] *= g[i];\n atcoder::internal::butterfly_inv(f);\n\
\ T iz = (T)(1) / (T)(f.size());\n for (int i = 0; i < (int)f.size(); i++)\
\ f[i] *= iz;\n return f;\n}\n}\n#line 3 \"fps/FPS_differetial.hpp\"\n\nnamespace\
\ po167{\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T> f){\n\
\ if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n\
\ f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n return f;\n\
}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate <class T>\n\
std::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty()) return f;\n\
\ std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] = 1;\n num_inv[1]\
\ = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size(); i++){\n\
\ num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ po167{\n// return f'\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\ f){\n if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1;\
\ i++){\n f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n \
\ return f;\n}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate\
\ <class T>\nstd::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty())\
\ return f;\n std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] =\
\ 1;\n num_inv[1] = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size();\
\ i++){\n num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ + 1);\n f.push_back(0);\n for (int i = (int)f.size() - 1; i > 0; i--){\n\
\ f[i] = f[i - 1] * num_inv[i];\n }\n f[0] = 0;\n return f;\n\
}\n}\n#line 4 \"fps/FPS_inv.hpp\"\n\nnamespace po167{\n// return 1 / f\ntemplate\
Expand Down Expand Up @@ -170,7 +170,7 @@ data:
isVerificationFile: false
path: fps/FPS_inverse.hpp
requiredBy: []
timestamp: '2024-06-24 02:01:01+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/comp_inverse.test.cpp
Expand Down
4 changes: 2 additions & 2 deletions fps/FPS_log.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ data:
attributes:
links: []
bundledCode: "#line 2 \"fps/FPS_log.hpp\"\n#include <vector>\n#line 3 \"fps/FPS_differetial.hpp\"\
\n\nnamespace po167{\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\n\nnamespace po167{\n// return f'\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\ f){\n if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1;\
\ i++){\n f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n \
\ return f;\n}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate\
Expand Down Expand Up @@ -58,7 +58,7 @@ data:
requiredBy:
- fps/FPS_inverse.hpp
- fps/FPS_pow.hpp
timestamp: '2024-06-19 00:51:37+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/comp_inverse.test.cpp
Expand Down
18 changes: 9 additions & 9 deletions fps/FPS_pow.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ data:
\ for (int i = 0; i < (int)f.size(); i++) f[i] *= g[i];\n atcoder::internal::butterfly_inv(f);\n\
\ T iz = (T)(1) / (T)(f.size());\n for (int i = 0; i < (int)f.size(); i++)\
\ f[i] *= iz;\n return f;\n}\n}\n#line 3 \"fps/FPS_differetial.hpp\"\n\nnamespace\
\ po167{\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T> f){\n\
\ if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n\
\ f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n return f;\n\
}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate <class T>\n\
std::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty()) return f;\n\
\ std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] = 1;\n num_inv[1]\
\ = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size(); i++){\n\
\ num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ po167{\n// return f'\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\ f){\n if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1;\
\ i++){\n f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n \
\ return f;\n}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate\
\ <class T>\nstd::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty())\
\ return f;\n std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] =\
\ 1;\n num_inv[1] = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size();\
\ i++){\n num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ + 1);\n f.push_back(0);\n for (int i = (int)f.size() - 1; i > 0; i--){\n\
\ f[i] = f[i - 1] * num_inv[i];\n }\n f[0] = 0;\n return f;\n\
}\n}\n#line 4 \"fps/FPS_inv.hpp\"\n\nnamespace po167{\n// return 1 / f\ntemplate\
Expand Down Expand Up @@ -119,7 +119,7 @@ data:
isVerificationFile: false
path: fps/FPS_pow.hpp
requiredBy: []
timestamp: '2024-06-20 02:45:45+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/pow.test.cpp
Expand Down
8 changes: 4 additions & 4 deletions fps/Multipoint_Evaluation.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ data:
\ for (int i = 0; i < (int)f.size(); i++) r[i] -= f[i];\n while (!q.empty()\
\ && q.back() == 0) q.pop_back();\n while (!r.empty() && r.back() == 0) r.pop_back();\n\
\ return {q, r};\n}\n}\n#line 4 \"fps/Multipoint_Evaluation.hpp\"\n\nnamespace\
\ po167{\ntemplate <class T>\n// return {f(p[0]), f(p[1]), f(p[2]), ... }\nstd::vector<T>\
\ po167{\n// return {f(p[0]), f(p[1]), f(p[2]), ... }\ntemplate <class T>\nstd::vector<T>\
\ Multipoint_Evaluation(\n std::vector<T> f,\n std::vector<T> p\n){\n \
\ int m = p.size();\n if (m == 0) return {};\n if (m == 1){\n T\
\ res = 0;\n T tmp = 1;\n for (auto x : f) res += tmp * x, tmp *=\
Expand All @@ -67,8 +67,8 @@ data:
\ ind * 2 + 1, po167::FPS_division(tmp, prod[ind * 2 + 1]).second);\n };calc(calc,\
\ 0, size, 1, f);\n return res;\n}\n}\n"
code: "#pragma once\n#include <atcoder/convolution>\n#include \"FPS_division.hpp\"\
\n\nnamespace po167{\ntemplate <class T>\n// return {f(p[0]), f(p[1]), f(p[2]),\
\ ... }\nstd::vector<T> Multipoint_Evaluation(\n std::vector<T> f,\n std::vector<T>\
\n\nnamespace po167{\n// return {f(p[0]), f(p[1]), f(p[2]), ... }\ntemplate <class\
\ T>\nstd::vector<T> Multipoint_Evaluation(\n std::vector<T> f,\n std::vector<T>\
\ p\n){\n int m = p.size();\n if (m == 0) return {};\n if (m == 1){\n\
\ T res = 0;\n T tmp = 1;\n for (auto x : f) res += tmp *\
\ x, tmp *= p[0];\n return {res};\n }\n int size = 1;\n while\
Expand All @@ -89,7 +89,7 @@ data:
isVerificationFile: false
path: fps/Multipoint_Evaluation.hpp
requiredBy: []
timestamp: '2024-09-05 05:56:40+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/multpoint_evalution.test.cpp
Expand Down
47 changes: 23 additions & 24 deletions fps/Multipoint_Evaluation_Geo.hpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ data:
\ for (int i = 0; i < (int)f.size(); i++) f[i] *= g[i];\n atcoder::internal::butterfly_inv(f);\n\
\ T iz = (T)(1) / (T)(f.size());\n for (int i = 0; i < (int)f.size(); i++)\
\ f[i] *= iz;\n return f;\n}\n}\n#line 2 \"fps/Multipoint_Evaluation_Geo.hpp\"\
\nnamespace po167{\ntemplate <class T>\n// return {f(ar^0), f(ar^1), f(ar^2),\
\ ... f(ar^{len - 1})}\nstd::vector<T> Multipoint_Evaluation_Geo(\n std::vector<T>\
\nnamespace po167{\n// return {f(ar^0), f(ar^1), f(ar^2), ... f(ar^{len - 1})}\n\
template <class T>\nstd::vector<T> Multipoint_Evaluation_Geo(\n std::vector<T>\
\ f,\n T a, T r, int len = -1\n){\n if (len == -1) len = f.size();\n \
\ if (r == 0){\n T tmp = 1;\n std::vector<T> res(len, f[0]);\n \
\ for (int i = 1; i < (int)f.size(); i++){\n tmp *= a;\n \
Expand All @@ -41,33 +41,32 @@ data:
\ i++){\n res[i - n + 1] = f[i];\n }\n tmpr1 = 1, tmpr2 = 1;\n \
\ for (int i = 0; i < len; i++){\n res[i] *= tmpr2;\n tmpr2 *=\
\ tmpr1;\n tmpr1 *= invr;\n }\n return res;\n}\n}\n"
code: "#include \"FPS_cyclic_convolution.hpp\"\nnamespace po167{\ntemplate <class\
\ T>\n// return {f(ar^0), f(ar^1), f(ar^2), ... f(ar^{len - 1})}\nstd::vector<T>\
\ Multipoint_Evaluation_Geo(\n std::vector<T> f,\n T a, T r, int len = -1\n\
){\n if (len == -1) len = f.size();\n if (r == 0){\n T tmp = 1;\n\
\ std::vector<T> res(len, f[0]);\n for (int i = 1; i < (int)f.size();\
\ i++){\n tmp *= a;\n res[0] += tmp * f[i];\n }\n\
\ return res;\n }\n /*\n X[k] = sum (fi * (ar^k)^i)\n \
\ = sum (fi * a^i * r^{ki})\n = sum (fi * a^i * r^t[k + i] * r^-t[k] *\
\ r^-t[i])\n = r^-t[k] sum r^t[k + i](fi * a^i * r^-t[i])\n */\n \
\ int n = f.size();\n T invr = (T)(1) / (T)(r);\n T tmp = 1, tmpr1 = 1,\
\ tmpr2 = 1;\n for (int i = 0; i < n; i++){\n f[i] *= tmp * tmpr2;\n\
\ tmpr2 *= tmpr1;\n tmpr1 *= invr;\n tmp *= a;\n }\n \
\ std::vector<T> g(n + len - 1);\n tmpr1 = 1, tmpr2 = 1;\n for (int i\
\ = 0; i < n + len - 1; i++){\n g[i] = tmpr2;\n tmpr2 *= tmpr1;\n\
\ tmpr1 *= r;\n }\n std::reverse(f.begin(), f.end());\n int size\
\ = 1;\n while (size < n + len - 1) size *= 2;\n f.resize(size);\n g.resize(size);\n\
\ f = po167::FPS_cyclic_convolution(f, g);\n std::vector<T> res(len);\n\
\ for (int i = n - 1; i < n + len - 1; i++){\n res[i - n + 1] = f[i];\n\
\ }\n tmpr1 = 1, tmpr2 = 1;\n for (int i = 0; i < len; i++){\n \
\ res[i] *= tmpr2;\n tmpr2 *= tmpr1;\n tmpr1 *= invr;\n }\n\
\ return res;\n}\n}\n"
code: "#include \"FPS_cyclic_convolution.hpp\"\nnamespace po167{\n// return {f(ar^0),\
\ f(ar^1), f(ar^2), ... f(ar^{len - 1})}\ntemplate <class T>\nstd::vector<T> Multipoint_Evaluation_Geo(\n\
\ std::vector<T> f,\n T a, T r, int len = -1\n){\n if (len == -1) len\
\ = f.size();\n if (r == 0){\n T tmp = 1;\n std::vector<T> res(len,\
\ f[0]);\n for (int i = 1; i < (int)f.size(); i++){\n tmp *=\
\ a;\n res[0] += tmp * f[i];\n }\n return res;\n }\n\
\ /*\n X[k] = sum (fi * (ar^k)^i)\n = sum (fi * a^i * r^{ki})\n\
\ = sum (fi * a^i * r^t[k + i] * r^-t[k] * r^-t[i])\n = r^-t[k]\
\ sum r^t[k + i](fi * a^i * r^-t[i])\n */\n int n = f.size();\n T invr\
\ = (T)(1) / (T)(r);\n T tmp = 1, tmpr1 = 1, tmpr2 = 1;\n for (int i = 0;\
\ i < n; i++){\n f[i] *= tmp * tmpr2;\n tmpr2 *= tmpr1;\n \
\ tmpr1 *= invr;\n tmp *= a;\n }\n std::vector<T> g(n + len - 1);\n\
\ tmpr1 = 1, tmpr2 = 1;\n for (int i = 0; i < n + len - 1; i++){\n \
\ g[i] = tmpr2;\n tmpr2 *= tmpr1;\n tmpr1 *= r;\n }\n std::reverse(f.begin(),\
\ f.end());\n int size = 1;\n while (size < n + len - 1) size *= 2;\n \
\ f.resize(size);\n g.resize(size);\n f = po167::FPS_cyclic_convolution(f,\
\ g);\n std::vector<T> res(len);\n for (int i = n - 1; i < n + len - 1;\
\ i++){\n res[i - n + 1] = f[i];\n }\n tmpr1 = 1, tmpr2 = 1;\n \
\ for (int i = 0; i < len; i++){\n res[i] *= tmpr2;\n tmpr2 *=\
\ tmpr1;\n tmpr1 *= invr;\n }\n return res;\n}\n}\n"
dependsOn:
- fps/FPS_cyclic_convolution.hpp
isVerificationFile: false
path: fps/Multipoint_Evaluation_Geo.hpp
requiredBy: []
timestamp: '2024-09-05 06:08:07+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: LIBRARY_ALL_AC
verifiedWith:
- test/fps/multpoint_evalution_geo.test.cpp
Expand Down
18 changes: 9 additions & 9 deletions test/fps/comp_inverse.test.cpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ data:
\ for (int i = 0; i < (int)f.size(); i++) f[i] *= g[i];\n atcoder::internal::butterfly_inv(f);\n\
\ T iz = (T)(1) / (T)(f.size());\n for (int i = 0; i < (int)f.size(); i++)\
\ f[i] *= iz;\n return f;\n}\n}\n#line 3 \"fps/FPS_differetial.hpp\"\n\nnamespace\
\ po167{\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T> f){\n\
\ if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1; i++){\n\
\ f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n return f;\n\
}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate <class T>\n\
std::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty()) return f;\n\
\ std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] = 1;\n num_inv[1]\
\ = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size(); i++){\n\
\ num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ po167{\n// return f'\ntemplate <class T>\nstd::vector<T> FPS_differential(std::vector<T>\
\ f){\n if (f.empty()) return f;\n for (int i = 0; i < (int)f.size() - 1;\
\ i++){\n f[i] = f[i + 1] * (T)(i + 1);\n }\n f.pop_back();\n \
\ return f;\n}\n}\n#line 3 \"fps/FPS_integral.hpp\"\n\nnamespace po167{\ntemplate\
\ <class T>\nstd::vector<T> FPS_integral(std::vector<T> f){\n if (f.empty())\
\ return f;\n std::vector<T> num_inv((int)f.size() + 1);\n num_inv[0] =\
\ 1;\n num_inv[1] = 1;\n auto m = T::mod();\n for (int i = 2; i <= (int)f.size();\
\ i++){\n num_inv[i] = (0 - num_inv[m % i]) * (T)(m / i);\n }\n f.reserve((int)f.size()\
\ + 1);\n f.push_back(0);\n for (int i = (int)f.size() - 1; i > 0; i--){\n\
\ f[i] = f[i - 1] * num_inv[i];\n }\n f[0] = 0;\n return f;\n\
}\n}\n#line 4 \"fps/FPS_inv.hpp\"\n\nnamespace po167{\n// return 1 / f\ntemplate\
Expand Down Expand Up @@ -174,7 +174,7 @@ data:
isVerificationFile: true
path: test/fps/comp_inverse.test.cpp
requiredBy: []
timestamp: '2024-07-15 01:10:25+09:00'
timestamp: '2024-09-05 20:11:34+09:00'
verificationStatus: TEST_ACCEPTED
verifiedWith: []
documentation_of: test/fps/comp_inverse.test.cpp
Expand Down
Loading

0 comments on commit 299f7f5

Please sign in to comment.