程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UVA 10951 Polynomial GCD 多項式歐幾裡德求最大公共多項式

UVA 10951 Polynomial GCD 多項式歐幾裡德求最大公共多項式

編輯:C++入門知識

今天作比賽遇上了HDU3892,都分析出來怎麼做了,可惜不會求多項式的最大公共多項式,當時寫了半天,案例也沒有跑出來,賽後搜了一下題解,發現有大神做出了,而且是有模版的,不過又搜了一下關於這方面的題目,很少,只發現了這一道,所以先做一下這一道吧


題意,給你兩個多項式,求他們的最大公共多項式,然後輸出即可,無齒的套用了別人的模版,呵呵!


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#define ll long long
#define LL __int64
#define eps 1e-8

//const ll INF=9999999999999;

#define inf 0xfffffff

using namespace std;


//vector > G;
//typedef pair P;
//vector> ::iterator iter;
//
//mapmp;
//map::iterator p;

vector G[100000 + 5];

int MOD;

void clear() {
	for(int i=0;i<2;i++)
		G[i].clear();
}

int quick(int a,int b) {
	int ans = 1;
	while(b) {
		if(b&1) {
			ans = (ans * a)%MOD;
			b--;
		}
		b >>= 1;
		a = a * a%MOD;
	}
	return ans;
}

/*多項式求最大公共項*/
vector poly_gcd(vector a,vector b) {
	if(b.size() == 0) 
		return a;
	int t = a.size() - b.size();
	vector c;
	for(int i=0;i<=t;i++) {
		int tmp =  a[i] * quick(b[0],MOD-2)%MOD;
		for(ll j=0;j

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved