2020牛客国庆集训派对day2 C

ELIS CURIOUS MIND

https://ac.nowcoder.com/acm/contest/7818/C

题意

个位置中选出两两不相邻而且元素尽可能多的方案数。

分析

我们可以考虑递归有序列 这个时候如果我们在末尾添加了新的元素,那么我们就可以在第 或者第 个选择一个。那么我们就有递推式 。在 时。特判一下就好了。最后输出 因为我们对于最后一个元素可以选择 也可以选择

代码

#include<bits/stdc++.h>
using namespace std;
const int N = 201;
#define LL long long
const int inf = 0x3f3f3f3f;
int read() {
    int x = 0,f = 0;char ch = getchar();
    while(!isdigit(ch)) {if(ch=='-')f=1;ch = getchar();}
    while(isdigit(ch)) {x = x * 10 + ch - '0';ch = getchar();}
    return f?-x:x;
}
LL f[N],num;
int main() {
    f[1]=1;f[2]=1;
    for(int i = 3;i <= 80;i++) f[i]=f[i-2]+f[i-3];
    while(1) {
        int n=read();if(!n)return 0;
        printf("Case #%lld: ",++num);
        if(n==1||n==2)puts("0");
        else if(n==3)puts("1");
        else printf("%lld\n",f[n-1]+f[n]);
    }
}
比赛题解 文章被收录于专栏

近期比赛的题解应该有吧。。。

全部评论

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
5
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务