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是不是不在s…
[题目链接]:http://codeforces.com/contest/789/problem/B [题意] 让你一个一个地写出等比数列的每一项 (注意是一个一个地写出); 有m个数字不能写; 且数字大于l的不写(大于l了就停止不再继续写) [题解] 特判b1=0,q=0,q=1,q=-1的情况就好; 有个很坑的地方就是,如果b1>l了,那么b2..bn就不能再计算了,因为在b1处就已经停止了:->在q=0的时候要先判断b1是不是大于l,是大于l就不用再考虑后面的0了. 具体的看代码吧. […
CodeForces - 789B 当时题意理解的有点偏差,一直wa在了14组.是q等于0的时候,b1的绝对值大于l的时候,当b1的绝对值大于l的时候就应该直接终端掉,不应该管后面的0的. 题意告诉你b1,q,l,m然后b1和q是一个等比序列的首项和公比,然后l是这个序列出现的数绝对值的最大值.m代表序列有m个数不能被计算在内.问你能写出的最多的序列的元素个数.如果有无限多个输出inf. 分析一下,首先就是无限多个出现的情况. 1.b1==0.此时的序列是无限个0,只要0不在m个数中就是inf,…
/* CF789B. Masha and geometric depression http://codeforces.com/contest/789/problem/B 水题 各种特判,贼烦 */ #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <vector> #include <queue> #include…
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%ll…
模拟一下那个过程,直到绝对值超过l,或者出现循环为止. 如果结束之后,绝对值是超过l的,就输出当前写在黑板上的数量. 如果出现循环,则如果写在黑板上的数量非零,则输出inf(注意!如果陷入的循环是一个全部被禁止的循环,但是黑板上有输出的值,则还是应该输出黑板上的值的数量.这种情况用循环再向后扫几项判一下即可.),否则输出0. 用三个set处理. #include<cstdio> #include<set> using namespace std; typedef long long…
题目链接:http://codeforces.com/contest/789/problem/C 题意:就是给出一个公式 然后给出一串数求一个区间使得f(l,r)最大. 这题需要一个小小的处理 可以设数组b[i]和c[i] if i % 2 == 0 b[i]=abs(a[i]-a[i+1]) c[i]=-abs(a[i]-a[i+1]) else b[i]=-abs(a[i]-a[i+1]) c[i]=abs(a[i]-a[i+1]) 然后就是求两个数组的区间和的最大值这个方法就不介绍了 至于…
链接 A. Anastasia and pebbles 题意 这个人有两个口袋,有n种类型的鹅卵石,每种鹅卵石有wi个,每次可以放同一种最多k个,每次不能把不同类型的鹅卵石放进同一个口袋,但是她可以同时把不同种类的鹅卵石放在不同的口袋里,一天只能收集一次,问收集完所有的鹅卵石需要多少天 做法 我们只需要计算出每种类型需要多少次装进袋子里,即 ,然后由于有两个袋子,所以,考虑到不能整除的情况,所以要对结果向上取整,复杂度O(n). 代码 #include<bits/stdc++.h> using…
  计蒜客)翻硬币 //暴力匹配 #include<cstdio> #include<cstring> #define CLR(a, b) memset((a), (b), sizeof((a))) using namespace std; int n, m, t; int main() { int i, j, x; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &m)…
Geometric Progression Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 567C Description Polycarp loves geometric progressions very much. Since he was only three years old, he loves only t…