2022.5.29
进行了模拟。
先大致看了下三道题,感觉都差不多就从头开始了。
第一道题通过找规律找出了斐波那契数列,然后就预处理了一下。总之就是比较简单的计算题。但最后竟然TLE了,只能说不要高兴得太早。
正解:
#include<bits/stdc++.h> #define ll long long using namespace std; ll a,x,b,fb[21]; int main(){ fb[1]=0; fb[2]=fb[3]=1; for(int i=4;i<=21;i++) fb[i]=fb[i-1]+fb[i-2]; while(scanf("%lld %lld %lld",&a,&x,&b)){ ll p=(x-fb[a])/fb[a+1]; if((x-fb[a])%fb[a+1]) printf("-1\n"); else printf("%lld\n",fb[b+1]*p+fb[b]); } return 0; }
(蛮可惜的)
第二题没有什么思路,遵循能得多少得多少的方针就顺着题目的意思敲了个模拟,不知道能骗多少分。(话说这道题模拟起来有点冒泡排序的感觉)
正解:第一次排序后求逆序对数(妙啊)
第三题一上来也没什么思路,纠结了很久最后敲了一个dfs,至少样例过了(比较欣慰)