当前位置: 首页 > wzjs >正文

长沙网站建站公司灌南网站开发

长沙网站建站公司,灌南网站开发,服务型网站建设的主题,通用wap网站生成系统目录 双指针算法:双指针算法-CSDN博客 最长连续不重复子序列 P8783 [蓝桥杯 2022 省 B] 统计子矩阵 双指针优化思路:当存在重复枚举时,可以考虑是否能使用双指针进行优化 双指针算法:双指针算法-CSDN博客 最长连续不重复子序列…

目录

双指针算法:双指针算法-CSDN博客

最长连续不重复子序列

 P8783 [蓝桥杯 2022 省 B] 统计子矩阵


双指针优化思路:当存在重复枚举时,可以考虑是否能使用双指针进行优化

双指针算法:双指针算法-CSDN博客

最长连续不重复子序列

注意理解题目:这里的连续区间是指没有重复数字的区间,不是没有重复数字并且数字大小连续的区间,即1,2,5就是一个没有重复数字的连续区间

思路:

 可以直接遍历,但是时间会是O(n^2)级别,

即假设有一个区间1,2,3,1,首先对于1进行枚举,当遍历到最后一个1时结束,再进行下一个枚举即从2开始向后枚举,此时2,3被枚举了两次,即进行了重复枚举,可以在这里进行优化

使用双指针进行优化
前面的指针表示当前的位置,后面的指针表示当前数字能够达到的位置

#include<bits/stdc++.h>
#define int long long
using namespace std;const int N=100000+10;int n;
int a[N];
int mx;signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n;for(int i=1;i<=n;i++)cin>>a[i];//使用双指针算法进行优化 int j=1; //慢指针 map<int,int> mp;//使用 一个桶来判断是否有重复的数字 for(int i=1;i<=n;i++)//快指针 {while(j<=n&&mp[a[j]]==0)//当mp[a[j]]==1时表示出现重复数字 {mp[a[j]]++;j++;}//while循环结束后j会多加一次,所以满足条件的长度为j-i不用+1mx=max(mx,j-i); mp[a[i]]--;//取消标记,为下一次遍历做准备 }cout<<mx<<endl;return 0;
}

 P8783 [蓝桥杯 2022 省 B] 统计子矩阵

二维前缀和+双指针的优化

如果直接暴力枚举是O(n^4)不能过
由分析可知中间有些地方是会重复枚举,这时可以使用双指针进行优化
设置两个指针,当j指针所在位置的和大于k时移动i,让其和小于k
先列出所有的行n^2,再通过双指针对所有的列进行移动2m,最终是n^3级别

 

#include<bits/stdc++.h>
#define int long long 
using namespace std;const int N=1000+10;int pre[N][N],g[N][N];
int n,m,k;
int ans;int ptr(int x1,int y1,int x2,int y2)
{return pre[x2][y2]-pre[x2][y1-1]-pre[x1-1][y2]+pre[x1-1][y1-1];
}
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>m>>k;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){cin>>g[i][j];pre[i][j]=pre[i-1][j]+pre[i][j-1]-pre[i-1][j-1]+g[i][j];//预处理前缀和 }for(int i=1;i<=n;i++){for(int j=i;j<=n;j++)//j要从i开始 ,到n结束 {for(int l=1,r=1;l<=m;l++)//双指针遍历{while(r<=m&&ptr(i,l,j,r)<=k) r++;ans+=r-l;}}}cout<<ans<<endl;return 0;
}
http://www.dtcms.com/wzjs/614059.html

相关文章:

  • 网站开发概要设计模板沈阳网站推广公司排名
  • 网站建设过程中要怎么打开速度wordpress有没有付费
  • 网站建设 金手指 下拉22扬中话
  • 目前网站开发应用到的技术有什么wordpress如何创建导航栏
  • 怎么做网站外链wordpress 发帖机
  • 做网站去什么公司做网站开源
  • 网站定制设计网页价格多少钱国外校友网站建设的现状
  • 网站无法排版网站建设明细价单
  • 网站开发 入门 pdf做网站用什么前端框架
  • 做网站每天更新两篇文章网站建设套餐怎么样
  • 海南免费做网站深圳logo设计公司排名
  • 济南 网站建设那家好单职业传奇网站
  • 一个旅游网站建设需求分析wordpress获取分类目录名称函数
  • 做网站前期创建文件夹怎么找缺钱的企业客户
  • 做网站用小公司还是大公司好怎么在手机上传百度云wordpress
  • 重庆教育集团建设公司网站销售 网站
  • 门户网站建设多久WordPress开VPN访问快
  • 在网站建设中注意的要点湖南长沙现在能去吗
  • 福建网站建设哪家专业直播网站排名
  • html 图片展示网站软件开发工具也叫什么工具
  • 临沂网站建设哪家更好做销售记住这十句口诀
  • 怎么找需要做网站的客户那个合作网站做360推广比较好
  • 怎么用域名做邮箱网站西部数码网站核验单下载
  • 湖北网站建设企业网站建设发专业人才培养方案
  • 宁波手机网站开发怎样打造营销型网站建设
  • 用dw制作网站模板下载地址做网站要准备的需求
  • 有什么简单的网站项目建设施工合同网站
  • 如何自己设计一个网站wordpress 仿阿里巴巴
  • 自考网页制作与网站建设wordpress空间租赁
  • 优化网站 提高查询制作网站的详细步骤