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

高端购物网站青岛百度网站排名

高端购物网站,青岛百度网站排名,微信公众平台设计,广东肺炎疫情最新情况数轴上有n个闭区间[ai,bi]。取尽量少的点&#xff0c;使得每个区间内都至少有一个点&#xff08;不同区间内含的点可以是同一个&#xff09;。 贪心策略&#xff1a; 按照b1<b2<b3…&#xff08;b相同时按a从大到小&#xff09;的方式排序排序&#xff0c;从前向后遍历…

数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。

贪心策略:

按照b1<=b2<=b3…(b相同时按a从大到小)的方式排序排序,从前向后遍历,当遇到没有加入集合的区间时,选取这个区间的右端点b。

证明:

为了方便起见,如果区间i内已经有一个点被取到,我们称区间i被满足。

1、首先考虑区间包含的情况,当小区间被满足时大区间一定被满足。所以我们应当优先选取小区间中的点,从而使大区间不用考虑。

      按照上面的方式排序后,如果出现区间包含的情况,小区间一定在大区间前面。所以此情况下我们会优先选择小区间。

      则此情况下,贪心策略是正确的。

2、排除情况1后,一定有a1<=a2<=a3……。


      对于区间1来说,显然选择它的右端点是明智的。因为它比前面的点能覆盖更大的范围。

      从而此情况下,贪心策略也是正确的。

例题:http://acm.nyist.net/JudgeOnline/problem.php?pid=287

附代码(非此例题代码)。(和选择不相交区间问题的十分相似)

#include <stdio.h>
#include <algorithm>
using namespace std;
struct Extent
{int a,b;bool operator < (const Extent& S)const{return b < S.b || b == S.b && a > S.a;}
}A[10002];
int main()
{int z,n,cnt,end;scanf("%d",&z);while(z--){cnt = 0;end = -1;scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d%d",&A[i].a,&A[i].b);sort(A,A+n);for(int i=0;i<n;i++){if(end < A[i].a){end = A[i].b;cnt++;}}printf("%d\n",cnt);}return 0;
}




http://www.mmbaike.com/news/106471.html

相关文章:

  • 网站备案修改域名ip淘宝店铺怎么免费推广
  • c语言在线编程网站发文章用哪个平台比较好
  • 检查网站死链接专业做网站官网
  • 中山市西区网站制作站长统计幸福宝
  • 如何设计自己网站北京seo排名公司
  • 台州网站建设外包百度广告推广费用一年多少钱
  • 外币信用卡怎么做网站上用苏州seo服务
  • 建一个政府网站百度账号申请注册
  • 公司简历模板免费珠海网站建设优化
  • 做我的世界皮肤壁纸的网站网站seo怎么操作
  • 包装模板网站百度热搜seo
  • 外贸企业网站红色风格公司网站设计要多少钱
  • 重庆网站建设服务价格我想在百度上做广告怎么做
  • wordpress导入工具栏上海百度seo
  • pc做网站服务器培训seo
  • 淘宝上 网站建设外贸网站模板
  • 辽宁建设工程信息网中标公告百度搜索优化建议
  • 专业做网站厂家山东搜索引擎优化
  • 网站建设哪家go做网站需要准备什么
  • 深圳专业设计网站公司太原做网站哪家好
  • vb6做网站如何自己建设网站
  • ui培训班学费多少欧美seo查询
  • 宁波妇科医生如何提升网站seo排名
  • 网站建设的知名品牌sem竞价推广托管代运营公司
  • 用asp做的网站有哪些防城港网站seo
  • 易进网站建设推广网站制作公司官网
  • 昌吉建设网站正规推广平台
  • 江苏个人备案网站内容软文推广策划方案
  • 动态网站开发课程设计实训总结seo com
  • 个人怎么做电影相关的网站谷歌play商店