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. 定时执行.SH

    crontab -l 看自定义定时列表 crontab -e  编辑 */10 * * * * /bak/bak.sh10分钟执行一次 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  2. SDCycleScrollView 添加初始滚动页码

    最近在做一个无限轮播界面,由于自己写的有些卡顿,所以我使用了第三方框架SDCycleScrollView,但是我的初始滚动页不是从第一页开始怎么办,我想从第二页,第三页,或者最后一页,关于这个SDCy ...

  3. Entity Framework 学习中级篇3—存储过程(中)

    目前,EF对存储过程的支持并不完善.存在以下问题: l         EF不支持存储过程返回多表联合查询的结果集. l         EF仅支持返回返回某个表的全部字段,以便转换成对应的实体.无法 ...

  4. 转 使用SQL从AWR收集数据库性能变化趋势

    使用SQL从AWR收集数据库性能变化趋势 为了对数据库一段时间的性能情况有个全面了解,显然AWR是一个非常有用的工具, 但很多人只会在数据库有性能问题时才会生成问题时段的awr报告去分析.虽然AWR ...

  5. 关于RuntimException

    对于实现接口的类如果要抛出异常的话,那么接口也要抛出异常 所以RuntimeException只要对于实现接口的类就可以了 对于继承的类也可以这样运用 毕竟在实际开发中接口不一定是自己写的,而且团队可 ...

  6. Ugly Problem

    Ugly Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Spec ...

  7. LA 4329 BIT 分治

    #include <cstdio> #include <queue> #include <cstring> #include <iostream> #i ...

  8. pkgmgmt: Comparison between different Linux Systems..

    found this page.. already done by precedents.. installation: aptitude install apt-get install yum in ...

  9. 4位开锁<dfs>

    题意: 有一个四位密码的锁,每一位是1~9的密码,1跟9相连.并且相邻的连个密码位可以交换.每改变一位耗时1s,给出锁的当前状态和密码,求最少解锁时间. 思路: 用bfs枚举出所有相邻交换的情况,并记 ...

  10. druid-1.0.13 数据库配置文件密码加密

    1.cmd 切换到druid目录  我的是C:\tool\apache-tomcat-7.0.67\webapps\projectA\WEB-INF\lib 2.运行命令 java -cp druid ...