據說這個模板可以解決任何線性遞推式,聽說是杜教的,只要我們手推遞推式的前幾項,然後扔進這個板子就哦了,我的天,前幾項丟的越多越好,8個以上就穩了(打臉了,有的題還是要多要一點)剛剛遇到乙個導8個沒用,導了50個就ok了。
#includeusing namespace std;
#define rep(i,a,n) for (int i=a;i=a;i--)
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define sz(x) ((int)(x).size())
typedef vectorvi;
typedef long long ll;
typedef pairpii;
const ll mod=1000000007;
ll powmod(ll a,ll b) return res;}
// head
int _,n;
namespace linear_seq
int solve(ll n,vi a,vi b)
}rep(i,0,k) ans=(ans+res[i]*b[i])%mod;
if (ans<0) ans+=mod;
return ans;
}vi bm(vi s)
printf("%d\n",linear_seq::gao(v,n-1));
}}
杜教BM線性遞推自動化模板
這是乙個超厲害的模板,功能是輸入前幾項,能夠自動推導公式 前提 公式必須是線性的,前幾項越多越好,一般不低於8項,不然推出來不準確。原理 暫時沒搞清楚,聽說是利用矩陣來推導。include include include include include include include include...
杜教BM模板
據說這個bug級模板可以求線性遞推式的第n項,只要手推遞推式的前幾項,放入模板就能求出第n項,前幾項求出的的越多越好,一般推出前8項就可以,但是有的題還是要多幾項。這個模板也就拿來水一下線上賽,結合oeis食用效果更佳。注意替換 中的mod。例 4ms include using namespace...
BM線性遞推
如果乙個數列 其能夠通過線性遞推而來 例如使用矩陣快速冪優化的 dp 大概都可以丟進去 則使用 bm 即可得到任意 n 項的數列元素 模板 include include include include include include include include include includeu...