模拟一下那个过程,直到绝对值超过l,或者出现循环为止。

如果结束之后,绝对值是超过l的,就输出当前写在黑板上的数量。

如果出现循环,则如果写在黑板上的数量非零,则输出inf(注意!如果陷入的循环是一个全部被禁止的循环,但是黑板上有输出的值,则还是应该输出黑板上的值的数量。这种情况用循环再向后扫几项判一下即可。),否则输出0。

用三个set处理。

#include<cstdio>
#include<set>
using namespace std;
typedef long long ll;
ll Abs(ll x){
return x<0 ? (-x) : x;
}
int b1,q,l,m,a[100100];
set<int>S,S2,S3;
int main(){
// freopen("b.in","r",stdin);
scanf("%d%d%d%d",&b1,&q,&l,&m);
for(int i=1;i<=m;++i){
scanf("%d",&a[i]);
S.insert(a[i]);
}
ll b=b1;
while(1){
if(Abs(b)>(ll)l || S2.find(b)!=S2.end()){
break;
}
S2.insert(b);
if(S.find(b)==S.end()){
S3.insert(b);
}
b*=(ll)q;
}
if(Abs(b)<=(ll)l){
if(S3.size()){
bool flag=0;
for(int i=1;i<=100000;++i){
b*=(ll)q;
if(S.find(b)==S.end()){
flag=1;
break;
}
S3.erase((int)b);
}
if(flag){
puts("inf");
}
else{
printf("%d\n",S3.size());
}
}
else{
puts("0");
}
}
else{
printf("%d\n",S3.size());
}
return 0;
}

【分类讨论】【set】Codeforces Round #407 (Div. 2) B. Masha and geometric depression的更多相关文章

  1. 【分类讨论】Codeforces Round #407 (Div. 2) D. Weird journey

    考虑这个二元组中有一者是自环,则必然合法. 考虑这两条边都不是自环,如果它们不相邻,则不合法,否则合法. 坑的情况是,如果它是一张完整的图+一些离散的点,则会有解,不要因为图不连通,就误判成无解. # ...

  2. 【树链剖分】【dfs序】【LCA】【分类讨论】Codeforces Round #425 (Div. 2) D. Misha, Grisha and Underground

    一棵树,q次询问,每次给你三个点a b c,让你把它们选做s f t,问你把s到f +1后,询问f到t的和,然后可能的最大值是多少. 最无脑的想法是链剖线段树……但是会TLE. LCT一样无脑,但是少 ...

  3. 【推导】【分类讨论】Codeforces Round #431 (Div. 1) B. Rooter's Song

    给你一个这样的图,那些点是舞者,他们每个人会在原地待ti时间之后,以每秒1m的速度向前移动,到边界以后停止.只不过有时候会碰撞,碰撞之后的转向是这样哒: 让你输出每个人的停止位置坐标. ①将x轴上初始 ...

  4. 【构造】【分类讨论】Codeforces Round #435 (Div. 2) C. Mahmoud and Ehab and the xor

    题意:给你n,x,均不超过10^5,让你构造一个无重复元素的n个元素的非负整数集合(每个元素不超过10^6),使得它们的Xor和恰好为x. 如果x不为0: 随便在x里面找一个非零位,然后固定该位为0, ...

  5. 【分类讨论】Codeforces Round #395 (Div. 2) D. Timofey and rectangles

    D题: 题目思路:给你n个不想交的矩形并别边长为奇数(很有用)问你可以可以只用四种颜色给n个矩形染色使得相接触的 矩形的颜色不相同,我们首先考虑可不可能,我们分析下最多有几个矩形互相接触,两个时可以都 ...

  6. Codeforces Round #407 (Div. 1)

    人傻不会B 写了C正解结果因为数组开小最后RE了 疯狂掉分 AC:A Rank:392 Rating: 2191-92->2099 A. Functions again 题目大意:给定一个长度为 ...

  7. Codeforces Round #407 (Div. 1) B. Weird journey —— dfs + 图

    题目链接:http://codeforces.com/problemset/problem/788/B B. Weird journey time limit per test 2 seconds m ...

  8. Codeforces Round #407 (Div. 2)

    来自FallDream的博客,未经允许,请勿转载,谢谢. ------------------------------------------------------ A.Anastasia and ...

  9. Codeforces Round #407 (Div. 2)A B C 水 暴力 最大子序列和

    A. Anastasia and pebbles time limit per test 1 second memory limit per test 256 megabytes input stan ...

随机推荐

  1. js刷新页面方法 -- (转)

    1,reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet])   参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里 ...

  2. 从零开始PHP攻略(000)——关于WAMPServer集成环境

    Apache.PHP和MySQL都可以用于多种操作系统和Web服务器的组合.本篇介绍在Windows下用WampServer环境包来搭建本地php环境. W:windows A:Apache M:My ...

  3. [Leetcode Week15]Populating Next Right Pointers in Each Node

    Populating Next Right Pointers in Each Node 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/populati ...

  4. mysql 数据库修改名字

    通过information_schema信息修改rename database的目的 mysql 没有rename database 命令,只能变相修改表到目标库里的表来实现: 拼接reanme ta ...

  5. web优化的方法

    缓存(减小对服务器.数据库的压力) 生成静态页面(区别于缓存,数据量太大用“缓存”不利) URL重写(SEO,搜索引擎的优化) ajax的优化(SEO) <meta content=“” nam ...

  6. vue知识点(1)

    处理用户输入 v-on指令添加一个事件监听器 div id="app-5"> <p>{{ message }}</p> <button v-on ...

  7. 用指定jdk执行jar包

    在运行jar包前执行以下命令,作用是在当前命令行窗口作用域内修改环境变量: export JAVA_HOME=/root/jiabao.gao/Hbase2Redis-1.0.0-SNAPSHOT/j ...

  8. Springboot问题合集

    1. springboot错误: 找不到或无法加载主类 springboot错误: 找不到或无法加载主类 一般是由于maven加载错误导致的,而我遇到是因为module没有导入正确,重新导一下modu ...

  9. ES6新数据结构Set让数组去重

    function unique(array){ return Array.from(new Set(array)); } var arr = ['aa','bb','cc','',1,0,'1',1, ...

  10. OpenCL与CUDA,CPU与GPU

    OpenCL OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式.免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计 ...