【题解】牛客2020年愚人节比赛
A rand36
欧皇概率检测(坑罚时题
下面是各数字的概率
   0-9 10/37
 10-19 10/37
 20-29 10/37
 30-36 7/37
 其他 0  
B 寻宝游戏
暗号:宝藏,被隐藏在第12层,光标所指向藏宝图的位置。首先层的英文是"floor"也就是12F,然后图片上面的路径按顺序组成"src",所以按F12打开浏览器控制台,然后选中图片查看图片地址"stc=...",由于输出描述中明确表示没有=,所以等于号后面的就是答案。
C 老铁,安排上了!
D 神奇的字母
   观察到样例输出为:“一个字符,表示神奇的字母(范围从'a'到'z',保证小写)。”
 所以输出这一句话就可以了。  
E return 1;
   首先说一下题意。记一个正整数x的所有因子(不包括它本身)之和为f(x)
 那么这道题要输出x迭代至1的次数。
 当然有的数永远无法迭代至1,如完全数(f(x)=x)、相亲数(f(x)=y,f(y)=x)等。
 这种情况则输出infinity。
   
F 抬头,答案在天上
      
答案在天上,所以请抬头,提示已经很明显了
   首先扫一遍确定没有链接  
于是这个字符串一定出在比较靠上的位置
看样例
   既然是抬头,所以要从下往上看,于是看到了,猜测网址  
于是看你的浏览器链接地址,有
   或者
   
两种情况
再看数据范围,前面正整数加粗在这里暗示链接的加粗部分
   c为自然数意味着字符串是从开始计数  
   所以长度为,上面链接长度为
的是后者,放到样例
中验证正确  
   于是这个字符串就是   
#include<bits/stdc++.h>
using namespace std;
char qwq[100]="ac.nowcoder.com";
int t;
int n;
int main () {
    scanf("%d",&t);
    while(t--) {
        scanf("%d",&n);
        printf("%c\n",qwq[n]);
    }
    return 0;
}  G 低头,答案在地下
题目说输出链接所以在题面里找链接。
而输入输出格式都是引用格式的,所以无法存在链接。
而答案在地下,所以点击题目描述最末尾的句号然后输出那个链接就行。
H 圆
尽可能不择手段多的放,所以我们可以将圆重叠。
于是最终可以塞入直径为正方形边长的圆。
   输出  即可。  
I 牛客搜索题
备注里提示:
数据纯键盘手打。
键盘打就可以想到是根据数字打过去的。
所以我们可以想到将@!(&&$!#(转化为219774139这串数字。
然后又有:
建议参赛用户使用搜索算法。
所以我们要搜索编号为219774139的用户
打开个人主页把链接里的数字改成上述数字就行。
https://ac.nowcoder.com/acm/contest/profile/219774139
题目描述是用二号字体这种格式写的,于是我们就想到是副标题。(只打了两个#,没渲染出来不要在意)
再对应输出:
一串大写字母。
于是输出GSC即可。
J 签到题
   出题人是某不知名菜鸡所以匿了   
   题目名字来源:因为题目顺序是按题目提交先后排序的 我预测到别的出题人可能会出一些根本做不出来的毒瘤题 所以打算出一道 签到题 但是发现自己提交晚了排在了后面会被人误以为是毒瘤题 为了让大家快速签到并且避过前面各种duliu题所以把名字改成了 签到题 来帮助大家快速获得抽奖机会。  
首先我们发现第二行疑似是BASE64加密:
VmtaYVUxRnJOVlppUlZaVFYwZG9UMVpVUWtkT1JsSldWV3RLWVUxRVJUSlZNV1JyVkRGS1NHUkhOVlZoTVVwMVYycEJNVkpXYjNsYVJUbFRVakpTZFZaSGRGTmliRzkzVGxWV1lVMXRVbEJWYTJScllteFNjbFZ0TldGTlJGWldWbXhSZDFCUlBUMD0=
解密五次后可以得到:
109 111 100 32 49 48 48 48 48 48 48 48 55
不难发现很像ASCII码 转化后可以得到:
mod 100000007
   注意是。  
   然后观察第一行 我们发现备注中有  不难想到是 AES 加密(作者水平低下只知道这几种加密方式)  
   经过枚举可以发现    
f[n]=4f[n-1]+255f[n-2]+f[n-3]
结合样例 可以发现题目实际上是:
f[1]=2 f[2]=4 f[3]=114514 f[n]=4f[n-1]+255f[n-2]+f[n-3] 求 f[n] mod 100000007
矩阵快速幂即可。
   其实本来想用这个解密出的式子的前几千项搞一个新的递推式的 但是考虑到这是一道签到题所以就没有加   
K 四万像素五角星
L positive-interger
实际上是小学生都会的高中数学题
先讲正解
   先看数列   
   下面设 , 
   
   当时,
   
   当时,有
   
   于是原式变成了   
   两边同除就变成了
   
   于是数列是以
为首项,
为公差的等差数列,  
      
   所以    
      
   又因为   
   所以   
   然后看数列   
   设 , 
   
   于是就有   
   带回原式有   
   化简之后得   
两边同时配凑(初中生基本常识
      
      
   又因为样例中给出了所以
   
   所以   
   数列是以
为首项,
为公比的等比数列  
      
      
      
   又因为   
   所以   
   所以   
   这玩意只有在时是
,否则是一个
到
之间的数  
   所以其他情况下取整之后为   
所以正解:
#include<bits/stdc++.h>
using namespace std;
int main() {
    int n;
    scanf("%d",&n);
    printf("%d",n==1?1:0);
    return 0;
}
  下面说说神仙做法:
   先试后试
都没过
 手动模拟出的答案
 于是出答案  

影石Insta360公司氛围 449人发布
查看14道真题和解析
