如何判定乙個n維整數向量能否用m個n維整數向量的非負整數倍數之和表示?

時間 2021-06-01 21:47:04

1樓:喵小黑

這和frobenius問題有什麼聯絡呢

f問題是說ax+by=c的正整數解存在性和c的關係 c≥ab-a-b+1就一定有解更多元的會複雜些

2樓:rsa

如果n=1,那麼問題就是判斷y能否由若干個v_1,v_2,...,v_m組合得到。設V=max,當min<-max時可以把所有數取相反數,故假設V≥0;當V=0時只有y=0能得到,故假設V>0。

此時有一種O(Vm)複雜度的做法:建立V個結點u_0,u_1,...,u_,對每個u_i和j,如果i+v_j<0,連一條長度為-1的有向邊(u_i,u_),否則如果i+v_j該演算法正確性顯然:

y = k_1v_1 + k_2v_2 + ... + k_mv_m,k_i ∈ N 有解,等價於 k_2v_2 + k_3v_3 + ... + k_mv_m = y (mod v_1),k_i ∈ N 且 k_2v_2 + k_3v_3 + ...

+ k_mv_m <= y 有解。

實際上V不用取最大的乙個v_i,可以取任意乙個v_i,不過那樣的話邊的長度就不只是0和1了。

n>1的情況本人沒有什麼好的想法,並不會用相同的複雜度解決。

證明對於每個實數x都存在乙個整數n使得n x n 1,證明過程有些繁瑣,可以簡化嗎?

Snorri 根據對稱性,考慮x大於0的情況。1.不存在比所有正整數都大的實數,所以R x 不是空集。2.正整數的任何非空子集都有最小元素,所以存在n 0 min R x 3.按照n 0 的定義,n 0 1 小於等於x。所以n 0 1就是要找的數。如果x小於0,考慮 x,把上述過程中的R x 改成R...

將乙個正整數n分解成幾個正整數相加,可以有多種分解方法,有公式嗎?

雲淺知處 本文使用 Zhihu On VSCode 創作並發布 我們抓來 個小可愛,排成一排。現在如果想把 分成 個正整數的和,那就相當於把這 個小可愛分成 組,每組都至少有乙個小可愛。分成 組,就相當於在這一排小可愛中選 個空,在這個空這裡放一堵牆,把正在玩石頭剪刀布的小可愛隔開qwq。比如 八個...

有乙個正整數N可以分解成若干個正整數之和,問如何分解能使這些數的乘積最大?求詳細解釋。

莫問君 591順便這也是和信安數學基礎 群論 裡乙個問題相關,就是在置換群大小確定的情況下,最大的置換週期是多少 星辰 首先是 1 吃飯不幹活 a b a b 大概就是這個意思,公式還有一點限制條件 2 2 4 2 3 5 2 4 6 3 3 6 3 4 7 綜合比較之下,是不是3 最划算 呢? 1...