题目链接:http://codeforces.com/problemset/problem/567/C

AC代码:

/** 枚举中值a[i],然后开一个mp1维护中值前的a[i]/k这个数的个数,* 再开一个mp2维护中值后的a[i]*k这个数的个数,2者相乘即是等比数列的个数。*/#include <cstdio>
#include <map>
#include <cstring>using namespace std;typedef long long ll;map<ll, int> map1;
map<ll, int> map2;int n;
ll arr[200005], k;
ll ans;int main() {while (scanf("%d%lld", &n, &k) != EOF) {ans = 0;for (int i = 1; i <= n; i++) {scanf("%lld", &arr[i]);map2[arr[i]]++;}map1[arr[1]]++;map2[arr[1]]--;for (int i = 2; i < n; i++) {map2[arr[i]]--;if (arr[i] % k == 0) {ans += (ll)map1[arr[i] / k] * (ll)map2[arr[i] * k];}map1[arr[i]]++;}printf("%lld\n", ans);map1.clear();map2.clear();memset(arr, 0, sizeof(arr));}return 0;
}

转载于:https://www.cnblogs.com/youpeng/p/10745222.html

[CodeForces 567C] Geometric Progression相关推荐

  1. map Codeforces Round #Pi (Div. 2) C. Geometric Progression

    题目传送门 1 /* 2 题意:问选出3个数成等比数列有多少种选法 3 map:c1记录是第二个数或第三个数的选法,c2表示所有数字出现的次数.别人的代码很短,思维巧妙 4 */ 5 /******* ...

  2. 等比级数(geometric progression) 和等差数列

    --等比级数 geometric progression gp a q = a : gp (a*q) q --gp a q = map (/x -> a*q^x) [0..] ap a d = ...

  3. Python:实现sum of geometric progression几何级数之和算法(附完整源码)

    Python:实现sum of geometric progression几何级数之和算法 def sum_of_geometric_progression(first_term: int, comm ...

  4. CF567C Geometric Progression

    看这里 大意: 求数组中长度为3且以k为公比的等比数列个数 思路: 一眼就是dp的感觉... 但是元素范围有一丢丢大,数组肯定是开不下的,所以用map 枚举中间的那个数字a,那么这个数对答案的贡献就应 ...

  5. Codeforces Round #Pi (Div. 2)(A,B,C,D)

    A题: 题目地址: Lineland Mail #include <stdio.h> #include <math.h> #include <string.h> # ...

  6. The Annotated Transformer

    The Annotated Transformer Apr 3, 2018 from IPython.display import Image Image(filename='images/aiayn ...

  7. Paper:2017年的Google机器翻译团队《Transformer:Attention Is All You Need》翻译并解读

    Paper:2017年的Google机器翻译团队<Transformer:Attention Is All You Need>翻译并解读 目录 论文评价 1.Motivation: 2.创 ...

  8. numpy ndarray 数组对象

    https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html 注意arange等函数生成的对象没有维度.既.shape属性,第二个数字是 ...

  9. [翻译] 数学翻译词汇

    初等数学   elementary mathematics 高等数学  higher mathematics 现代数学  modern mathematics 基础代数  basic mathemat ...

最新文章

  1. 80+机器学习数据集,还不快收藏
  2. 网络安全模型_基于TCM的网络安全访问模型
  3. jsonb 查询_如何使用IN运算符查询jsonb数组
  4. MySQL(十一)之触发器
  5. yelee博客的busuanzi访客统计失效问题解决
  6. Java:检查器框架
  7. Jsp学习总结(1)——JSP九大内置对象和四种属性范围解读
  8. Android用开源优势超Windows Mobile
  9. php递归返回值只有第一次的结果,php递归函数出现返回值问题的解决
  10. 51单片机+ESP8266-01WIFI模块实现数据传输
  11. css控制广告位置,CSS固定定位实现右下角可关闭广告
  12. [阿里云] 域名解析设置
  13. 【笔记】YOLOv3训练自己的数据集(2)——训练和测试训练效果
  14. 计算机系表白祖国母亲,成电青年用诗歌向祖国母亲表白!快来选出你最喜欢的那一首吧!...
  15. 利用ChatGPT,一分钟制作思维导图
  16. 【经验分享】为什么视频画面解码失败之后显示的是绿幕?
  17. HTTP资料整理 -- 干货满满
  18. 手机百度网盘倍速播放的方法步骤
  19. 机器学习(四):多元回归
  20. 变频电源与变频器不同浅释

热门文章

  1. SCRUM敏捷开发官方权威指南
  2. JDK1.8 十大新特性详解
  3. 查询数据库中的表结构信息
  4. C++string类常用函数
  5. 局部特征用于图像检索 Aggregating local features for Image Retrieval
  6. 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
  7. VLFeat SLIC超像素分割(Cpp版)
  8. 虚拟现实大会ChinaVR2015报告之-电子试衣和三维人体建模
  9. 【OpenCV3】cv::Mat的定义与初始化
  10. 《快乐编程大本营》java语言训练班-第4课:java流程控制