This documentation is automatically generated by online-judge-tools/verification-helper
#ifndef call_from_test
#include <bits/stdc++.h>
using namespace std;
#define call_from_test
#include "../combinatorics/enumeration.cpp"
#undef call_from_test
#endif
// http://beet-aizu.hatenablog.com/entry/2019/09/27/224701
//BEGIN CUT HERE
template<typename M_>
struct FormalPowerSeries : Enumeration<M_> {
using M = M_;
using super = Enumeration<M>;
using super::fact;
using super::finv;
using super::invs;
using Poly = vector<M>;
using Conv = function<Poly(Poly, Poly)>;
Conv conv;
FormalPowerSeries(Conv conv):conv(conv){}
Poly pre(const Poly &as,int deg){
return Poly(as.begin(),as.begin()+min((int)as.size(),deg));
}
Poly add(Poly as,Poly bs){
int sz=max(as.size(),bs.size());
Poly cs(sz,M(0));
for(int i=0;i<(int)as.size();i++) cs[i]+=as[i];
for(int i=0;i<(int)bs.size();i++) cs[i]+=bs[i];
return cs;
}
Poly sub(Poly as,Poly bs){
int sz=max(as.size(),bs.size());
Poly cs(sz,M(0));
for(int i=0;i<(int)as.size();i++) cs[i]+=as[i];
for(int i=0;i<(int)bs.size();i++) cs[i]-=bs[i];
return cs;
}
Poly mul(Poly as,Poly bs){
return conv(as,bs);
}
Poly mul(Poly as,M k){
for(auto &a:as) a*=k;
return as;
}
bool is_zero(Poly as){
return as==Poly(as.size(),0);
}
void shrink(Poly &as){
assert(not is_zero(as));
while(as.back()==M(0)) as.pop_back();
}
// F(0) must not be 0
Poly inv(Poly as,int deg);
// not zero
Poly div(Poly as,Poly bs);
// not zero
Poly mod(Poly as,Poly bs);
// F(0) must be 1
Poly sqrt(Poly as,int deg);
Poly diff(Poly as);
Poly integral(Poly as);
// F(0) must be 1
Poly log(Poly as,int deg);
// F(0) must be 0
Poly exp(Poly as,int deg);
// not zero
Poly pow(Poly as,long long k,int deg);
// x <- x + c
Poly shift(Poly as,M c);
};
//END CUT HERE
#ifndef call_from_test
//INSERT ABOVE HERE
signed main(){
return 0;
}
#endif
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/onlinejudge_verify/languages/cplusplus.py", line 187, in bundle
bundler.update(path)
File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 400, in update
raise BundleErrorAt(path, i + 1, "unable to process #include in #if / #ifdef / #ifndef other than include guards")
onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt: formalpowerseries/base.cpp: line 6: unable to process #include in #if / #ifdef / #ifndef other than include guards