考虑从左往右填数,维护当前数字权值与$A$权值的差值,如果差值大于9,那么以后无论怎么填,都不会改变大小关系。

所以设$f[i][j][k]$表示填了前$i$位,差值为$j$,是否卡住$B$上限为$k$的方案数,然后DP即可。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=205,P=1000000007;
int T,C,n,m,i,j,k,t,A[N],B[N],f[N][18][2],ans;char a[N],b[N];
inline void up(int&a,int b){a+=b;if(a>=P)a-=P;}
int main(){
scanf("%d",&T);
for(C=1;C<=T;C++){
scanf("%s%s",a+1,b+1);n=strlen(a+1);m=strlen(b+1);
for(i=1;i<n-i+1;i++)swap(a[i],a[n-i+1]);
for(i=1;i<m-i+1;i++)swap(b[i],b[m-i+1]);
for(i=1;i<=n||i<=m;i++)A[i]=B[i]=0;
for(i=1;i<=n;i++)A[i]=a[i]-'0';
for(i=1;i<=m;i++)B[i]=b[i]-'0';
if(n<m)n=m;
for(i=1;i<n-i+1;i++)swap(A[i],A[n-i+1]),swap(B[i],B[n-i+1]);
for(i=1;i<=n;i++)for(j=0;j<18;j++)f[i][j][0]=f[i][j][1]=0;
for(i=0;i<=B[1];i++){
t=max(i-A[1],-9);
if(t<9)f[1][t+9][i==B[1]]++;
}
for(i=1;i<n;i++)for(j=-9;j<9;j++){
for(k=0;k<=9;k++){
t=max(j*2-A[i+1]+k,-9);
if(t<9)up(f[i+1][t+9][0],f[i][j+9][0]);
}
for(k=0;k<=B[i+1];k++){
t=max(j*2-A[i+1]+k,-9);
if(t<9)up(f[i+1][t+9][k==B[i+1]],f[i][j+9][1]);
}
}
for(ans=j=0;j<=9;j++)up(ans,f[n][j][0]),up(ans,f[n][j][1]);
printf("Case #%d: %d\n",C,ans);
}
return 0;
}

  

BZOJ3588 : fx的更多相关文章

  1. 用fxc.exe编译shader文件(*.fx, *.hlsl)的设置

    原文出自:http://msdn.microsoft.com/en-us/library/windows/desktop/bb509709(v=vs.85).aspx#Profiles 拿DX11 S ...

  2. atitit.团队建设总结fx O622

    团队建设总结fx O622 大的title 2 建设团队文化 2 办公环境(3s+树+湖) 3 每人一个办公室 3 弹性工作制 3 重大的决定公投体制 3 每年一个kid经验日 3 做自己想到做的事. ...

  3. 交互式报表和工作报表控件Stimulsoft Reports.Fx for Java

    Stimulsoft Reports.Fx for Java是一款Java平台下的报表工具控件,可以为您的应用程序添加交互式报表和工作报表.Java技术可以用于不同的平台.不同的操作系统和不同的硬件, ...

  4. dojo 九 effects dojo/_base/fx 和 dojo/fx

    官方教程:Dojo Effects这里讲学习一下dojo如何实现淡入.淡出.滑动等效果.实现这些特殊的效果有两个包 dojo/_base/fx 和 dojo/fx.dojo/_base/fx 中提供了 ...

  5. Flex里的命名空间,fx、mx、s【转】

    Flex 4带给我们的,是全新的命名空间.了解这些命名空间必定是一件好事情.Flex 4有三个非常重要的命名空间,分别是: xmlns:fx=”http://ns.adobe.com/mxml/200 ...

  6. Styling FX Buttons with CSS

    http://fxexperience.com/2011/12/styling-fx-buttons-with-css/ ——————————————————————————————————————— ...

  7. [效果]JS折叠菜单-使用方法 (Moo.Fx)

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-06-24) 用法: 1.添加JS库 CODE:<script src="prototype.lite.js& ...

  8. Houdini FX 14 重磅推出!(附下载方式)

    把之前发布在新浪的博客搬过来了,新浪广告太多,影响阅读和观感,博客园很清净~ SideFX于2015年1月在官网发布Houdini FX 14,喜爱尝鲜.充满好奇心的我迫不及待的装上Apprentic ...

  9. Tsinsen A1516. fx 数位dp

    题目: http://www.tsinsen.com/A1516 A1516. fx 时间限制:2.0s   内存限制:256.0MB    总提交次数:164   AC次数:72   平均分:51. ...

随机推荐

  1. EVE ToDo

    1. 打捞无人机 2. 无人机命中

  2. NYOJ题目97兄弟郊游问题

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr8AAAHxCAIAAADrwUM4AAAgAElEQVR4nO3dLXLjytfH8f8mzLOQYC

  3. bnu24252 海盗分赃

    题目链接:http://www.bnuoj.com/v3/problem_show.php?pid=24252 这是四川2012年省赛的一道题,背景:海盗分宝藏.大概题意:给你N种价值的物品,物品有两 ...

  4. LoadRunner函数

    一.基础函数简介 在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init().Action().vuser_end().这三个函数存在于任何Vuser类型的脚本中. vus ...

  5. Label Font 字体样式设置

    label.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:24]; 字体名如下: Font Family: Amer ...

  6. 【PHP自定义显示系统级别的致命错误和用户级别的错误】

    使用方法set_error_handler可以自定义用户级别的错误和系统级别的错误信息显示和处理 用户级别的错误使用trigger_error方法产生一个用户级别的错误信息 代码示例: 系统级别的错误 ...

  7. [LeetCode] Pow(x, n)

    Implement pow(x, n). 有史以来做过最简单的一题,大概用5分钟ac,我采用fast exponential,这个在sicp的第一章就有描述.思想是:如果n是偶数的话,那么m^n = ...

  8. POJ1285 Combinations, Once Again(背包 排列组合)

    背包解组合数学问题,n种物品,每种num[i]个,求取r个的方法数. 背包思想,f[j]表示当前取j个数的方法数,则状态转移方程为 f[j] += f[k](max(j - num[i], 0) &l ...

  9. 向Word模板中填充数据

    现在有这样的需求,给Word文档的指定位置填充上特定数据,例如我们有一个终端,用来打印员工的薪资证明,对于一个公司来说,他的薪资证明模板是固定的,变化的地方是员工姓名,部门,职位等.我们只需要将这些指 ...

  10. Linux命令之ar - 创建静态库.a文件和动态库.so

    转自:http://blog.csdn.net/eastonwoo/article/details/8241693 用途说明 创建静态库.a文件.用C/C++开发程序时经常用到,但我很少单独在命令行中 ...