codeforces 789 B. Masha and geometric
链接
B. Masha and geometric depression
题意
给你一个等比数列的首项和公比q,然后给出一个上限l,m个数字,在这个等比数列里,小于l且没有在m个数字里面出现过的
可以写在黑板上,问最后能写在黑板上的数字有多少个
做法
坑点主要都在b1和q上,我们只需要特判掉和q=0或者
=0的情况,然后用set存m个数字(可以去重),再暴力到
>=l就可以了。
代码
/*set容器中count(x)返回x的数量1或0,se.find(b1) == se.end()判断b1是不是不在se里面,不在的话返回1,在的话返回0*/
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 100010;
int main() {
LL a[maxn];
LL b1, q, l, m;
while(cin >> b1 >> q >> l >> m) {
LL ans = 0;
LL cnt = 0;
set<int> se;
for(LL i = 0; i < m; i++) {
cin >> a[i];
se.insert(a[i]);
}
if(abs(b1) > l)
cout << 0 << endl;
else if(!b1 || !q) {
if(!se.count(0))
cout << "inf" << endl;
else
cout << (se.find(b1) == se.end()) << endl;
} else if(abs(q) == 1) {
if((!se.count(b1)) || (!se.count(b1 * q)))
cout << "inf" << endl;
else
cout << 0 << endl;
} else {
LL sum = b1;
int cnt = 0;
while(llabs(sum) <= l) {
if (se.find(sum) == se.end()) {
cnt ++;
}
sum *= q;
}
cout << cnt << endl;
}
}
return 0;
}
codeforces 789 B. Masha and geometric的更多相关文章
- 【codeforces 789B】Masha and geometric depression
[题目链接]:http://codeforces.com/contest/789/problem/B [题意] 让你一个一个地写出等比数列的每一项 (注意是一个一个地写出); 有m个数字不能写; 且数 ...
- CodeForces - 789B B. Masha and geometric depression---(水坑 分类讨论)
CodeForces - 789B 当时题意理解的有点偏差,一直wa在了14组.是q等于0的时候,b1的绝对值大于l的时候,当b1的绝对值大于l的时候就应该直接终端掉,不应该管后面的0的. 题意告诉你 ...
- CF789B. Masha and geometric depression
/* CF789B. Masha and geometric depression http://codeforces.com/contest/789/problem/B 水题 各种特判,贼烦 */ ...
- 【cf789B】Masha and geometric depression(分类讨论/暴力)
B. Masha and geometric depression 题意 在黑板上写数列,首项是b,公比是q,超过l时就停止不写.给定m个数,遇到后跳过不写.问一共写多少个数,如果无穷个输出inf. ...
- 【分类讨论】【set】Codeforces Round #407 (Div. 2) B. Masha and geometric depression
模拟一下那个过程,直到绝对值超过l,或者出现循环为止. 如果结束之后,绝对值是超过l的,就输出当前写在黑板上的数量. 如果出现循环,则如果写在黑板上的数量非零,则输出inf(注意!如果陷入的循环是一个 ...
- codeforces 789 C. Functions again(dp求区间和最大)
题目链接:http://codeforces.com/contest/789/problem/C 题意:就是给出一个公式 然后给出一串数求一个区间使得f(l,r)最大. 这题需要一个小小的处理 可以设 ...
- codeforces 789 A. Anastasia and pebbles
链接 A. Anastasia and pebbles 题意 这个人有两个口袋,有n种类型的鹅卵石,每种鹅卵石有wi个,每次可以放同一种最多k个,每次不能把不同类型的鹅卵石放进同一个口袋,但是她可以同 ...
- 3.26-3.31【cf补题+其他】
计蒜客)翻硬币 //暴力匹配 #include<cstdio> #include<cstring> #define CLR(a, b) memset((a), (b), s ...
- CodeForces 567C Geometric Progression
Geometric Progression Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I ...
随机推荐
- __call__ 和 __str__ 魔术方法
魔术方法,在python中,是通过触发的形式调用,之所以称为魔术方法,是因为不需要特地的打印或调用它,在某些特定的时候,他会自己调用,所谓的特定的时候,也是我们自己所输入的代码操作的,不是莫名其妙的触 ...
- 洛谷 P2805 BZOJ 1565 植物大战僵尸
题目描述 Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多 ...
- Java - 将vCard中十六进制编码转换成Unicode
做课程设计的时候在处理vCard格式的时候遇到过出现十六进制编码的情况,例如 QUOTED-PRINTABLE:=XX=XX=XX=XX=XX`````` 其中XX代表十六进制数,当然,也有可能在末尾 ...
- 修改Xorg.conf配置显示分辨率
修改Xorg.conf是件简单的事,配置文件结构简单,也没有复杂的语法,但是一但配置失败,后果是比较 严重的,,所以强烈建议每次修改之前做好备份工作. Xorg.conf一般位于/etc/X11/xo ...
- 安装Maven并搭建Maven私有仓库
一.说明 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十 ...
- HDU 5174
题意有点不明白,因为MAX为int最大值,推测为64位,AC #include <cstdio> #include <iostream> #include <cstrin ...
- POJ 1265
主要利用PICK定理与边点数上的GCD的关系求解. 三角形一条边上的所有整数点(包括顶点)可以首先将这条边移到(0, 0)->(x, y).这时,(x/gcd(x, y), y/gcd(x, y ...
- Unity3D 射线指定层获取GameObject 注意 LayerMask
这一篇是纯技术讨论,看过我前面文章的童鞋应该清楚,我的奔跑是靠鼠标响应的,鼠标点到哪就跑到哪,后来又有了界面,麻烦就来了,我的界面居然能点 穿.我不希望点界面的时候还能点到界面后面的地面上,角色傻不拉 ...
- Hadoop作业性能指标及參数调优实例 (三)Hadoop作业性能參数调优方法
作者: Shu, Alison Hadoop作业性能调优的两种场景: 一.用户观察到作业性能差,主动寻求帮助. (一)eBayEagle作业性能分析器 1. Hadoop作业性能异常指标 2. Had ...
- 深度学习将会变革NLP中的中文分词——TODO 待好好细看
见:https://www.leiphone.com/news/201608/IWvc75oJglAIsDvJ.html TODO 待好好细看