題目傳送門
\(gcd(i,j)−1\)的證明
對於斜邊上的任何一點 \((x,y)\), 其滿足:
\[\large \frac=\frac
\]注意:\(a≤x≤c,b≤y≤d\)
可知:$$\large \displaystyle y=\frac(x-a)+b=\frac}}(x-a)+b
\\rightarrow
\y=\frac*\frac}+b \ \ \ x \in z^+
\[那麼如果使得 $y∈z^+$ 的話,必須使得 $\large \displaystyle \frac|(x-a)$,即:
$$\large x=\frac*q+a\]
對於條件 \(b≤y≤d\) 上述式子是由直線方程推出的,因此其在方程中等價於 \(a≤x≤c\), 因此我們只需要考慮 \(x\) 的範圍限制即可:
\[\large a≤x=\frac*q+a≤c
\\ \rightarrow
0 ≤ q ≤ gcd(d-b,c-a)
\]\(q\) 可以取這個區間中的所有整數,因此數量為 \(gcd(d−b,c−a)+1\)
然後我們分析對於區間中的任意乙個點 \((x,y)\), 由於上面 \(q\) 的範圍可知 \(a≤x≤c\), 因此均在斜邊上不加上兩個端點的話,就是 \(gcd(d−b,c−a)−1\)
本題使用容斥原理的思想
題目給定長是\(n\),寬是\(m\)的矩形,因此總端點數有\((n + 1) * (m + 1)\)個,從總端點數選\(3\)個點的情況有
\(\large \displaystyle c_^3\)種,再將不符合三角形規則的情況減去即可,即三角形的數目= \(\large \displaystyle c_^3\)-不滿足要求的情況(三點共線)
不滿足的情況
2497 數三角形
題目描述 小b有乙個僅包含非負整數的陣列a,她想知道有多少個三元組 i,j,k 滿足i輸入 第一行輸入乙個正整數n,表示陣列a中元素個數 第二行n個非負整數,表示a中元素,以空格隔開 其中0 n 1000,a中任意元素a i 滿足0 a i 1000。輸出 輸出乙個數,表示滿足題意的三元組個數 輸入...
AcWing898 數字三角形
1.題目描述 給定乙個如下圖所示的數字三角形,從頂部出發,在每一結點可以選擇移動至其左下方的結點或移動至其右下方的結點,一直走到底層,要求找出一條路徑,使路徑上的數字的和最大。7 3 8 8 1 0 2 7 4 4 4 5 2 6 5輸入格式 第一行包含整數n,表示數字三角形的層數。接下來n行,每行...
acwing 898 數字三角形
給定乙個如下圖所示的數字三角形,從頂部出發,在每一結點可以選擇移動至其左下方的結點或移動至其右下方的結點,一直走到底層,要求找出一條路徑,使路徑上的數字的和最大。7 3 8 8 1 0 2 7 4 4 4 5 2 6 5輸入格式 第一行包含整數 n,表示數字三角形的層數。接下來 n 行,每行包含若干...