洛谷P2312 解方程題解

2022-03-14 22:18:50 字數 1151 閱讀 8922

已知多項式方程:

\[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0

\]求這個方程在 \([1,m]\) 內的整數解(\(n\) 和 \(m\) 均為正整數)。

輸入共 \(n + 2\) 行。

第一行包含 \(2\) 個整數 \(n, m\) ,每兩個整數之間用乙個空格隔開。

接下來的 \(n+1\) 行每行包含乙個整數,依次為 \(a_0,a_1,a_2\ldots a_n\).

第一行輸出方程在 \([1,m]\) 內的整數解的個數。

接下來每行乙個整數,按照從小到大的順序依次輸出方程在 [1,m][1,m] 內的乙個整數解。

2 101-2

1112 102-3

1212

2 1013

20說明/提示

對於 $ 30 % $ 的資料:\(0,\(|a_i|\le 100\),\(a_n≠0\),\(m<1000\)

對於 $ 50 % $ 的資料:\(0

對於 $ 70 % $ 的資料:\(0。

對於 $ 100 % $ 的資料:\(0。

秦九韶公式 + 快讀

輸入要注意,因為輸入的\(a[i]\)範圍比較大,

所以就對乙個質數取模

從\(1\)到\(m\)進行列舉,列舉的是\(x\),

然後利用秦九韶公式進行求解

如果返回的值是\(0\),那麼就記錄

反之繼續。

#include #include #include #include #include #include #include #include #include #define max 105

#define re register

#define d double

#define int long long

int n,m,a[max],ans = 0, ans[1000012];

const int mod = 19260817;

int read()

while(ch >= '0' && ch <= '9')

return s * f;

}int work(int x)

void main()

signed main()

洛谷p2312 解方程

清明培訓qwq,明天就要回學校了qwq拒絕 行吧我洛谷都四天沒碰了 解方程 傳送門 演算法標籤 作為乙個提高 省選 的題 丁大佬真的很有幽默感emmm include const long long mod int 1e9 7 const int maxn 100 5 const int maxm ...

洛谷 P2312 解方程

已知多項式方程 a 0 a 1x a 2x 2 a nx n 0 用latex好看多了 求這個方程在 1,m 內的整數解 n 和m 均為正整數 輸入格式 輸入檔名為equation in。輸入共n 2 行。第一行包含2 個整數n m 每兩個整數之間用乙個空格隔開。接下來的n 1 行每行包含乙個整數,...

洛谷P2312 解方程 (Hash 數學)

題目傳送門 題目分析 一道腦洞很大的題 這要是在考場上我絕對暴力高精度水50走人。要判斷乙個很算式的結果是不是0,而且算式中的數字都很大,我們可以將算式中的數字模幾個大質數,看算出來的結果是否都為0。於是這題我們將每個係數模幾個大質數,再暴力將 1,m 中的數代入檢驗,就有70分了。至於100分 要...