我會告訴你test13被我吃了嗎?
當然不會。
哦其實還多吃了一道題。。。。。
fst是一名可憐的 oier,他很強,但是經常 fst,所以 rating 一直低迷。
但是重點在於,他真的很強!他發明了一種奇特的加密方式,這種加密方式只有oier
才能破解。
這種加密方式是這樣的:對於乙個 01 串,他會構造另乙個 01 串,使得原串是在新串中沒有出現過的最短的串。
現在 fst 已經加密好了乙個串,但是他的加密方式有些 bug ,導致沒出現過的最短的串不止乙個,他感覺非常懊惱,所以他希望計算出沒出現過的最短的串的長度。
輸入格式
一行,乙個 01 串。
輸出格式
一行,乙個正整數,表示沒有出現過的最短串的長度。
樣例資料
輸入
100010110011101
輸出
4備註
【資料範圍】
測試點 1、2、3 的串長度≤10;
測試點 3、4、5 的串長度≤100;
測試點 6、7、8、9、10 的串長度≤10^5;
唔,根據某。。。證明答案很小,所以直接列舉答案長度,對於某種長度,掃瞄字串,2^ans儲存每種串有沒有出現過。可以加上hash的優化。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
int n,m,l,r,mid,ans;
char s[200000];
bool f[200000];
inline
bool zql(int x)
//是否長度為x的串都存在。
for(;j>=1;j--)
if(t==(1
true;
else
return
false;
}int main()
cout
<1
0;}
fst 作為 oier ,經常會遇到和階乘有關的問題,但是乙個數的階乘末尾總是會有很多 0 ,fst 認為這很不美觀,但是 fst 覺得如果 0 的個數是偶數的話,還是可以接受的。
所以就有這樣乙個問題,fst 想知道 0!,1!,2!… … (n-1)!,n! 中有多少數的末尾 0 個數是偶數。(注意0!是1,0算偶數)
輸入格式
讀入有若干行,每行乙個正整數 n ,最後一行是乙個 -1 。
輸出格式
對於每個 n 輸出一行,為 0!,1!,2!… … (n-1)! ,n! 中末尾 0 個數是偶數的個數。
樣例資料
輸入
2 3
10 -1
輸出
3 4
6備註
【資料範圍】
測試點 1、2:n≤10;資料組數=1;
測試點 3、4:n≤10000;資料組數=10;
測試點 5、6、7、8:n≤10^9;資料組數=10^5;
測試點 9、10:n≤10^18;資料組數=10^5;
強行複製題解,如下。
題解:
首先我們發現乙個數如果不是5的倍數,那麼他的答案一定是和上乙個數一樣的,因此我們首先把n的多餘部分處理掉,使數的個數是5的倍數,再把n除以5,(最後記得把答案除以5))
然後我們就只需要處理0×5,1×5,2×5,…n×5這個序列,我們發現乙個數k×5,如果k不是5的倍數,那麼他的答案和(k-1)×5是相反的,因此我們還是先把n的多餘部分處理掉,使數的個數是5的倍數,然後看如果5個5個一組一共有多少組,每組中k不是5的倍數的數一定會貢獻2的答案,因此我們把答案加上組數×2,然後再把n除以5
現在我們只需要處理0×25,1×25,2×25…n×25這個序列,我們發現k×25和k的答案是一樣的,因此這個序列和0,1,2…n的答案是一樣的,因此我們遞迴的處理就行了,此時n已經是之前的1/25了
現在我們來證明k*25和k的答案是一樣的:
乙個數p的答案顯然就只和[p/5]+[p/25]+[p/125]+…的奇偶性有關,而25*k只比k多了兩項就是[5*k]+[k]=6*k,這是個偶數,不影響奇偶性。
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
long
long ans,n=0,zql,tot,i,j;
long
long f[105],g[105][2];
int main()
while(n>=0)
n%=f[i];
}cout
<0][zql]0;}
嗯對就這樣。
安。來自2017.8.23.
——我認為return 0,是乙個時代的終結。
演算法 test14 圓排列
圓排列問題 給定n個圓的半徑序列,將它們放到矩形框中,各圓與矩形底邊相切,求具有最小排列長度的圓排列。對於給定的n個圓,設計乙個優先佇列式分支限界法,計算n個圓的最佳排序方案,使其長度達到最小。按照回溯法搜尋排列樹的演算法框架,設開始時 a r1,r2,rn 是所給的 n 個圓的半徑,則相應的排列樹...
暑假集訓test6
喜聞樂見,test續集。來上題。題目描述 alice 和 bob 有乙個長度為2n的數。現在他們要在這個數字上玩遊戲。他們分別要從 2n 個位中取出 n 個位組成自己的幸運值。每一回合,alice 或 bob 把數字最左邊的那一位拿來放在自己幸運值的最末位。在第 i 輪操作過後,被選取的數字 原數的...
暑假集訓test7
所以我又回來了,這次是test7。test1,test2,test3,集體失蹤,敬請期待 攤手 嗯,喜大普奔。上題。題目描述 給出乙個由數字 0 9 構成的字串。我們說乙個子串行是好的,如果他的每一位都是 1 8 0 7 並且這四個數字按照這種順序出現,且每個數字都出現至少一次 1118888888...