Description

GW 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GW变换

对于一个数字n,该变换后的值GW(n)为,先令X=n

第一步,如果X为个位数,GW(n)=X,否则执行第二步;

第二步,X的奇数位置的数字之和为a,偶数位置的和为b, X=a*b, 执行第一步;

现在我们有T个询问,对于每个询问输入三个整数数l,r,x

对于每个询问请输出在[l,r]这个闭区间里的数经过该变换后为x的数有多少个

Input

第一行是一个T,表示有T组询问(T<=1000)

接下来T行,每行三个整数l,r,x (0<=l<=r<=10000000)

Output

输出T行,每行一个整数,代表着答案。

Sample Input

2
1 10 2
20 25 0

Sample Output

1
2

HINT

第二个样例中满足条件的值分别为20和25

离线操作

#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std; int tot[];
int ans[+];
int T;
int GW[+];
int r[],d; struct Quary
{
bool flag;//flag==0表示是起点 flag==1表示是终点
int t;//第几组的询问
int u;
int x;//要询问数字
}Q[+]; bool cmp(const Quary&a,const Quary&b)
{
if(a.u==b.u) return a.flag<b.flag;
return a.u<b.u;
} void init()
{
memset(tot,,sizeof tot);
memset(ans,,sizeof ans);
} int Tra(int x)
{
d=;
int A=,B=;
while(x)
{
r[d]=x%;
x=x/;
d++;
}
for(int i=;i<d;i++)
{
if(i%==) A=A+r[i];
else B=B+r[i];
}
return A*B;
} void F()
{
for(int i=;i<=;i++) GW[i]=i;
for(int i=;i<=;i++) GW[i]=GW[Tra(i)];
} int main()
{
F();
scanf("%d",&T);
init();
int zzt=;
for(int i=;i<=T;i++)
{
int L,R,X;
scanf("%d%d%d",&L,&R,&X);
if(X>||X<) {ans[i]=;continue;} Q[zzt].flag=;
Q[zzt].t=i;
Q[zzt].u=L;
Q[zzt].x=X;
zzt++; Q[zzt].flag=;
Q[zzt].t=i;
Q[zzt].u=R;
Q[zzt].x=X;
zzt++;
}
sort(Q,Q+zzt,cmp); int now=;
for(int i=;i<zzt;i++)
{
if(Q[i].flag==)
{
for(int j=now;j<Q[i].u;j++) tot[GW[j]]++;
ans[Q[i].t]=tot[Q[i].x];
now=Q[i].u;
}
else if(Q[i].flag==)
{
for(int j=now;j<=Q[i].u;j++) tot[GW[j]]++;
ans[Q[i].t]=tot[Q[i].x]-ans[Q[i].t];
now=Q[i].u+;
}
}
for(int i=;i<=T;i++) printf("%d\n",ans[i]);
return ;
}

ZUFE OJ 2301 GW I (3)的更多相关文章

  1. ZUFE OJ 2288 God Wang I

    Description God Wang 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GodW变换 对于一个数字n,该变换后的值GodW(n)为,先令X=n 第一步,如果X为个位数,G ...

  2. ZUFE OJ 2145 05机关图

    Description Ink最近得到了一张藏宝图,这张图上共有n个藏宝室,但因为年代久远藏宝图上的路已经模糊不清,于是Ink找到了智慧的Pseudo,Pseudo告诉Ink,这个宝藏中每两个藏宝室之 ...

  3. ZUFE OJ 2289 God Wang II

    Description 这个世界太无聊了,于是God Wang想出了新的运算符号$,对于两个数x,y来说x$y的值等于x和y各个位置上的数字乘积之和,没有的位按0来算 比如说123$321=1*3+2 ...

  4. zufe oj 引水工程( 巧妙地把在i建水设为e[0][i])

    引水工程 时间限制: 3 Sec  内存限制: 128 MB提交: 11  解决: 6[提交][状态][讨论版] 题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来 ...

  5. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  6. Online Judge(OJ)搭建(第一版)

    搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...

  7. linux 做gw(nat)详细配置

                          linux 做企业网关gw(nat)详细配置   最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨, ...

  8. [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ

    前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的 ...

  9. bzoj 2301: [HAOI2011]Problem b

    2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 3757 Solved: 1671 [Submit] ...

随机推荐

  1. Bank Interest

    Bank Interest Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Tota ...

  2. css 相关

    background-size: auto就会变成就是不会让图像变形的,会自动调整,一般是会设置多少箱像素的, background-size: XXpx XXpx;百分百那就铺满整个区域了 back ...

  3. java 单例模式及getInstance的好处

    1.什么是单例模式 简单理解为,有一个类,只能有一个实例化对象,这就是单例模式. 2.getInstance的好处 首先看一下怎样使用getInstance实现单例模式 public class Co ...

  4. parted

    1.选择分区表 sudo parted -s /dev/sdXX mklabel gpt 2.创建分区 sudo parted -s -- /dev/sdX mkpart primary 0 -1s ...

  5. 常见html标签

    1.flash嵌入标签 <object> <embed allowscriptaccess="always" allowfullscreen="true ...

  6. 【bfs】 poj 3984 maze 队列存储

    #include <iostream> #include <stdio.h> #include <cstring> #define Max 0x7f7f7f7f u ...

  7. Linux标准目录

    本文参考鸟哥的linux私房菜 /bin 获得最小的系统可操作性所需要的命令 /boot 内核和加载内核所需要的文件 /dev 终端.磁盘.调制解调器等的设备项 /etc 关键的启动文件和配置文件 / ...

  8. 10款超酷实用的jQuery焦点图赏析及源码

    1.jquery整屏滚动插件Scrollify Scrollify是一个jQuery插件协助整屏滚动和顺利拍摄部分.完全可配置和优化. 在线演示 源码下载 2.jquery实现网易邮箱页面插件full ...

  9. 在CDockablePane中嵌入对话框

    CDockablePane类可以用来创建停靠栏.可以将其他控件集成到CDockablePane的派生类中.下文描述如何将对话框集成到CDockablePane中. a)      创建单文档应用程序: ...

  10. 在vim下,实现nesC语句的高亮

    默认的vim没有支持nesC语法高亮,给阅读源码带来不便.不过可以通过装NesC Syntax Highlighting插件来解决这个问题,具体操作如下: 步骤一:下载插件 在http://www.v ...