题意 :

  • 给一序列,已知每次循环所有数变为上一轮中这个数的个数,给1e5次询问,问第k次时第x个位置的数值

思路 :

  • 结论 :最多n轮就不会变化
  • 因此,预处理模拟即可,预处理时,先记录本轮每个数的个数,然后如果有数的个数不等于这个数,说明循环还没有终止,就记录下一轮的数,否则就break找到最大循环次数;询问时,k和cnt取最小,注意下标 - 1
  • 注意,使用vector的时候就不要下标从1开始了
#include <iostream>
#include <algorithm>
#include <unordered_map>
#include <vector>using namespace std;const int N = 2e3 + 10;vector<int> a[N];
unordered_map<int, int> ma;int main()
{ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int _;cin >> _;while (_ -- ){int n;cin >> n;for (int i = 0; i < N; i ++ ) a[i].clear();for (int i = 0; i < n; i ++ ){int x;cin >> x;a[0].push_back(x);}int cnt = 0;bool flag = true;while (flag){flag = false;ma.clear();for (int i = 0; i < n; i ++ )ma[a[cnt][i]] ++ ;for (auto it : ma)if (it.first != it.second){flag = true;break;}if (!flag) break;cnt ++ ;for (int i = 0; i < n; i ++ )a[cnt].push_back(ma[a[cnt - 1][i]]);}int q;cin >> q;for (int i = 0; i < q; i ++ ){int x, k;cin >> x >> k;cout << a[min(cnt, k)][x - 1] << endl;}}return 0;
}

Divine Array 思维,模拟,结论相关推荐

  1. CF--思维练习--CodeForces - 216C - Hiring Staff (思维+模拟)

    ACM思维题训练集合 A new Berland businessman Vitaly is going to open a household appliances' store. All he's ...

  2. Equalize the Array(思维)

    题目链接: Equalize the Array 大致题意 给定一个长度为n的序列, 要求删除序列中尽可能少的元素, 使得剩余序列中出现的每一个元素数量相同. 解题思路 首先最终的序列, 一定是所有的 ...

  3. 【Codeforces 1392F】Omkar and Landslide | 思维、结论

    题目链接:https://codeforces.ml/contest/1392/problem/F 题目大意: 给出N座山峰的高度h_i,之后重复进行下面的操作: 若存在一个位置i满足: 那么i高度就 ...

  4. B. Most socially-distanced subsequence(思维+模拟)

    B. Most socially-distanced subsequence 题意: 给出一个数组 a a a,找到数组中的一个子序列 s s s(长为 x x x),满足" ∑ i = 1 ...

  5. CodeForces - 820D Mister B and PR Shifts(思维+模拟)

    题目链接:点击查看 题目大意:给出一个长度为 n 的排列 p,可以执行数次循环右移的操作,问的最小值是多少 题目分析:暴力的话用 n * n 很容易实现 ,但数据是 1e6 的,显然又不能用暴力去写, ...

  6. Gym - 101972H Beautiful Substrings(思维+模拟)

    题目链接:点击查看 题目大意:题目的意思挺难理解的..尤其是对我这种英语渣来说,简单说一下,就是先给出三个数字n,m,k,然后再给出两个字符串a和b,n和m代表的是字符串a和b的长度,然后描述题意: ...

  7. Codeforces Round #632 (Div. 2) C. Eugene and an array 思维 + 前缀和

    传送门 文章目录 题意: 思路: 题意: 给定一个长度为nnn的序列aaa,定义一段区间为好区间是这段区间的所有连续子区间的和都不为000,求好区间的个数. 思路: 套路题,定义aia_iai​的前缀 ...

  8. 2020 ICPC亚洲区域赛(沈阳)F-Kobolds and Catacombs(思维+模拟)

    F-Kobolds and Catacombs 考虑每一段,先找到最小的,然后把编号小于它的都化为一组,此时有一个最大值需要把小于最大值的在划分进来,然后又有编号小于它的,于是再把编号小于它的划分为一 ...

  9. Fishingprince Plays With Array(思维/数学/实现)

    Fishingprince Plays With Array 传送门 Problem - 1696C - Codeforces 思路 把a和b数组不断拓展,直到不能拓展为止,记不能再拓展的数值为最小元 ...

最新文章

  1. 16625篇论文揭示25年来AI进化规律!深度学习时代行将结束!
  2. String字符串位置移动
  3. 【必知】国内最设计感的 App推荐
  4. SAP CDS view里association和join的区别
  5. 【编程大系】Java资源汇总
  6. Java中的Unsafe在安全领域的一些应用总结和复现
  7. ajax异步同步加载PHP代码,jquery中的ajax同步和异步详解
  8. WCF性能优势体现 【转】
  9. 叶子结点和分支节点_教你玩转二叉查找树的结点插入操作
  10. usermod+用户密码管理+mkpasswd
  11. HttpClient、HttpURLConnection、OKHttp和Volley
  12. LayaAir 位图添加遮罩与滤镜
  13. ThinkPHP高仿蓝奏云网盘系统源码/对接易支付系统程序
  14. XP系统计算机桌面图标不见,xp系统桌面计算机快捷图标不见了的设置方法
  15. Python入门之烤地瓜练习
  16. Hrbust 2294 修建传送门【思维】
  17. java imageio 内存问题_java imageio内存泄漏
  18. Java实现最近点问题
  19. 初入python世界——python基础语法
  20. httpclient的两个重要的参数maxPerRoute及MaxTotal

热门文章

  1. MM定价计算方案确定详细图解
  2. 上下班同行有利于婚姻美满?
  3. ABAP OO小例子
  4. 企业数字化转型必看!建立企业级数据分析,必须重点修炼这4种能力
  5. 知乎进化:对抗内容“熵增”胜算几何?
  6. tea java 代码,TeaVM编译器如何将Java应用程序转换为Javascript,以及如何使用MicroK8管理嵌入...
  7. c语言如何输出斜杠星号,Excel 如何提取出最后一个斜杠开始的数字
  8. cytoscape要求的JAVA版本_微生物研究必备:Cytoscape绘制网络图(一)
  9. linux虚拟机网络查看的方式
  10. Python教程:推荐一个比 open 读文件还好用、方便的库