時間限制: 1 sec 記憶體限制: 128 mb
題目描述
bemy為了不讓學佛fife過度驕傲,以保證每乙個學水都能不被他影響,自信地不斷地進步,給fife乙個有挑戰性的數學題。
因為fife不想讓妹子maze等得太久,決定把這道題交給你。
題目是這樣的:有乙個表示式(b+e+s+s+i+e)(g+o+e+s)(m+o+o)
其中b,e,s,i,g,o,m為七個變數(注意「o」是變數不是0)。
對於每個變數,bemy會告訴fife這個變數所代表的各個可能值。
bemy想問問fife這樣乙個問題:原表示式有多少種可能的情況,使表示式的值為偶數。(只要有乙個變數的值不同,即為一種情況)
輸入第一行輸入包含乙個整數n。
下乙個n 行每行包含乙個變數名稱和乙個這個變數可以使用的值。
注:每個變數在整張表中不會出現多於20 次。
同乙個變數不存在兩個相同的值。所有給出的值都在-300……300 之間。
輸出列印出乙個整數,表示有多少種方法使表示式的值為乙個偶數。
樣例輸入
10
b 2e 5
s 7i 10
o 16
m 19
b 3g 1
i 9m 2
樣例輸出6
思路:
題目要求表示式值為偶數,其實我們只要保證有乙個括號內的和是偶數,就能確定整個表示式的值是偶數。
先看第乙個括號內的數,b+i+s+s+e+e,因為偶數 + 偶數 = 偶數,又因為s+s+e+e 是偶數,所以我們只要確定 b + i 是不是偶數,就可以判斷這個括號內的數字之和是不是偶數,也就是說這個括號和的奇偶是由 b + i 決定的,同理,第二個括號由 g + o + e + s 決定,第三個括號由 m 決定。
接下來我們把第乙個括號的和為偶數的情況設為 a 類;
第二個括號的和為偶數的情況設為 b 類;
第三個括號的和為偶數的情況設為 c 類;
根據容斥原理得:
(a∪b∪c = a+b+c - a∩b - b∩c - c∩a + a∩b∩c)
( 文字翻譯為a類和b類和c類元素個數總和= a類元素個數+ b類元素個數+c類元素個數—既是a類又是b類的元素個數—既是a類又是c類的元素個數—既是b類又是c類的元素個數+既是a類又是b類而且是c類的元素個數。)
此式結果就是我們想要的答案
下面是**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using
namespace std;
typedef
long
long ll;
const
int n=
2e5+10;
char s[7]
=;vector<
int>v[
200]
;int n,m,fa,fb,fc,oa,ob,oc;
//後 6個變數分別代表第
一、二、三個括號內所有的方案數
char ch;
//與第
一、二、三括號內數字和為偶數的方案數
intmain()
fa=v[s[0]
].size()
*v[s[1]
].size()
; fb=v[s[2]
].size()
*v[s[3]
].size()
*v[s[4]
].size()
*v[s[5]
].size()
; fc=v[s[6]
].size()
;for
(int i=
0;i].
size()
;i++)}
for(
int i=
0;i].
size()
;i++)}
}}for(
int i=
0;i].
size()
;i++
) ll ans=oa*fb*fc+ob*fa*fc+oc*fa*fb-oa*ob*fc-oa*oc*fb-ob*oc*fa+oa*ob*oc;
//(a∪b∪c = a+b+c - a∩b - b∩c - c∩a + a∩b∩c)
cout
}
hdu 4135,數學 容斥
題意 求 a,b 區間裡面,與c互質的數的個數。範圍 0分析 先將c分解質因數,根據c的範圍可以判斷質數的範圍不超過x個。x 自己線性篩素數後,從小到大乘一下,看當乘到多少個的時候,積大於10 9,則可以判斷c的最多質因數個數 假設c的質因數有2,3,5 則 a,b 區間裡,包含質因數2的數的個數為...
數學知識 容斥原理
容斥原理 aubuc a b c a b a c b c a b c a 表示集合a中元素的個數 推廣 例題 能被整除的數 給定乙個整數n和m個不同的質數p1,p2,pm。請你求出1 n中能被p1,p2,pm中的至少乙個數整除的整數有多少個。輸入格式 第一行包含整數n和m。第二行包含m個質數。輸出格...
UPC5727小奇遐想 樹狀陣列 容斥
時間限制 1 sec 記憶體限制 128 mb 提交 285 解決 58 提交 狀態 討論版 命題人 admin 題目描述 擷來一縷清風飄渺 方知今日書信未到 窗外三月天霽垂柳新長枝條 風中鳥啼猶帶歡笑 清風醉夢 小奇望著青天中的悠悠白雲,開始了無限的遐想,在它的視野中,恰好有n朵高度不同的白雲排成...