k理事長正在思考日本資訊學奧林匹克競賽選手的應援道具的logo問題。某天,k理事長突發奇想,想要設計乙個用』j』,』o』,』i』三種文字環形排列的logo,意為希望選手能從joi中收穫快樂的意思。
(注:「環形地」在日文中的表述為「円狀に」,「円」讀作「en」,再加上「joi」三個字即為「enjoy」……)
如下所示,對於任意非負整數k,我們定義標號為k的joi序列sk為:
·s0為』j』,』o』,』i』中任一字元構成的長度為1的字串
·s[k+1]為最初4^k個字元都是』j』,接下來的4^k個字元都是』o』,接下來的4^k個字元都是』i』,最後4^k個字元是字串sk的長為4^(k+1)的字串
現在,k理事長在紙上寫下了由4^k個文字構成的乙個環形字串,字串中每個字元都是』j』,』o』,』i』中的乙個。k理事長想要修改一些文字,使得得到的字串從某個起點開始順時針讀一圈後可以得到sk。在滿足條件的情況下,要求修改的文字數量最少。
這種有環的字串問題,先把串在後面複製乙份。
對於這種有遞推公式的題目,我們先寫一下遞推公式 sk
=jjj
j...
j+oo
oo..
.o+i
iii.
..i+
sk−1
,joi分別有4^次方個
我們發現j、o、i從某位開始的數量是可以算的而且都是4的k次冪
那麼我們給原串的j、o、i打乙個字首和,然後從第i位開始,逐個用應有的j、o、i的數量減去原串的數量,最後因為要加乙個j或o或i,因為原串只含有這三個字元,所以直接加原串的字元就好了。然後與答案去乙個min。
很水的一道題。
#include
#include
#include
#include
#include
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fod(i,a,b) for(i=a;i>=b;i--)
const
int maxn=1048580*2;
using
namespace
std;
int i,j,k,l,t,n,m,ans,yi,er,san;
char s[maxn*2];
int a[maxn][3];
int si[11]=;
int main()
else
if(s[i]=='o')
else
}ans=0x7fffffff;
fo(i,1,n)
ans=min(ans,yi);
}printf("%d\n",ans);
}
NOIP模擬題 愉快的logo設計
description k理事長正在思考日本資訊學奧林匹克競賽選手的應援道具的logo問題。某天,k理事長突發奇想,想要設計乙個用 j o i 三種文字環形排列的logo,意為希望選手能從joi中收穫快樂的意思。注 環形地 在日文中的表述為 円狀 円 讀作 en 再加上 joi 三個字即為 enjo...
設計公司的高階logo設計
在尋找創意的時候,高階的logo設計 創意會不會以頭腦意象的形式出現?僅僅是意象中的乙個輪廓而已,並不是清晰的意象。比如,馬上要推出的系列 是關注一對母子關係的。一共有八幅 和一段電影。上的男孩全身裹著橡膠衣服,他的母親也是一樣。雖然說不出原因,但是這確實是難得的素材。場景是一間起居室,房間裡鋪滿了...
我的Logo設計簡史
近日,日本東京奧運會會微因 而被棄用的新聞引起設計界的一翻熱論。在此我想到自己的logo設計,雖說並一定不好看甚至自己看回來都覺得略醜,但 幾乎沒有過抄襲的念頭。有句話說,不想當設計師的程式猿不是好的程式猿。當然這句話只適用在網頁設計的程式猿種類上。下面就來總結一下我設計過的一些 logo,其中質量...