先開始怎麼想都沒有頭緒,後來瞄了一眼discuss,有人說其實每個點的座標只對2的模數有意義。。就有點思路了
總的方法數是c(n,3),再減去不滿足情況的
變形:y1*(x3-x2)+y2*(x1-x3)+y3*(x2-x1)
不滿足情況的是奇+奇+奇……(1)
奇+偶+偶……(2)
(1)將式子以x整理的話,發現變成了偶+偶+偶,因此是不可能成立的
(2)總結出來4種不滿足的情況:
(0,0) (0,1) (1,0)
(0,0) (0,1) (1,1)
(0,0) (1,0) (1,1)
(0,1) (1,0) (1,1)
就把整個問題變成o(n)的複雜度了~~~~
a27400
1809
accepted
620k
79ms
g++852b
2011-09-15 21:56:00
#include<
cstdio
>
#include
<
cstdlib
>
#include
<
cstring
>
#include
<
cmath
>
#include
<
algorithm
>
long
long
map[5][
5];long
long
point[
10010][3
];inline
long
long
cal(
long
long
n)int
main(
void
)long
long
total
=cal(n);
total
-=map[0][
0]*map[0][
1]*map[1][
0];total
-=map[0][
0]*map[0][
1]*map[1][
1];total
-=map[0][
0]*map[1][
0]*map[1][
1];total
-=map[0][
1]*map[1][
0]*map[1][
1];printf(
"%lld\n\n
",total);
}return0;
}
poj 1942 組合數問題
本題很簡單,但處理方法也很特殊,用double來存中間結果,神!同樣的公式,不同的處理方法,效果不同。如 選擇n時一定選小的,節約時間。處理階乘有三種辦法 1 傳統意義上的直接遞迴,n的規模最多到20 太小了,在本題不適用,而且非常慢 2 稍快一點的演算法,就是利用log 化乘為加,n的規模雖然擴充...
POJ 1850 1496 組合數學
poj 1496 word index poj 1850 code 題意 1.每個詞是自增的 2.同樣長度的詞是按字典序排練的 3.我們把這些詞標序 求某個詞的序號 分析 組合數學.推出公式然後用楊輝三角打錶出組合數,具體看 我還是太弱orz.1496 author illuz file 1496....
poj3252 組合數學
題意 給出乙個範圍,然後問這個範圍內有幾個是round number round number也就是轉化二進位制後,的個數大於等於 的個數 思路 這是乙個組合計數的問題 我們拿乙個二進位制長度為 的數舉例子 如果長度為 那麼所有長度為 以下的數字,肯定都是在範圍內的,那麼我們就要找出所有符合條件的數...