ucloud 剛剛建立乙個新機房,近日正在進行網路搭建。機房內有 n
n 臺伺服器和 m
m 個分線器,整個機房只有乙個網線出口。分線器的作用是將一根網線轉換成多根網線。蒜頭君也知道每個分線器輸出的最大網線根數(不一定要將分線器輸出的每根線都用上),問你至少需要使用多少個分線器才能使得每台伺服器都有網線可用。
第一行輸入 n,m(0 \le n,m \le 100)n,
m(0≤
n,m≤
100)
。第二行輸入包含 m
m 個整數的陣列 a(0 \le a_i \le 10)a(
0≤a
i≤
10) 表示每個分線器輸出的最大網線根數。
輸出最少需要的分線器數量。若不能使得所有伺服器都有網線可用,輸出一行impossible
。
一共需要 3
3 個分線器,最大輸出根數分別為 7,3,27,
3,2,連線方法如下圖所示:
樣例輸入
10 4樣例輸出2 7 2 3
3水題
#include #includeusing namespace std;
int a[1100],n,m;
int main()
if(sum
每個 ucloud 使用者會構造乙個由數字序列組成的秘鑰,用於對伺服器進行各種操作。作為一家安全可信的雲計算平台,秘鑰的安全性至關重要。因此,ucloud 每年會對使用者的秘鑰進行安全性評估,具體的評估方法如下:
首先,定義兩個由數字序列組成的秘鑰 a
a 和 bb≈
) 的關係。a
a 和 b
b 近似匹配當且僅當同時滿足以下兩個條件:
此時,我們就稱 a
a 和 bba
≈b(1
,3,1
,1,2
)≈(2
,1,3
,1,1
)。ucloud 每年會收集若干不安全秘鑰,這些秘鑰組成了不安全秘鑰集合 t
t。對於乙個秘鑰 s
s 和集合 t
t 中的秘鑰 t
t來說,它們的相似值定義為:s
s 的所有連續子串中與 t
t 近似匹配的個數。相似值越高,說明秘鑰 s
s 越不安全。對於不安全秘鑰集合 t
t 中的每個秘鑰 t
t,你需要輸出它和秘鑰 s
s 的相似值,用來對使用者秘鑰的安全性進行分析。
第一行包含乙個正整數 n
n,表示 s
s 串的長度。
第二行包含 n
n 個正整數 s_1,s_2,...,s_n(1\leq s_i\leq n)s
1,
s2
,..
.,s
n(
1≤s
i≤
n),表示 s
s 串。
接下來一行包含乙個正整數 m
m,表示詢問的個數。
接下來 m
m 個部分:
每個部分第一行包含乙個正整數 k(1\leq k\leq n)k(
1≤k≤
n),表示每個 t
t 串的長度。
每個部分第二行包含 k
k 個正整數 t_1,t_2,...,t_k(1\leq t_i\leq n)t
1,
t2
,..
.,t
k(
1≤t
i≤
n),表示 t
t 中的乙個串 tt。
輸入資料保證 t
t 中所有串長度之和不超過 20000020
0000
。對於簡單版本:1\leq n,m\leq 1001≤
n,m≤
100;
對於中等版本:1\leq n\leq 50000,1\leq m\leq 5001≤
n≤50
000,
1≤m≤
500;
對於困難版本:1 \le n \le 50000, 1 \le m \le 1000001≤
n≤50
000,
1≤m≤
1000
00。輸出 m
m 行,每行乙個整數,即與 t
t 中每個串 t
t 近似匹配的 s
s 的子串數量。(3
,2,1
,3)≈
(2,3
,1,3
)(3,
2,1,
3)≈(
3,1,
3,2)
;(1,
3)≈(
3,1)
(1,3
)≈(1
,3);
(3,2
)≈(2
,3)(
3,2)
≈(3,
2)。
樣例輸入
52 3 1 3 234
3 2 1 3
21 3
23 2
樣例輸出
2從左到右掃一遍,每次去除乙個數,加上乙個數。判斷匹配情況,如果匹配則答案加1,o(n)的複雜度。感覺比題解的hash靠譜。。。22
#include #includeusing namespace std;const int n=55000;
int a[n],vv[n],v[n],b[n];
int main()
{ int n;
scanf("%d",&n);
for(int i=0;i
2018計蒜客初賽1
又到了一年一度的計蒜之道,第二次參加計蒜之道,但願今年能在去年的基礎上有個新突破 第一場,由於時間限制,只寫了乙個簽到題,就此拉開了本年度計蒜之道 思路 這題這題其實思路倒是蠻清晰的,就是不斷維護陣列最大值,關鍵就是邊界處理問題,考慮清楚還挺有簽到意味 include include include...
2018計蒜客初賽2
一天之後,計蒜客第二場,感覺一般般,第一題卡了一下處理的比較慢,導致後面時間略微不足,第二題倒是沒什麼坑點 思路 這題dp的味道還是挺明顯的,dp選擇當前元素所能達到的最大長度,至於轉移,第一次想的是轉移之前所有狀態中可能的狀態,然而o n 2 的複雜度,加上多組資料,毫無疑問tle 之後想到用d,...
2017 計蒜之道 初賽 第五場
ucloud 機房的網路搭建 ucloud 剛剛建立乙個新機房,近日正在進行網路搭建。機房內有 n n 臺伺服器和 m m 個分線器,整個機房只有乙個網線出口。分線器的作用是將一根網線轉換成多根網線。蒜頭君也知道每個分線器輸出的最大網線根數 不一定要將分線器輸出的每根線都用上 問你至少需要使用多少個...