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

展会网站建设 服务器选择很重要产品宣传网站模板

展会网站建设 服务器选择很重要,产品宣传网站模板,网络公司属于什么行业,成都网站建设方案服务题目总思路: 要判断是否对称,只需要判断两个放法得到的图形是否相同(竖着放,横着放),这两个放法有个很重要的特性:就是数组中大于1的个数,就是横着放时,第一竖排的高度。…

题目总思路:

要判断是否对称,只需要判断两个放法得到的图形是否相同(竖着放,横着放),这两个放法有个很重要的特性:就是数组中大于1的个数,就是横着放时,第一竖排的高度。那么我们只需要比较两个放法得到的图形,高度是否全部一致。

方法一 :记忆性标记

1.思路:

因为题目输入是一个从大到小的序列,那么假如一个元素大于5那么他也一定大于4,利用这个特性,我们用一个变量 idx记录,上一次遍历到哪里,下一此接着遍历,将个数累加即可。

2.代码:

#include <iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;const int N=2e5+10;int h[N] ;
void Solved(){int n;cin>>n;for(int i=1;i<=n;i++) cin>>h[i];//cnt统计符合条件的元素数量int idx=1, cnt=0;bool flag=true;for(int i=n;i>=1;i--){while(idx<=n&&h[idx]>=i){idx++,cnt++;}if(cnt!=h[i]) {flag=false;break;}}if(flag) cout<<"YES"<<endl;else cout<<"NO"<<endl;}int main()
{int t;cin>>t;while(t--) {Solved();}return 0;
}

二 , 方法二 :

1.思路:可以利用差分思想,因为一个程度为 x的木块,他横着放能为这个图形的 [1,n]这个范围,每一个高度增加 1。

2.代码:

#include <iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;const int N=2e5+10;
typedef long long ll;
int h[N] ,temp[N];
void Solved(){memset(temp,0,sizeof temp);int n;cin>>n;for(int i=1;i<=n;i++) cin>>h[i];//注意特判,不然会数组越界。if(h[1]>n){cout<<"NO"<<endl;return;}//差分思想for(int i=1;i<=n;i++){temp[1]++;temp[h[i]+1]--;}//差分数组求前缀和for(int i=1;i<=n;i++) temp[i]+=temp[i-1];bool flag=true;for(int i=1;i<=n;i++){if(temp[i]!=h[i]){flag=false;break;}}if(flag) cout<<"YES"<<endl;else cout<<"NO"<<endl;
}int main()
{int t;cin>>t;while(t--) {Solved();}return 0;
}

三,方法三·:二分找大于某个长度的元素数量。

代码:

#include <iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;const int N=2e5+10,M=1e9+10;
typedef long long ll;
int h[N] ,temp[N];
void Solved(){memset(temp,0,sizeof temp);int n;cin>>n;for(int i=1;i<=n;i++) cin>>h[i];bool flag=true;for(int i=n;i>=1;i--){int l=1,r=n;while(l<r){int mid=(l+r+1)>>1;if(h[mid]>=i) l=mid;else r=mid-1;}if(l!=h[i]){flag=false;break;}}if(flag) cout<<"YES"<<endl;else cout<<"NO"<<endl;
}int main()
{int t;cin>>t;while(t--) {Solved();}return 0;
}

http://www.yayakq.cn/news/685421/

相关文章:

  • 广州网站开发小程序shop++的优点
  • 本地电脑如何做网站服务器全网营销推广怎么收费
  • 网站建设推广文章做网站和做免费推广网站的区别
  • 网站静态页面模板wordpress 后台精简
  • 主机建网站的优势wordpress商业模板个人
  • 新手搭建网站wordpress 永久链接
  • cms建站方案简单描述什么是网络营销
  • 邮件验证登录网站开发建设企业网站综合考虑
  • 厦门人才网官方网站建设路小学网站
  • 永兴网站建设湖北省建设工程质量协会网站
  • 网站建设报告家教总结wordpress置顶 显示
  • 网站建设_seo技术支持眼镜网站怎么做
  • 网站开发步奏跨境电商物流模式主要有哪些
  • 旅游网站建设风格襄阳大摩网站建设
  • 湖南做网站 多少钱磐石网络代理网址大全
  • 惠新西街网站建设城市网站建设意义
  • 哪个网站有免费ppt下载查找网站
  • 佛山网站优化平台哪里有营销型网站制作
  • 鹿城区住房和城乡建设局网站phpcms如何发布网站
  • 杭州网站设计 网站商城网站系统建设
  • 推荐佛山顺德网站建设微信小程序开发视频教程
  • 可信网站认证服务商a站全称
  • 莱西做网站公司关于自行建设门户网站的请示
  • 轴承网站建设wordpress喜欢插件
  • 企业网站源码挣钱吗梁朝伟做汤唯视频网站
  • 建设网站 软件wordpress菜单栏下拉
  • 网站开发后端做什么河南百度建个网站
  • 安徽省建设厅执业资格注册中心网站做暧暧网站在线看
  • 网站怎么做展现量珠海企业模板建站
  • 重庆市企业网站建设长沙网站设计咨询电话