要滿足體面所說三元組,需x < y < z && y-x == z-y && color_x == color_z
首先我們考慮暴力的解法:
for
(int y=
1;y<=n;y++)}
}
1.y-x = z-y --> 2*y = x+z -->即(x+z)肯定為偶數,即x與z需同奇或同偶
2.y = (z+x)/2 -->即便x與z再大只要x,z<= n, y#include
#include
using
namespace std;
long
long a[2]
[100001];
long
long b[2]
[100001];
long
long c[2]
[100001];
long
long d[2]
[100001];
long
long g[
100001];
long
long n,m;
const
int p =
10007
;int
main()
long
long sum=0;
for(
int i=
1;i<=m;i++
)//最後過一遍顏色,計算每個顏色的加和就ok
cout
}/*這裡給出注釋:
g[x]表示題目給出的每個塊上面的數字
a[0][x]表示顏色為 x 的塊且位置為偶數的位置累加和
a[1][x]表示顏色為 x 的塊且位置為奇數的位置累加和
b[0][x]表示顏色為 x 的塊且塊在偶數字置,塊上的數字的累加和
b[1][x]表示顏色為 x 的塊且塊在奇數字置,塊上的陣列的累加和
c[0][x]表示顏色為 x 的塊,偶數字置的塊有多少個
c[1][x]表示顏色為 x 的塊,奇數字置的塊有多少個
d[0][x]表示顏色為 x 的塊,偶數字置i*g[i](自己乘自己)的累加和
d[0][x]表示顏色為 x 的塊,奇數字置i*g[i](自己乘自己)的累加和
*/
第二次周賽題解
e題,不懂的看新生訓練題解 includeint main return 0 d題,乙個預處理就ok includeint a 1000005 int main int t scanf d t while t return 0 c題,打表找下規律,會發現是以1 1 2 0 2 2 1 0為迴圈 in...
第二次周賽題解
位址 a 組成三位數 列舉第乙個數,第二個數第三個數根據關係算出來,然後判斷是否合法就行了。include define rep i,a,b for int i a i b i using namespace std int vis 10 bool fun int n return true boo...
第二次周賽HDU 1019題解
第一行輸入乙個整型數n,表示有n組資料,每組資料一行,每組資料報含m 1個整型數,第乙個數字m表示後面有m個數字,計算出這m個數字的最小公倍數。歐幾里得演算法,首先算出最小公約數,然後用最小公約數可以算出最小公倍數。例如 a,b的最大公約數是c,那麼a,b的最小公倍數為a b c。ac通過的c 語言...