新生总结赛(1)

A-zcf来培训了

签到,过。

B- zcf学到了菲波那切数列

题目:菲波那切数列的第LL项与菲波那切数列的第RR项之间,一共有多少个奇数,多少个偶数吗?
在这里插入图片描述

  • 模拟?
  • 规律就是奇奇偶三个一组。比较好的方法就是计算时,对两个端点分别求其前面有多少个奇数和偶数。很次的(我的),先把两个端点分别调整成3的倍数,然后处理上调整过程失去或者多出来的。此题应引以为戒,做题时应该优先考虑前者。

C-zcf迷上了菲波那切数列

题目:菲波那切数列的第几项是多少。

  • 大数加法
  • 把大数加法变成一个可调用的函数,多次利用就行

F- zcf斐波那契数列大成了

题目:求 i ∈ [ L , R ] , F i b [ i ] % 1000007 ∈ [ l , r ] i ∈ [ L , R ] , F i b [ i ] i\in[L,R],Fib[i]\%1000007\in[l, r]i∈[L,R],Fib[i]%1000007∈[l,r] i[L,R],Fib[i]%1000007[l,r]i[L,R],Fib[i]的个数。

  • 可暴力
  • 暴力代码
#include <bits/stdc++.h>
using namespace std;
const int mx = 100000;
int f[mx];
int main()
{
    int t,L,R,l,r;
    f[1]=1; f[2]=1;
    for(int i=3; i<=mx; i++)
        f[i] = (f[i-1] + f[i-2])%1000007;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d%d%d%d", &L, &R, &l, &r);
        int ans(0);
        for(int i=L; i<=R; i++)
            if(f[i]>=l&&f[i]<=r)
                ans++;
        printf("%d\n", ans);
    }
    return 0;
}

I- 围攻zcf

题目:有n个人,m条道路(m行),每行三个整数(u,v,num),分别代表第u个人和第v个人之间有一条被zcf设置了num个陷阱的道路。破坏最少的陷阱,使每个人都可以到第一个人那里。

  • 最小生成树
  • 每条路上的陷阱破坏一次就够了,所以要利用最小生成树。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值