尽管参加比赛的才三个人,而且T3数据还出了锅,但为了纪念Herself32的第一次个人邀请赛,他还是决定写题解。
恭喜MoveToEx大佬$rk1\;184pts$,恭喜extmool大佬$rk2\;100pts$。
总体平均难度:
T1 U55311标题统计升级版I
题面描述
凯凯刚写了一篇美妙的作文,请问这篇作文的标题和题记中有多少个字符? 注意:标题和题记中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。
输入输出格式
输入格式
一个字符串$s$。
输出格式
一个正整数,即这篇作文的标题和题记中的字符个数。
INPUT & OUTPUT‘s example
Input’s example #1
1 | 12A |
Output’s example #1
1 | 5 |
Input’s example #2
1 | Ca 45 |
Output’s example #2
1 | 7 |
Input’s example #3
1 | prove 12 |
Output’s example #3
1 | 7 |
说明
$$1 \leq |s| \leq 1000$$
分析
本题其实升级并不明显,只是对于输入数据多加了一些换行符,但这样也限制了我们必须要使用while(cin>>s)
。
本来,Herself32想把数据范围改成$1 \leq |s| \leq 10^9$,但是她太弱了,造不出来数据,于是升级版就咕了。
代码
1 | // luogu-judger-enable-o2 |
T2 U54965猜数字
题面描述
蒟蒻Herself37在考试中遇到了一道难题:
若$a,\;b$均为正数,且$a+b=1$,求$\frac 1a+\frac 1b$的取值范围。
Herself37这么蒻,她果然直接懵逼了。于是她决定用猜数字的方式来试一下。
现在她会给神犇你一个数字$k$,你需要帮她算一下这个数字是否在答案范围内。
如果这个数字在答案范围内,那么输出“Yes”。
如果不在,输出“No”。
输入输出格式
输入格式
一个正整数,表示Herself37让你判断的数$k$。
输出格式
这个数字是否在答案范围内。
如果这个数字在答案范围内,那么输出“Yes”。
如果不在,输出“No”。
INPUT & OUTPUT’s example
Input’s example #1
1 | 12 |
Output’s example #1
1 | Yes |
Input’s example #2
1 | 1 |
Output’s example #2
1 | No |
说明
$$1 \leq k \leq 10^{200}$$
分析
因为本题的核心在于那一道数学题,那我就把它解出来。
$$\because a+b=1 \;\;\; a,b \in \bf N$$
$$\therefore a+b \geq 2\sqrt{ab} $$
且仅当$a=b$时 $a+b=2\sqrt{ab}$
$$\therefore \sqrt{ab} \leq \frac 12$$
$$\therefore ab \leq 4$$
$\therefore \frac 1a+\frac 1b=$ $\frac {a+b}{ab}$
$\therefore \frac 1a+\frac 1b= $ $\frac{1}{ab}$
$$\therefore \frac 1a+\frac 1b\geq 4$$
所以,我们对于输入数据只需要判断是否大于$4$即可。
因为数据范围很大:
$$1 \leq k \leq 10^{200}$$
所以我们使用字符串解决。
对于读入的数据,如果它的位数$\geq 2$那么直接输出“No”,如果是$1$位,那么判断:1
if(s[0]-'0'>=4)printf("Yes\n");
代码
1 | /* Headers */ |
T3 U55343巫神供奉庙
题目描述
传说中,这7位巫神身后各有7个化身,这7个化身身后又各有7个化身,如此无尽的循环下去。
这让雕刻神像的雕像师很蒙蔽,于是大祭司说,今年是太阳历k年,那就雕刻七位巫神第k次化身时的化身吧。
大祭司又补充说,太阳也是我们的信仰,所以还要加一座太阳的雕像。
当地人们认为8是一个好数字,所以每座寺庙只能供奉8尊雕像。
雕像师想知道能不能把每一座寺庙都供奉8尊雕像。
输入输出格式
输入格式
一个正整数$k$。
输出格式
如果每一座寺庙都能供奉8尊雕像,输出GREAT 反之,输出IMPOSOBLE
INPUT & OUTPUT‘s example
Input’s example #1
1 | 12 |
Output’s example #1
1 | IMPOSOPLE |
Input’s example #2
1 | 39 |
Output’s example #2
1 | GREAT |
说明
$$1 \leq k \leq 10^{200}$$
分析
通过对于题目的分析,我们知道,题目大意是:
求$7^k+1$是否能被$8$整除
我们先来看几组例子吧。
当$k=1$时,$7^k+1=7^1+1=8$,能被$8$整除。
当$k=2$时,$7^k+1=7^2+1=50$,不能被$8$整除。
当$k=3$时,$7^k+1=7^3+1=344$,能被$8$整除。
当$k=4$时,$7^k+1=7^4+1=2402$,不能被$8$整除。
…
…
所以,我们猜想当$k$为奇数时,$7^k+1$能被$8$整除。
证明:
当$k=1$时,$7^k+1=7^1+1=8$,能被$8$整除。
假设当$k=x$时,$7^x+1$能被$8$整除。
那么当$k=x+2$时,$7^k+1=7^{x+2}+1=7^2(7^x+1)+1-7^2$
即$7^k+1=49(7^x+1)-48$。
$\because 7^x+1$能被$8$整除,且$48$能被$8$整除。
$\therefore 7^k+1$当$k$为奇数时,能被$8$整除。
所以本题只需要判断输入数据的奇偶性即可。
因为数据范围依旧很大:
$$1 \leq k \leq 10^{200}$$
所以我们不能直接将输入数据%2
。
根据小学一年级知识得,一个数如果是偶数,那么它的最后一位数能够被$2$整除。
显然,字符串$length$操作!
代码
1 | // luogu-judger-enable-o2 |
tips:题解发布后依旧允许做题。