枚举 ---- D. Zigzags[ Educational Codeforces Round 94 (Rated for Div. 2)]思维枚举优化4重循环
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重循环相关推荐
- 枚举 ---- B. RPG Protagonist[Educational Codeforces Round 94 (Rated for Div. 2)]数学枚举
B. RPG Protagonist 题目大意:就是你有两个人,每个人都有一个最大的体力值p和f,这两个人要去搬运剑和盾牌,剑的数量是cnts,盾的数量是cntw,每个剑的重量是是s,每个盾的重量是w ...
- Multidimensional Queries(二进制枚举+线段树+Educational Codeforces Round 56 (Rated for Div. 2))...
题目链接: https://codeforces.com/contest/1093/problem/G 题目: 题意: 在k维空间中有n个点,每次给你两种操作,一种是将某一个点的坐标改为另一个坐标,一 ...
- Educational Codeforces Round 94 (Rated for Div. 2)题解ABCD
A. String Similarity 题目传送门 String Similarity 题目大意 给你一个n和一个长度为2∗n−12*n-12∗n−1的01字符串,对于给定字符串,你需要构造一个长度 ...
- 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< ...
- Educational Codeforces Round 94 (Rated for Div. 2)
这次做了ABCD,今天下午就要上学去了溜了溜了,早上起来补的题解. A - String Similarity 分析可知可构造w[i]=s[2*i]即可满足题意 #define IO ios::syn ...
- 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这个时候两 ...
- Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...
- Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp
传送门 文章目录 题意: 思路: 题意: 给你一个串,只包含前kkk个字母和???,定义fif_ifi表示第iii个字母在串中出现的最长连续长度,你现在需要将???替换为前kkk个字母,使得mini ...
- 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)( ...
最新文章
- 微软发布全新多核心操作系统原型:Barrelfish
- 1113 Integer Set Partition (25 分)【难度: 一般 / 知识点: 思维 贪心】
- ActiveMQ介绍
- 【干货】APP产品处理加载机制和刷新机制的交互方法解析
- 打开计算机属性的命令,电脑双击打开的是属性怎么办
- 【转】Uncaught TypeError: Cannot set property ' ' of null 错误解决
- onCreate onRestoreInstanceState onSaveInstanceState
- 解决sklearn库使用过程中No module named model_selection的错误
- spark写入Oracle 报错 java.lang.ArrayIndexOutOfBoundsException: -32423
- 用命令备份与还原网络设置
- 根据Uniprot ID/PDB ID批处理获取蛋白质.pdb文件
- android连接和断开蓝牙音箱的问题
- CSDN 社区云 2022 年中小结
- VS连接Linux服务器
- 论文阅读_人脸检测:S3FD: Single Shot Scale-invariant Face Detector
- qc35 说明书_Bose QC35耳机怎么使用,Bose QC35耳机使用教程
- grunt教程--初涉grunt
- FreeModbus从站源码解析(portserial.c)
- 百度地图:用于打印的地图展示
- python 自动化识别H5模板与UI设计是否一致