ZUFE OJ 2301 GW I (3)
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
Sample Output
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)的更多相关文章
- ZUFE OJ 2288 God Wang I
Description God Wang 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GodW变换 对于一个数字n,该变换后的值GodW(n)为,先令X=n 第一步,如果X为个位数,G ...
- ZUFE OJ 2145 05机关图
Description Ink最近得到了一张藏宝图,这张图上共有n个藏宝室,但因为年代久远藏宝图上的路已经模糊不清,于是Ink找到了智慧的Pseudo,Pseudo告诉Ink,这个宝藏中每两个藏宝室之 ...
- ZUFE OJ 2289 God Wang II
Description 这个世界太无聊了,于是God Wang想出了新的运算符号$,对于两个数x,y来说x$y的值等于x和y各个位置上的数字乘积之和,没有的位按0来算 比如说123$321=1*3+2 ...
- zufe oj 引水工程( 巧妙地把在i建水设为e[0][i])
引水工程 时间限制: 3 Sec 内存限制: 128 MB提交: 11 解决: 6[提交][状态][讨论版] 题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来 ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- Online Judge(OJ)搭建(第一版)
搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...
- linux 做gw(nat)详细配置
linux 做企业网关gw(nat)详细配置 最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨, ...
- [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ
前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的 ...
- bzoj 2301: [HAOI2011]Problem b
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 3757 Solved: 1671 [Submit] ...
随机推荐
- 如何让linux时间与internet时间同步(centos)
笔者在使用linux时(虚拟机),经常会发现使用一段时间后,linux时间和我的宿主机(真实机)的时间不一致,而宿主机的时间确实是internet时间,安装linux时选择的时区也是Asia/Shan ...
- 邮件发布google blogger 博客
<?php $to = "@gmail.com";$subject = "Test mail";$message = "Hello! This ...
- eclipse新建workspace使用之前workspace的个性配置
为使新建的workspace(称作A)的配置,比如主题等等,和之前的workspace(称作B)的配置一样: . 关闭eclipse . 将A中.metadata/.plugins目录下所有文件.文件 ...
- spark第二篇--基本原理
==是什么 == 目标Scope(解决什么问题) 在大规模的特定数据集上的迭代运算或重复查询检索 官方定义 aMapReduce-like cluster computing framework de ...
- nefu 446 今年暑假不AC(贪心)
Description “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会 ...
- HDU2504:又见GCD
Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input ...
- override the hashcode and equals method in java
http://howtodoinjava.com/2012/10/09/working-with-hashcode-and-equals-methods-in-java/
- TCP/IP,http,socket,长连接,短连接——小结。
来源:http://blog.chinaunix.net/uid-9622484-id-3392992.html TCP/IP是什么? TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. ...
- flex超链接
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- hibernate ——联合主键
接上一篇博客:http://www.cnblogs.com/tengpan-cn/p/5551323.html 主键类不需要写任何注解,表对象类使用@IdClass注解 在表对象类前面加@IdClas ...