BestCoder Round #82 (div.2)

A.
ztr喜歡研究數學,一天,他在思考直角三角形方程組的Lower版,即n=x^2-y^2,,他想知道,對於給出的n,是否會有正整數解。
有T組數據,(T<=10^6),n<=10^18


思路:
n=x^2-y^2=(x+y)(x-y),假設x+y=a,x-y=b,如果a+b的和可以湊成偶數而且a < b,那麼一定能因式分解,
所以如果當n爲奇數時,除了1之外,一定能湊成a=n,b=1,所以一定有解
如果當n爲偶數時,要使a+b爲偶數,那麼a要爲偶數,b要爲偶數,又因爲a>b,所以a至少爲2的倍數,b至少爲2,所以n要能整除4且n大於4


B.
ztr喜歡幸運數字,他對於幸運數字有兩個要求
1:十進制表示法下只包含4、7
2:十進制表示法下4和7的數量相等
比如47,474477就是
而4,744,467則不是
現在ztr想知道最小的但不小於n的幸運數字是多少
有T組數據,(T<=10^5),n<=10^18


思路:
因爲10^18中幸運數字的個數小於10^6,所以我們可以把所有的數全部預處理存起來,然後每次查詢就是找比他大的數是哪一個就可以了,這裏有一個坑點就是最後輸出的數可能超過long long的範圍,但是隻有一種情況,就是輸出44444444447777777777的時候,可以特判一下


C.
ztr喜歡研究子串,今天,他有n個串
現在ztr想知道,能否從這n個串的所有迴文子串中,
取出恰好k個迴文串且滿足這些迴文串的長度之和爲L
以yjqqaq爲例
這個串包含的迴文子串有
y,j,q,a,q,qq,qaq
所以我們可以既選qq,又選qaq

有T組數據,第一行爲一個正整數T(T<=10)
每組數據第一行爲三個正整數N(1<=N<=100),K(1<=K<=100),L(L<=100)
接下來N行,每行一個由小寫字母構成的字符串,保證每個串的長度不超過L


思路:
首先我們對於每一個串處理出他所有的迴文串,然後這些串的費用都是1,那麼題意便變成了用費用爲K的湊出L的長度,簡單的揹包便可以了。


D.
給一顆有根樹,樹上的每一個節點有一個權值,每次詢問某個子樹中所有權值的中位數


思路:
這道題就是在一個子樹上詢問第k大,於是我們用dfs序將樹上詢問第k大轉化爲區間詢問第k大,套用主席樹即可
fmod(i,j) 浮點數取模


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章