本文整理汇总了C++中Polynomial::size方法的典型用法代码示例。如果您正苦于以下问题:C++ Polynomial::size方法的具体用法?C++ Polynomial::size怎么用?C++ Polynomial::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Polynomial
的用法示例。
在下文中一共展示了Polynomial::size方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
Polynomial<Type> operator*(const Polynomial<Type> &x, const Polynomial<Type> &y)
{
Polynomial<Type> result; result.resize(x.size() + y.size() - 1);
for(size_t f = 0; f < x.size(); ++ f)
for(size_t s = 0; s < y.size(); ++ s)
result[f + s] = result[f + s] + x[f] * y[s];
return result;
}
示例2: main
int main() {
#ifndef __WATASHI__
freopen("stable.in", "r", stdin);
freopen("stable.out", "w", stdout);
#endif
scanf("%d", &Polynomial::r);
Polynomial p = readPolynomial();
Polynomial q = readPolynomial();
vector<vector<int> > v(2, vector<int>(Polynomial::r));
for (int i = 0; i < Polynomial::r; ++i) {
v[0][i] = p(i);
v[1][i] = q(i);
}
gao(v[0]);
gao(v[1]);
BigInteger ans(1);
vector<int> w(Polynomial::r, 0);
for (int i = 0; i < Polynomial::r; ++i) {
if (v[0][i] == -1 || v[1][i] == -1) {
w[i] = -1;
}
}
for (int i = 0; i < Polynomial::r; ++i) {
if (w[i] != 0) {
continue;
}
vector<int> q(1, i);
for (int j = 0; j < (int)q.size(); ++j) {
switch (w[v[0][q[j]]]) {
case -1: goto NEXT;
case 0: q.push_back(v[0][q[j]]);
default: w[v[0][q[j]]] |= 1;
}
switch (w[v[1][q[j]]]) {
case -1: goto NEXT;
case 0: q.push_back(v[1][q[j]]);
default: w[v[1][q[j]]] |= 2;
}
}
ans *= 2;
NEXT:
for (int j = 0; j < (int)q.size(); ++j) {
w[q[j]] = -1;
}
}
writeBigInteger(ans);
return 0;
}
示例3: result
SynapsTraits<QQ>::SolverPolynomial
SynapsTraits<QQ>::
convert(const Polynomial& p)
{
SolverPolynomial result(1, p.size() - 1);
assert(result.size() == p.size());
ZZ denominator_product = 1;
for (unsigned int i = 0; i < p.size(); ++i)
denominator_product *= SYNAPS::denominator(p[i]);
for (unsigned int i = 0; i < p.size(); ++i)
result[i] = SYNAPS::numerator(p[i]) * denominator_product /
SYNAPS::denominator(p[i]);
return result;
}