从低位到高位数位DP,f[i][j][k]表示已经填了后i位,转化的数字为j,后i位与x后i位的大小关系为k的方案数。

#include<cstdio>
const int N=202,B=7,P=(1<<30)-1;
char s[N];int T,n,y,i,j,k,t,a[N];
struct Num{int x[B];Num(){for(int i=0;i<B;i++)x[i]=0;}Num operator+(Num b){Num c;for(int i=0;i<B;i++)c.x[i]=x[i]+b.x[i];for(int i=0;i<B-1;i++)if(c.x[i]>P)c.x[i+1]++,c.x[i]&=P;return c;}Num operator-(Num b){Num c;for(int i=0;i<B;i++)c.x[i]=x[i]-b.x[i];for(int i=0;i<B-1;i++)if(c.x[i]<0)c.x[i+1]--,c.x[i]+=P+1;return c;}void operator+=(Num b){*this=*this+b;}void operator-=(Num b){*this=*this-b;}void write(){int i;for(i=N-1;~i;i--)if(x[i/30]&(1<<i%30))break;if(i<0)putchar('0');for(;~i;i--)putchar(x[i/30]&(1<<i%30)?'1':'0');}
}f[N][2][2],tmp,ans,one;
Num cal(){scanf("%s",s+1);for(i=1;i<=n;i++)a[n-i+1]=s[i]-'0',f[i][0][0]=f[i][0][1]=f[i][1][0]=f[i][1][1]=Num();for(t=0;t<=1;t++)f[1][t][t<a[1]]+=one;for(i=1;i<n;i++)for(j=0;j<=1;j++)for(k=0;k<=1;k++)for(t=0;t<=1;t++)f[i+1][!j&&!t][t==a[i+1]?k:t<a[i+1]]+=f[i][j][k];return f[n][y][1];
}
int main(){one.x[0]=1;scanf("%d",&T);while(T--){scanf("%d%d",&n,&y);tmp=cal(),ans=cal();for(k=a[1],i=2;i<=n;i++)k=!k&&!a[i];if(k==y)ans+=one;ans-=tmp;ans.write();puts("");}return 0;
}

  

转载于:https://www.cnblogs.com/clrs97/p/4403196.html

BZOJ3780 : 数字统计相关推荐

  1. ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例

    jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: 当前在线: - ...

  2. ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能

    jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: 当前在线: 然后 ...

  3. 1949:【10NOIP普及组】数字统计

    /* 1949:[10NOIP普及组]数字统计 http://ybt.ssoier.cn:8088/problem_show.php?pid=1949 */ #include <bits/std ...

  4. 信息学奥赛一本通 1096:数字统计 | 1949:【10NOIP普及组】数字统计 | OpenJudge NOI 1.5 41

    [题目链接] ybt 1096:数字统计 ybt 1949:[10NOIP普及组]数字统计 OpenJudge NOI 1.5 41:数字统计 [题目考点] 1. 分离整数的各位数字 对于数字a,a% ...

  5. 信息奥赛一本通(1096:数字统计)

    1096:数字统计 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 26012     通过数: 18138 [题目描述] 请统计某个给定范围[L, R]的所有整数 ...

  6. 洛谷——P1179 [NOIP2010 普及组] 数字统计

    P1179 [NOIP2010 普及组] 数字统计 题目描述 请统计某个给定范围[L, R][L,R]的所有整数中,数字 22 出现的次数. 比如给定范围[2, 22][2,22],数字22 在数 2 ...

  7. POJ NOI0105-41 数字统计

    问题链接:POJ NOI0105-41 数字统计. 总时间限制: 1000ms 内存限制: 65536kB 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 2 ...

  8. Vijos P1784 数字统计【进制】

    背景 来自 NOIP2010 普及组 第一题 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数2 ...

  9. 1021个位数字统计

    题目链接:个位数字统计 思路:1000位,肯定不能用数字表示,将字符串转换成数字-48 注意点: 实话说这是我达不到的水准,我已经弄混了,或者说根本就没有掌握,遇到类似的,直接凉了! 什么是字符数组? ...

  10. XDOJ综合题 数字统计排序

    XDOJ - 数字统计排序 类别:综合 时间限制:1S 内存限制:256Kb 问题描述: 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出,次数相同时先输出值较小的数. 输入说明 ...

最新文章

  1. 必看干货:如何在 JavaScript 中实现 8 种基本图形算法
  2. 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!
  3. ios 静态库合成_iOS链接原理解析与应用实践
  4. sql针对某字段去重查询_sql针对某一字段去重,并且保留其他字段
  5. history linux 日志服务器_Linux下使用rsyslog部署日志服务器 记录history并发送到rsyslog服务器...
  6. python两两组合求和_LeetCode-python 40.组合总和 II
  7. linux下的awk程序在哪里编写,如何编写awk命令和脚本
  8. 本地html页面传递表单值,js实现两个页面表单传值并接收
  9. 计算机桌面颜色突然变灰,Win10桌面颜色变为灰的两种解决方法
  10. Java入门到精通(六)
  11. Graph2Vec运行
  12. HTTP幂等性概念和应用
  13. UML统一建模语言简介
  14. PTES执行内容思维导图
  15. chrome浏览器打开base64图片
  16. 分布式自增序列id的实现(二) ---分布式序号生成器---基于Redis的自增功能
  17. c语言求布尔矩阵的乘积,离散数学 关系矩阵的布尔乘法的简便方法
  18. 计算机英语冯敏课后题答案,(中学篇)2020年第10期:例谈基于协同效应的读后续写教学(浙江:冯敏)一文涉及的读后续写试题...
  19. python画布删除图形_Matplotlib在savefig之后从画布中清除旧图形
  20. [附源码]java毕业设计电影影评网

热门文章

  1. windows下安装MinGW、swig 、zlib
  2. 看完这篇再不会 View 的动画框架,我跪搓衣板
  3. ieda使用 在jsp页面中,有时候会出现不能智能显示方法 idea pageContext.setAttribute...
  4. RuiJie命令行划VLAN
  5. Bzoj 3831: [Poi2014]Little Bird
  6. 利用脚本设置本机IP地址
  7. 建立RHELAS4下面的Yum本地源
  8. PIE SDK专题制图切换模板
  9. 【SPSS】软件介绍
  10. JS兼容性问题:window.locatin.href is not a function