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,至少样例过了(比较欣慰)

posted @ 2022-05-29 12:35  LZMiiu  阅读(22)  评论(0编辑  收藏  举报