為武漢助威!
大佬:真·小學奧數
我:?怎麼算啊?
\(ps\):本來想切個綠題就滾去寫文化課,結果......憋了好長時間。
總算剛了出來,開始誤入列舉白邊的黑洞(這個字有鍋吧?!)出不來了。
主要思路:
\[ans=c_^3-\text=\dfrac-\text
\]那麼不同色的三元環數咋算呢,我們發現可以枚每個點,記錄其發出的不同色邊對數,最後累加會發現每個三元環都記錄了兩次,除一下即可,對於乙個點發出的黑白邊數讀入白邊時從黑邊裡減即可。
為什麼正確呢,我們發現不同色的三元環只有兩種情況:
白白黑,黑黑白。
這樣其三個頂點有兩個具有不同的邊對,即統計了兩次。
記得開\(long\;long\)。
這樣時間複雜度是\(o(n+m)\)的,可以通過本題。
#include#includeusing namespace std;
typedef long long ll;
const int maxn=100005;
int m,l,r;
ll n,sum=0,w[maxn],b[maxn],now=0;//black and white
int main()
sum=n*(n-1)*(n-2)/6;
for(int i=1;i<=n;i++) now+=b[i]*w[i];
printf("%lld\n",sum-now/2);
return 0;
}
解題報告 luogu P4378
神似 online judge 的 t2 如果考之前做了這題多好,然後就果斷抄了那個題的 你會發現很相似 注意 ans 1 因為最後還要檢查一遍,當然有跟簡單的做法,但是找逆序對最好了 並不好寫 include include include include includeusing namespa...
解題報告 luogu P2015
其實就是這題的雙倍經驗啦。動態轉移方程是 f i j max f i j f i i k 1 f i k e i w 這裡 f i j 代表從以 i 為根的子樹中合法留 j 個樹枝的最大剩餘值。include include includeconst int maxn 105 using names...
luogu P1006 傳紙條解題報告
題目傳送門 小淵和小軒是好朋友也是同班同學,他們在一起總有談不完的話題。一次素質拓展活動中,班上同學安排做成乙個m行n列的矩陣,而小淵和小軒被安排在矩陣對角線的兩端,因此,他們就無法直接交談了。幸運的是,他們可以通過傳紙條來進行交流。紙條要經由許多同學傳到對方手裡,小淵坐在矩陣的左上角,座標 1,1...