zoukankan      html  css  js  c++  java
  • HDU 4602

    原题见:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=106940#problem/A

    题目要求:按题意找出对应数字出现的次数。

      4=1+1+1+1
      4=1+1+2
      4=1+2+1
      4=2+1+1
      4=1+3
      4=2+2
      4=3+1
      4=4               例如此例:1出现的次数为12。

    代码如下:

     1 #include <stdio.h>
     2 
     3 typedef long long ll;
     4 ll mod=1e9+7;
     5 //#include <stdlib.h>
     6 ll qpow(ll n,ll m)
     7 {
     8     ll ans = 1;
     9     while(m>0)
    10     {
    11         if(m&1) ans = ans * n % mod;
    12         n = n * n % mod;
    13         m = m >> 1; 
    14     }
    15     return ans;
    16 } 
    17 /*ll fun(ll n,ll k)
    18 {
    19     if(n==k)  return 1;
    20     else if(n==k+1) return 2;
    21     else if(n-2 == k) return 5;
    22     //else if(n-3 == k)return 12;
    23     else return 2*fun(n-1,k)+qpow(2,n-3); 
    24 }*/
    25 int main()
    26 {
    27     int t;
    28     ll ans,n,k;
    29     scanf("%d",&t);
    30     while(t--)
    31     {
    32         scanf("%lld%lld",&n,&k);
    33         if(k>n) {  
    34             printf("0
    ");  
    35             continue;  
    36         }  
    37         else 
    38         {  
    39             //printf("%lld
    ",fun(n,k));  
    40             ans=2*qpow(2,n-k-1)%mod+(n-k-1)*qpow(2,n-k-2)%mod;
    41             printf("%lld
    ",ans%mod);
    42         }          
    43     }
    44     
    45      
    46     return 0;
    47 }

    找规律即可,例如将5的实例也写出后数数=,=会发现

    n=%d 1     2    3    4    5

    k=1    1     2    5   12  28

    k=2    0     1    2    5   12

    k=3    0     0    1    2    5

    k=4    0     0    0    1    2

    k=5    0     0    0    0    1

    找到规律吧少年~~~~f(n)=2*f(n-1)+pow(2,n-3)或者ans=2*pow(2,n-k-1)%mod+(n-k-1)*pow(2,n-k-2)%mod

    也就是说注释的部分也是对的,那为什么会变成注释呢?  =。=因为递归层数太多,导致本宝的程序MLT……!!空间超限。。。生平第一次啊。。。。然后就沦为注释。。。

    嗯,就这样吧!

  • 相关阅读:
    MyBatis Generator 的使用
    Eclipse插件手动安装
    MyBatis中别名的设置
    MyBatis 插入时返回自增主键
    MyBatis 模糊查询
    MyBatis 多个查询条件的传递
    MyBatis 的Mapper中有小于号的处理
    spring mvc rest 方式
    jackson
    中兴阅读:你的移动阅读解决专家,助纸媒们一臂之力
  • 原文地址:https://www.cnblogs.com/ivangin/p/5201655.html
Copyright © 2011-2022 走看看