考虑从左往右填数,维护当前数字权值与$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. iOS - 常用的宏定义

    1.处理NSLog事件(开发者模式打印,发布者模式不打印) 1 2 3 4 5   #ifdef DEBUG   #define NSLog(FORMAT, ...) fprintf(stderr,& ...

  2. Win7 DCOM 配置中我的电脑出现红色箭头并且无属性显示的解决方法

    http://blog.csdn.net/embededvc/article/details/19234479

  3. JVM的内存分配与垃圾回收策略

    自动内存管理机制主要解决了两个问题:给对象分配内存以及回收分配给对象的内存. >>垃圾回收的区域 前面的笔记中整理过虚拟机运行数据区,再看一下这个区域: 注意在这个Runtime Data ...

  4. Sublime Text + CTags + Cscope (部分替代Source Insight)

    CTags & cscope 下载: CTags+Cscope --- 我的百度云盘下载http://pan.baidu.com/s/1gfyPnuN ctags58.zip --- src ...

  5. Delphi线程的终止

    当线程对象的Execute()执行完毕,我们就认为此线程终止了.这时候,它会调用Delphi的一个标准例程EndThread(),这个例程再调用API函数ExitThread().由ExitThrea ...

  6. MVC:Control与View传值

    MVC页面传值的方式主要有三种: 第一种: 采用ViewData.采用键值对的方式,ViewData存储的是一个object类型,传到view层需要强类型转换:使用起来类似于字典集合模式: ViewD ...

  7. 排序练习【sdut 1582】【堆排序】

    排序 Time Limit: 1000ms   Memory limit: 32678K  有疑问?点这里^_^ 题目描述 给你N(N<=100)个数,请你按照从小到大的顺序输出. 输入 输入数 ...

  8. SQL索引及视图常用语法

    ALTER TABLE department ADD INDEX dept_name_idx (name); SHOW INDEX FROM department \G ALTER TABLE dep ...

  9. Quartz:Cron Expressions

    原文地址:http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/crontrigger.html 注意: 位也可能是7位, ...

  10. java学习笔记(2):获取文件名和自定义文件过滤器

    //自定义文件过滤器import java.io.File; import javax.swing.filechooser.*; public class JavaChooser extends Fi ...