zoukankan      html  css  js  c++  java
  • hdu4734 F(x)

    链接

      这题当时在网络赛时很费劲的推出来的,以递推的形式写出来的,一些边界点特别不好控制,靠看数据改出来的。现在改出dfs形式,也是很简单的。

    因为f(x)的数不会很大,直接保留前面枚举的数得出的结果即可。

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 #include<vector>
     7 #include<cmath>
     8 #include<queue>
     9 #include<set>
    10 using namespace std;
    11 #define N 15000
    12 #define LL long long
    13 //#define INF 1e18+1e12
    14 const double eps = 1e-8;
    15 const double pi = acos(-1.0);
    16 const double inf = ~0u>>2;
    17 const LL INF = (1ll<<62);
    18 int dp[10][N],p[11];
    19 int d[10];
    20 int dfs(int i,int s,bool e)
    21 {
    22     if(s<0) return 0;
    23     if(i==-1) return 1;
    24     if(!e&&dp[i][s]!=-1) return dp[i][s];
    25     int mk = e?d[i]:9;
    26     int ans = 0;
    27 
    28     for(int j = 0;j <= mk ; j++)
    29         ans+=dfs(i-1,s-j*p[i],e&&j==mk);
    30     return e?ans:dp[i][s] = ans;
    31 }
    32 int cal(int a,int b)
    33 {
    34     int  i,g=0;
    35     while(a)
    36     {
    37         d[g++] = a%10;
    38         a/=10;
    39     }
    40     int s = 0;
    41     for(i = 0 ; i < g ; i++)
    42     {
    43         s+=d[i]*p[i];
    44     }
    45     memset(d,0,sizeof(d));
    46     g = 0;
    47     while(b)
    48     {
    49         d[g++] = b%10;
    50         b/=10;
    51     }
    52     return dfs(g-1,s,1);
    53 }
    54 int main()
    55 {
    56     int i,t,a,b;
    57     int kk = 0;
    58     p[0] = 1;
    59     for(i = 1 ; i <= 10; i++)
    60     p[i] = p[i-1]*2;
    61     memset(dp,-1,sizeof(dp));
    62     scanf("%d",&t);
    63     while(t--)
    64     {
    65         scanf("%d%d",&a,&b);
    66         printf("Case #%d: %d
    ",++kk,cal(a,b));
    67     }
    68     return 0;
    69 }
    View Code
  • 相关阅读:
    java工程师要求
    系统架构设计师知识模块
    Mybatis使用训练
    项目—视频直播系统
    [数算]概率
    查看镜像文件
    Hadoop启动命令
    Hadoop启动命令
    HDFS设置配额管理
    HDFS设置配额管理
  • 原文地址:https://www.cnblogs.com/shangyu/p/3683014.html
Copyright © 2011-2022 走看看