NOIp提高組2014 解方程

2022-05-10 05:28:09 字數 869 閱讀 9565

求方程

\[\sum_^a_ix^i=0

\]在\([1,m]\)內的整數解

\(1 \leq |a_i| \leq 10^,a_i\neq 0,1 \leq n \leq 100,1 \leq m<10^6\)

最樸素的做法就是嘗試所有解,判斷左邊多項式值是否為零

但還有乙個高精問題(如果你真要用高精我也不攔你)

可以考慮一種類雜湊做法,如果所有運算都對乙個大質數取模,答案的正確性基本可以保證,而且可以省掉高精

實測計算左側多項式秦九昭演算法和直接算的時間相差不大(只要你不是用快速冪算的)

\(o(nm)\)做法,貌似\(10^8\)再加一堆*%運算,卡常?

沒錯,我在calc函式內寫ret*=x;ret+=x[i];ret%=p就被卡掉qaq

#include#include#includeconst long long p=998244353;

int n,m;

long long x[200];

int all;

std::vectorv;

void read(long long &x)

x=ch&15;

while (isdigit(ch=getchar()))

if (flag) x=-x+p;

}long long calc(int x)

int main()

} printf("%d\n",all);

for (std::vector::iterator it=v.begin();it!=v.end();it++) printf("%d\n",*it);

}

NOIP提高組2014 解方程

題面 解方程 思路 首先你會發現資料非常毒瘤,a i 10 最開始以為要寫高精度,等了要完模板之後 沒錯我這麼辣雞怎麼會高精 才發現,根本用不著23333 因為其 n 比較小,可以考慮 hash 的思想,把 a i 都 乙個大質數,就避免了高精度,具體實現就是在讀入的時候 inline ll rea...

NOIP2014提高組 解方程

noip2014 提高組 day2 試題。已知多項式方程 a0 a1 x a2 x2 an xn 0 求這個方程在 1,m 內的整數解 n 和 m 均為正整數 輸入共 n 2 行。第一行包含 2 個整數 n m,每兩個整數之間用乙個空格隔開。接下來的 n 1 行每行包含乙個整數,依次為 a0,a1,...

NOIP2014提高組 解方程

題目傳送門 習慣性放洛谷的鏈結 這一題看起來資料範圍巨大無比,需要使用各種玄學方法,看了題解後整個人懵逼了.對於30 的資料,0 該資料範圍直接高精度,在 1,m 的範圍內暴力列舉即可。時間複雜度為 o n m len 其中 len 表示高精度計算過程中數字的位數。對於50 的資料 0 我們考慮用秦...