籃球比賽1(basketball1.*)
czhou為了提高機房裡各種神牛的身體素質,決定在每次訓練後舉行籃球比賽。為了保持比賽公平,
czhou
要將神牛們分成兩隊。首先神牛們賽前都要排成固定的隊伍;然後
czhou
將隊伍分成一半(前一半和後一半隊伍人數可以不等),再分別從兩個隊伍中選出一些人進行籃球比賽。為了保持公平性,
czhou
要求第乙個隊伍參加比賽的神牛能力的
xor值等於第二個隊伍參加比賽的神牛能力的
and值。為了增加比賽趣味,每次比賽的參加神牛們不能一樣,
czhou
現在想知道可以舉辦多少天的比賽。
(很明顯參加比賽的人數不能為
0)xor即為亦或
, 0 xor 0 = 0, 0 xor 1 = 1, 1 xor 0 = 1 , 1 xor 1 = 0
。and即為與
, 0 and 0 = 0, 0 and 1 = 0, 1 and 0 = 0, 1 and 1 = 1
。舉個例子10 and 2 = 10
,10 xor 2 = 8
, 10 = (1010)
2 2 = (10)2 8 =(1000)2
input:basketball1.in
第一行n
,表示機房有
n個神牛。
第二行有n
個數a_i
,表示各個神牛的能力值,並且這是賽前各個神牛的排隊方式。
output: basketball1.out
就乙個數字,表示可以舉辦多少天比賽。由於天數會比較多,輸出結果模1000000007。
sample1.input:
1 2 3
sample1.output
sample2.input
1 2 3 3
sample2.output
樣例1說明:
1 xor 2 = 3
樣例2說明:可以舉辦四天比賽,參加比賽的雙方隊伍分別是(
1,2)(
3);(
1,2)(3);
(1,2)(3,3);(3
)(3)這裡雖然能力值相同,但是指的是不同的牛。
對於(1,2)(3,3)
來說,隊伍分為兩個隊伍:
(1,2)(3,3)
,再從各自隊伍選出全部選手參加比賽
對於(3)(3
)來說,佇列分為兩個隊伍:(
1,2,3
)(3)
,再從各自隊伍中選出
3進行比賽
資料範圍:
0<=n<=10^3
0 <= a_i <1024
一題dp,一開始卡在去重。。。應該還要寫個快速讀入的
1 #include2 #include3using
namespace
std;45
const
int mod=1000000007;6
7intn;8
long
long a[1001],xor[1001][1024],and[1001][1024],sum[1024];9
long
long ans=0;10
11int
main()
1223 xor[i][a[i]]++;
24 xor[i][a[i]]%=mod;
25for(int j=0;j<1024;j++)
2630
}31 memset(sum,0,sizeof
(sum));
32for(int i=n;i>1;i--)
3339 and[i][a[i]]++;
40 and[i][a[i]]%=mod;
41for(int j=0;j<1024;j++)
4246
}47 memset(sum,0,sizeof
(sum));
48for(int i=1;i)
4955
for(int j=0;j<1024;j++)
56 ans=(ans+sum[j]*and[i+1][j])%mod;57}
58 cout59 }
籃球比賽計時計分系統
joyi籃球比賽電子計時記分系統是中意公司研發的專業級裁判系統,產品已經經過三次公升級,從微控制器裁判器到arm斜面立體式系統裁判器,產品已經實現全數位化模組化設計,24秒14秒控制可以有線無線雙用 計時時間吹哨控制等國際先進技術。通過比賽指定裁判或指定工作人員的現場操作,控制比賽節奏和統計比賽資料...
noip模擬賽7 足球比賽 樹
描述 在2009的中國城市足球比賽中,在2 n支隊中,有一些隊在開賽前宣布了退出比賽。比賽採取的是淘汰賽。比如有4支隊伍參加,那麼1隊和2隊比賽,3隊和4隊賽,然後1隊和2隊的勝者與3隊和4隊的勝者爭奪冠軍。但是由於某些隊伍退出,那麼如果某個原本存在的比賽只有乙個支隊,那麼這一支隊自動晉級,如果沒有...
NOIP模擬(10 30)T1 比賽
比賽 題目背景 10.30 noip 模擬t1 分析 暴力 將資料從小到大排序,從大到小找到第乙個滿足 a i k a i 1 的位置,那麼答案就是 n i 了,如果找不到那麼就是 n了 注意邊界 source created by scarlyw include include include i...