D. Zigzags


题目大意:就是给你i<j<k<l并且aj=al&&ai=aki<j<k<l并且a_j=a_l \&\& a_i=a_ki<j<k<l并且aj​=al​&&ai​=ak​,求满足(i,j,k,l)的四元组有多少对


解题思路:1.很明显我们最暴力的做法是O(n4)O(n^4)O(n4)去枚举,因为题目的数据只有3000,可以预估的复杂度在O(n2)O(n^2)O(n2)左右,那么实际上我们可以只枚举i,
j,k,l其中两个

2.我们可以枚举k和i,注意是k和i就是先枚举k再逆序去枚举i,接下来就是如何把j和l统计进去
3.根据乘法原理每个总数就是sumj∗sumlsum_j*sum_lsumj​∗suml​,但是是每一个k和i都要跑一遍吗?不用.用dp的思想,设dp[i][j],就是从j到i满足条件的四元组的个数,dp[k][i]其实可以用dp[k][i+1]的基础上加上了a[i]这个数在[k,n]这个区间内和它相同的数的个数
那么对于每个k我们预处理[k,n]每个数出现的次数然后按照上面的思路转移就好了


void solve(){ll ans=0,sum;//统计所有次数。rep(i,1,n){//我们确定第三个编号,统计第四个编号出现的次数。sum=0;memset(cnt,0,sizeof(cnt));//初始化。rep(j,i+1,n)cnt[a[j]]++;//统计第三个编号之后每个元素出现次数per(j,i-1,1){if(a[j]==a[i]){//说明找到第一个编号,我们统计之间有多少的方案数。ans+=sum;}sum+=cnt[a[j]];//统计第二个编号的方案数。}}cout<<ans<<endl;
}

枚举 ---- D. Zigzags[ Educational Codeforces Round 94 (Rated for Div. 2)]思维枚举优化4重循环相关推荐

  1. 枚举 ---- B. RPG Protagonist[Educational Codeforces Round 94 (Rated for Div. 2)]数学枚举

    B. RPG Protagonist 题目大意:就是你有两个人,每个人都有一个最大的体力值p和f,这两个人要去搬运剑和盾牌,剑的数量是cnts,盾的数量是cntw,每个剑的重量是是s,每个盾的重量是w ...

  2. Multidimensional Queries(二进制枚举+线段树+Educational Codeforces Round 56 (Rated for Div. 2))...

    题目链接: https://codeforces.com/contest/1093/problem/G 题目: 题意: 在k维空间中有n个点,每次给你两种操作,一种是将某一个点的坐标改为另一个坐标,一 ...

  3. Educational Codeforces Round 94 (Rated for Div. 2)题解ABCD

    A. String Similarity 题目传送门 String Similarity 题目大意 给你一个n和一个长度为2∗n−12*n-12∗n−1的01字符串,对于给定字符串,你需要构造一个长度 ...

  4. Educational Codeforces Round 94 (Rated for Div. 2) D(思维)

    题目: You are given an array a1,a2-an. Calculate the number of tuples (i,j,k,l) such that: 1≤i<j< ...

  5. Educational Codeforces Round 94 (Rated for Div. 2)

    这次做了ABCD,今天下午就要上学去了溜了溜了,早上起来补的题解. A - String Similarity 分析可知可构造w[i]=s[2*i]即可满足题意 #define IO ios::syn ...

  6. Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)

    Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...

  7. Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs

    传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici​个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...

  8. Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp

    传送门 文章目录 题意: 思路: 题意: 给你一个串,只包含前kkk个字母和???,定义fif_ifi​表示第iii个字母在串中出现的最长连续长度,你现在需要将???替换为前kkk个字母,使得mini ...

  9. Educational Codeforces Round 73 (Rated for Div. 2) F. Choose a Square 线段树 + 二维转一维

    传送门 文章目录 题意: 思路: 题意: 给你nnn个点(xi,yi)(x_i,y_i)(xi​,yi​),每个点有个价值cic_ici​,现在你可以框一个正方形,要求左下角和右上角的坐标(x,y)( ...

最新文章

  1. 微软发布全新多核心操作系统原型:Barrelfish
  2. 1113 Integer Set Partition (25 分)【难度: 一般 / 知识点: 思维 贪心】
  3. ActiveMQ介绍
  4. 【干货】APP产品处理加载机制和刷新机制的交互方法解析
  5. 打开计算机属性的命令,电脑双击打开的是属性怎么办
  6. 【转】Uncaught TypeError: Cannot set property ' ' of null 错误解决
  7. onCreate onRestoreInstanceState onSaveInstanceState
  8. 解决sklearn库使用过程中No module named model_selection的错误
  9. spark写入Oracle 报错 java.lang.ArrayIndexOutOfBoundsException: -32423
  10. 用命令备份与还原网络设置
  11. 根据Uniprot ID/PDB ID批处理获取蛋白质.pdb文件
  12. android连接和断开蓝牙音箱的问题
  13. CSDN 社区云 2022 年中小结
  14. VS连接Linux服务器
  15. 论文阅读_人脸检测:S3FD: Single Shot Scale-invariant Face Detector
  16. qc35 说明书_Bose QC35耳机怎么使用,Bose QC35耳机使用教程
  17. grunt教程--初涉grunt
  18. FreeModbus从站源码解析(portserial.c)
  19. 百度地图:用于打印的地图展示
  20. python 自动化识别H5模板与UI设计是否一致

热门文章

  1. KNN学习之图像分类与KNN原理
  2. CNN模型之SqueezeNet
  3. 卧槽!阿里《算法进阶指南》火了,完整版 开放下载!
  4. 使用计算机视觉在钢铁平面上检测焊接缺陷
  5. 干货 | 循环神经网络LSTM的数学过程
  6. 【新手必看】17个常见的Python运行时错误
  7. 第三篇:时间和全局状态(三)
  8. 链表问题16——单链表的选择排序
  9. JAVA泛型的基本使用
  10. JAVA实现 springMVC方式的微信接入、实现消息自动回复