zoukankan      html  css  js  c++  java
  • 「Poetize7」Freda的访客

    描述 Description

    小猫们看到蛋糕比饼干大之后,普遍认为蛋糕比饼干要好>.<。所以,如果Freda 给了第i 只小猫蛋糕且这个小猫是第一个吃到蛋糕的,那么就必须给第i+2,i+4,i+6......只小猫蛋糕。
    也就是说,如果存在正整数i,满足:
    1、对于所有的0<j<i,第j 只小猫吃到的是饼干
    2、第i 只小猫吃到的是蛋糕
    那么就必须有:
    对于所有的i<k<=N, k mod 2 = i mod 2,第k 只小猫吃到的是蛋糕。
    小猫的数目一多,Freda 就忙不过来了。请你帮忙计算,Freda 一共有多少种可能的方法来招待这N 只小猫?

    题解:

    枚举第一个吃蛋糕的位置,确定了后面的位置之后剩下的随便选,然后就可以等比数列求和,快速幂搞了。。。

    代码:

     1 #include<cstdio>
     2 
     3 #include<cstdlib>
     4 
     5 #include<cmath>
     6 
     7 #include<cstring>
     8 
     9 #include<algorithm>
    10 
    11 #include<iostream>
    12 
    13 #include<vector>
    14 
    15 #include<map>
    16 
    17 #include<set>
    18 
    19 #include<queue>
    20 
    21 #include<string>
    22 
    23 #define inf 1000000000
    24 
    25 #define maxn 500+100
    26 
    27 #define maxm 500+100
    28 
    29 #define eps 1e-10
    30 
    31 #define ll long long
    32 
    33 #define pa pair<int,int>
    34 
    35 #define for0(i,n) for(int i=0;i<=(n);i++)
    36 
    37 #define for1(i,n) for(int i=1;i<=(n);i++)
    38 
    39 #define for2(i,x,y) for(int i=(x);i<=(y);i++)
    40 
    41 #define for3(i,x,y) for(int i=(x);i>=(y);i--)
    42 
    43 #define mod 1000000007
    44 
    45 using namespace std;
    46 
    47 inline ll read()
    48 
    49 {
    50 
    51     ll x=0,f=1;char ch=getchar();
    52 
    53     while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    54 
    55     while(ch>='0'&&ch<='9'){x=10*x+ch-'0';ch=getchar();}
    56 
    57     return x*f;
    58 
    59 }
    60 ll power(ll x,ll y)
    61 {
    62     ll t=1;
    63     for(;y;y>>=1,x=(x*x)%mod)
    64         if(y&1)t=(t*x)%mod;
    65     return t;
    66 }
    67 
    68 int main()
    69 
    70 {
    71 
    72     freopen("input.txt","r",stdin);
    73 
    74     freopen("output.txt","w",stdout);
    75 
    76     ll n=read();
    77     if((n&1)==0)printf("%lld
    ",((power(2,n>>1)-1)*3+1)%mod);
    78         else printf("%lld
    ",(power(2,(n+3)>>1)-2+mod)%mod);
    79 
    80     return 0;
    81 
    82 }
    View Code
  • 相关阅读:
    iOS开发>学无止境
    iOS开发>学无止境
    Review1(C#语言基础)
    Lua
    c#笔记(四)——switch
    鼠标拖拽物体
    lua-路径加载lua文件-函数返回值,访问lua文件中的变量
    lua-1-c# 执行lua文件-调用lua文件中的方法
    Unity实现手机录音功能
    lua-table类的继承
  • 原文地址:https://www.cnblogs.com/zyfzyf/p/4048008.html
Copyright © 2011-2022 走看看