NOIP模擬 愉快的logo設計

2021-07-10 22:27:28 字數 1370 閱讀 9912

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,其中質量...