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

钢材销售都在哪个网站做seo营销外包公司

钢材销售都在哪个网站做,seo营销外包公司,小白学网站建设与设计书,广西网站建设智能优化目录 1.简单贪心 2.区间贪心 不相交的开区间 1.如何删除? 2.如何比较大小 区间选点问题 3.拼接最小数 1.简单贪心 比如:给你一堆数,你来构成最大的几位数 2.区间贪心 不相交的开区间 思路: 首先,如果有两个…

目录

1.简单贪心

2.区间贪心

不相交的开区间

1.如何删除?

2.如何比较大小

区间选点问题

3.拼接最小数 


1.简单贪心

比如:给你一堆数,你来构成最大的几位数

2.区间贪心

不相交的开区间

 思路:

首先,如果有两个区间包含关系,肯定是取小的那个,扔掉大的那个。

上一步操作完了之后,区间就互不包含,于是,每次都在保证不相交的前提下,

取左端点最大的(或每次都取右端点最小的)

思路是这样没错,实现遇到的问题:

1.如何删除?

 看了参考代码,不用删除,因为如果取左端点最大的,必定是被包含的那个区间,第二部包含了第一步,“首先”可以不干。

2.如何比较大小

需要回忆之前学的“排序”,构造结构体,构造cmp函数

通过代码

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=10002;
int n=2,W=2;
int l[N]={1,2},r[N]={5,6};int ans=0;
struct qj
{int left;int right;
}I[N];
bool cmp(qj a1,qj a2)
{if(a1.left!=a2.left) return a1.left>a2.left;else return a1.right<a2.right;
}int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++){scanf("%d %d",&I[i].left,&I[i].right);}
sort(I,I+n,cmp);
if(n>0) ans++;
int l1=I[0].left;
for(int i=1;i<n;i++)
{if(I[i].right<=l1){ans++;l1=I[i].left;}
}
printf("%d",ans);
}

区间选点问题

其实就是:不相交的闭区间

点=列举出的所有不相交的闭区间的左端点 

真的只改了一个小于号

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=10002;
int n=2,W=2;
int l[N]={1,2},r[N]={5,6};int ans=0;
struct qj
{int left;int right;
}I[N];
bool cmp(qj a1,qj a2)
{if(a1.left!=a2.left) return a1.left>a2.left;else return a1.right<a2.right;
}int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++){scanf("%d %d",&I[i].left,&I[i].right);}
sort(I,I+n,cmp);
if(n>0) ans++;
int l1=I[0].left;
for(int i=1;i<n;i++)
{if(I[i].right<l1){ans++;l1=I[i].left;}
}
printf("%d",ans);
}

3.拼接最小数 

仔细看例子

思路

问题:如何接收这些输入?并转化为实体? 

不能以%d输入,会丢失信息

 答案使用了string类(c++类别),使用cincout

string数组,每一个元素都是string

答案使用了自己构造cmp

if a+b<b+a,则a排b前,让sort自己排序

输出要注意00 000的情况,输出且只输出一个0

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=10002;
int n; 
string str[N];
bool cmp(string a,string b)
{return a+b<b+a;
}
int main()
{
//	string a="123";
//	cout<<(a[0]=="1");//"1"报错,'1'true,1false cin>>n;int flag=0;for(int i=0;i<n;i++)cin>>str[i];sort(str,str+n,cmp);for(int j=0;j<n;j++)
{for(int i=0;i<str[j].length();i++) {	if(str[j][i]!='0') flag=1;if(flag) cout<<str[j][i];}}	
if(!flag) cout<<0;
}

答案是这样的,从while开始看,用了高端的begin与erase 

bool cmp(string a, string b) {return a + b < b + a;
}int main() {int n;cin >> n;for (int i = 0; i < n; i++) {cin >> nums[i];}sort(nums, nums + n, cmp);string result = "";for (int i = 0; i < n; i++) {result += nums[i];}while (result.length() > 1 && result[0] == '0') {result.erase(result.begin());}cout << result << endl;return 0;
}
http://www.tj-hxxt.cn/news/75512.html

相关文章:

  • 手机动态网站制作2022年时事政治热点汇总
  • 商品交换电子商务网站开发合肥网络seo
  • 网站制作软件排名网页怎么搜索关键词
  • 网页制作作业网站百度推广是怎么做的
  • 用jsp做的网站框架百度软件优化排名
  • 网站开发报价范围微信软文范例100字
  • wordpress主题缓存搜索引擎排名优化包括哪些方面
  • wordpress 主题中心天津网站seo设计
  • 现在哪些行业需要建设网站百度一下百度搜索网站
  • 企业安全文化建设的内容宁波seo排名费用
  • 无需网络的单机手机游戏网站推广优化的方法
  • 成武网站建设超级推荐的关键词怎么优化
  • 做网站与运营大概多少钱中国万网域名注册官网
  • 代做机械毕业设计网站2021最火营销方案
  • 做网站标签栏的图片大小淘宝推广怎么推
  • 山东苹果网站建设方案2023年8月疫情恢复
  • 深圳服装网站建设广告联盟app下载赚钱
  • 哪些软件可以做网站设计网络推广是什么职位
  • 木马工业设计公司优化大师电脑版官方
  • 黔东南小程序开发公司佛山市seo推广联系方式
  • 郑州网站推广公司价格图片优化
  • 网站建设原则百度高级搜索页面的网址
  • 网站建设客户需求表专业搜索引擎seo合作
  • 网站建设合同违约查关键词热度的网站
  • 做的比较好的网页设计网站谷歌浏览器2021最新版
  • 韩国优秀网站设计青岛百度代理公司
  • 东南亚做棋牌网站网站快速搜索
  • 西安网站制作托今日国内重大新闻事件
  • 三好街 做网站手机优化助手下载
  • 重庆潼南网站建设公司北京网站推广营销服务电话