【cf789B】Masha and geometric depression(分类讨论/暴力)

时间:2022-12-15 19:57:01

B. Masha and geometric depression

题意

在黑板上写数列,首项是b,公比是q,超过l时就停止不写。给定m个数,遇到后跳过不写。问一共写多少个数,如果无穷个输出inf。

题解

分类讨论要注意b大于l,则一个也不会写。(仔细读题!!

暴力的话,可以用map或者set,然后遇到重复的就是inf。

代码

const int N = 2000001;
ll b,q,u,m;
ll a[N];
int main(){
while(~scanf("%lld%lld%lld%lld",&b,&q,&u,&m)){
rep(i,0,m)scanf("%lld",a+i);
sort(a,a+m);
bool bad=0,badb=0,badbb=0;
rep(i,0,m){
bad|=a[i]==0;
badb|=a[i]==b;
badbb|=a[i]==-b;
}
if(abs(b)>u)
puts("0");
else if(q==1){
puts(badb?"0":"inf");
}else if(q==0||b==0){
if(bad)
puts(badb||b==0?"0":"1");
else
puts("inf");
}else if(q==-1){
puts(badb&&badbb?"0":"inf");
}else {
int ans=0;
for(;abs(b)<=u;b*=q){
if(a[lower_bound(a, a+m, b)-a]!=b)
++ans;
}
printf("%d\n",ans);
}
}
return 0;
}

【cf789B】Masha and geometric depression(分类讨论/暴力)的更多相关文章

  1. CF789B&period; Masha and geometric depression

    /* CF789B. Masha and geometric depression http://codeforces.com/contest/789/problem/B 水题 各种特判,贼烦 */ ...

  2. 【分类讨论】【set】Codeforces Round &num;407 &lpar;Div&period; 2&rpar; B&period; Masha and geometric depression

    模拟一下那个过程,直到绝对值超过l,或者出现循环为止. 如果结束之后,绝对值是超过l的,就输出当前写在黑板上的数量. 如果出现循环,则如果写在黑板上的数量非零,则输出inf(注意!如果陷入的循环是一个 ...

  3. 【codeforces 789B】Masha and geometric depression

    [题目链接]:http://codeforces.com/contest/789/problem/B [题意] 让你一个一个地写出等比数列的每一项 (注意是一个一个地写出); 有m个数字不能写; 且数 ...

  4. codeforces 789 B&period; Masha and geometric

    链接 B. Masha and geometric depression 题意 给你一个等比数列的首项和公比q,然后给出一个上限l,m个数字,在这个等比数列里,小于l且没有在m个数字里面出现过的可以写 ...

  5. CodeForces - 789B B&period; Masha and geometric depression---(水坑 分类讨论)

    CodeForces - 789B 当时题意理解的有点偏差,一直wa在了14组.是q等于0的时候,b1的绝对值大于l的时候,当b1的绝对值大于l的时候就应该直接终端掉,不应该管后面的0的. 题意告诉你 ...

  6. cf 251 B Playing with Permutations 暴力 分类讨论

    题链;http://codeforces.com/problemset/problem/251/B B. Playing with Permutations time limit per test 2 ...

  7. UVaLive 6862 Triples &lpar;数学&plus;分类讨论&rpar;

    题意:给定一个n和m,问你x^j + y^j = z^j 的数量有多少个,其中0 <= x <= y <= z <= m, j = 2, 3, 4, ... n. 析:是一个数 ...

  8. P5979 &lbrack;PA2014&rsqb;Druzyny dp 分治 线段树 分类讨论 启发式合并

    LINK:Druzyny 这题研究了一下午 终于搞懂了. \(n^2\)的dp很容易得到. 考虑优化.又有大于的限制又有小于的限制这个非常难处理. 不过可以得到在限制人数上界的情况下能转移到的最远端点 ...

  9. Codeforces 521E - Cycling City(点双连通分量&plus;分类讨论)

    Codeforces 题面传送门 & 洛谷题面传送门 大家都是暴力找生成树然后跳路径,代码不到 50 行(暴论)的一说--好,那本蒟蒻决定提供一种代码 150 行,但复杂度也是线性的分类讨论做 ...

随机推荐

  1. Android检测网络是否正常代码!

    在Android开发中,如果该应用程序需要连接网络请求,那么最好我们先做一个检测网络是否在线的判断,否则程序容易出现卡死或FC等Bug,应该判断如果手机离线则弹出提示让用户检查网络,如果正常则继续执行 ...

  2. mui开发

    http://blog.csdn.net/sunhuaqiang1/article/details/46848005

  3. JSF session的用法

    http://blog.csdn.net/finelife/article/details/1608632 1.写入sessionObject sessionName = "name&quo ...

  4. shell中的循环语句

    for语法格式 for var in list;do commands done 其中list可以包含: 1) 直接写 for alpha in a b c d;do echo $alpha done ...

  5. Runtime&period;getRuntime&lpar;&rpar;&period;exec中命令含有括号问题

    在写批量运行bat工具的时候.想起了之前写的定时小工具里面的运行方法. 使用Runtime.getRuntime().exec方法. Runtime.getRuntime().exec("c ...

  6. Java Trie树

    Tire树,又叫字典树,主要是用来查找单词,词频统计的. 老规矩,直接上代码. package tireTree; public class TireTree { TireNode root; pub ...

  7. win7下,使用django运行django-admin&period;py无法创建网站

    安装django的步骤: 1.安装python,选择默认安装在c盘即可.设置环境变量path,值添加python的安装路径. 2.下载ez_setup.py,下载地址:http://peak.tele ...

  8. Python中的print、input函数以及Python中交换两个变量解析

    一.Python中的值交换操作 首先明确一点点,Python中的一切都是面向对象的,可以理解为Python的中一切都是对象. 我们知道Java也是面向对象的语言,但是在Java中定义一个值变量如下: ...

  9. (记忆化搜索)数塔 (zznu 1271)

    http://acm.zznu.edu.cn/problem.php?id=1271 1271: 数塔 时间限制: 1 Sec  内存限制: 128 MB提交: 109  解决: 78[提交][状态] ...

  10. flask 实现异步非阻塞----gevent

    我们都知道,flask不支持异步非阻塞的请求,我们可以创建一个新项目去测试一下,推荐大家使用pycharm去开发我们的flask  使用特别的方便. rom flask import Flask im ...