mark下遇到的筆試題吧
招行演算法:
同學遇到的題,筆試後交流了下思路,由於a範圍比較小,所以可以暴力(搜尋剪枝)加用集合和字典優化。複雜度大概o(n*logn)
有n種不同的化學試劑。第i種有ai公升。每次實驗都要把所有的化學試劑混在一起,但是這些試劑的量一定要相等。所以現在的首要任務是把這些化學試劑的量弄成相等。
有兩種操作:
· 把第i種的量翻倍,即第i種的量變成2ai。
· 把第i種的量減半,除的時候向下取整,即把第i種的量變成 ⌊ ai2 ⌋ 。
現在所有的化學試劑的量已知,問最少要變換多少次,這些化學試劑的量才會相等。
input
單組測試資料。
第一行有乙個整數n (1 ≤ n ≤ 10^5),表示化學物品的數量。
第二行有n個以空格分開的整數ai (1 ≤ ai ≤ 10^5),表示第i種化學試劑的量。
output
輸出乙個數字,表示最少的變化次數。
input示例
34 8 2
output示例
阿里機器學習演算法from collections import defaultdict
n=input()
l=list
(map
(int
,input()
.split())
)def
slove
(l):
iflen
(l)<=1:
return
0 ans=defaultdict(
int)
p=set(
range
(10001))
for i in l:
q=[(i,0)
] visted=
set(
)while q:
k,l=q.pop(
)if k>=
1and k<=
10000
and k not
in visted:
ans[k]
+=l visted.add(k)
(k<<
1,l+1)
)(k>>
1,l+1)
) p=p&visted
res=
100000000086
for k in p:
res=
min(res,ans[k]
)return res
(slove(l)
)
由於資料不大,所以兩道分析出公式後,就可以模擬。
第一題,兩個人分獎金,給乙個概率的序列分別[p0,p1,p2,p3…pn]依次表示a,b取得獎金的概率,序列到底後從p0開始(假如是奇數的話從p1開始),但是超過100輪的話,則結束。求a分得獎金概率,保留4位小數。
第二題n=
int(
input()
)p=[0
]for i in
range
(n):
float
(input()
))defsovle
(n,p)
: ans=
0if n%2==
1:k=
100//n+
1 p=p+p[2:
]*kelse
: k=
100//n+
1 p=p+p[1:
]*kans=
0for i in
range(1
,101):
if i%2==
1:midans=p[i]
for k in
range(0
,i):
midans*=(1
-p[k]
) ans+=midans
return
round
(ans,4)
(sovle(n,p)
)
m個魚丸,n個肉丸,k個婉,(00), 每個碗最多裝50個丸子,魚丸肉丸不混在乙個碗,不區分碗,求裝法。空碗不計。
考試的時候沒a,只通過部分,感覺是考慮的特殊情況不全面。m=
int(
input()
)n=int(
input()
)k=int(
input()
)mod=
10000
defc
(a,b)
: ans=
1for i in
range
(a-b+
1,a+1)
: ans*=i
for j in
range(1
,b+1):
ans=ans/j
return ans%mod
defsovle
(m,n,k)
: k=
min(k,m+n)
if k<=1:
return
0 pm=[0
]*(m+1
) pn=[0
]*(n+1
) res=
0for j in
range(1
,m):
res+=c(m,j)
pm[j]
=res
res=
0for j in
range(1
,n):
res+=c(n,j)
pn[j]
=res
ans=
0for i in
range(1
,k):
ans+=pm(i)
*pn(k-i)
ans=ans%mod
return ans
(sovle(m,n,k)
)
2019騰訊校招實習筆試題打怪獸
小q打算穿越怪獸谷,他不會打怪,但是他有錢。他知道,只要給怪獸一定的金幣,怪獸就會一直護送著他出谷。在谷中,他會依次遇見n只怪獸,每只怪獸都有自己的武力值和要 賄賂 它所需的金幣數。如果小q沒有 賄賂 某只怪獸,而這只怪獸 武力值 又大於護送他的怪獸武力之和,這只怪獸就會攻擊他。小q想知道,要想成功...
華為2019校招筆試
示例2 示例 常用的邏輯運算有and 表示為 or 表示為 not 表示為 他們的邏輯是 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0其中,他們的優先關係為 not and or 例如 a b c 實際是 a b c a b c d ...
京東 2019校招筆試 對比
現有n個物品,每個物品有三個引數 ai bi ci 定義i物品不合格品的依據是 若存在物品 j 且aj ai bj bi cj ci,則稱i物品為不合格品。現給出n個物品的a,b,c引數,請你求出不合格品的數量。第一行包含乙個整數n 1 n 500000 表示物品的數量。接下來有n行,每行有三個整數...