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

网站首页原型图网赌怎么推广拉客户

网站首页原型图,网赌怎么推广拉客户,建网站用什么软件最简单,淘宝网站做推广收费吗文章目录 1. 题面2. 简单分析3. 代码解答4. TLE的2点可能 1. 题面 给定 N N N个区间 [ a i , b i ] [a_i,b_i] [ai​,bi​] 以及一个区间 [ s , t ] [s,t] [s,t],请你选择尽量少的区间,将指定区间完全覆盖。 输出最少区间数,如果无法完全…

文章目录

      • 1. 题面
      • 2. 简单分析
      • 3. 代码解答
      • 4. TLE的2点可能

1. 题面

给定 N N N个区间 [ a i , b i ] [a_i,b_i] [ai,bi] 以及一个区间 [ s , t ] [s,t] [s,t],请你选择尽量少的区间,将指定区间完全覆盖。

输出最少区间数,如果无法完全覆盖则输出 −1。

输入格式

第一行包含两个整数 s 和 t,表示给定区间的两个端点。

第二行包含整数 N,表示给定区间数。

接下来 N 行,每行包含两个整数 [ a i , b i ] [a_i,b_i] [ai,bi] ,表示一个区间的两个端点。
输入样例:

1 5
3
-1 3
2 4
3 5

输出样例:

2

2. 简单分析

这道题的贪心还是非常直观的。

  1. 将区间按从左到右的顺序排序
  2. 每次选择能够覆盖给定区间起点区间中,右端点最远的区间
  3. 起点更新为该区间的右端点
  4. 回到2进行循环,直到右端点超过区间终点

很简单的思路。但是实现的时候出了好几个bug,所以记录一下。

3. 代码解答

#include <iostream>
#include <algorithm>using namespace std;const int N = 100010;struct Range {int l, r;bool operator< (const Range& rg)const {return l < rg.l;}
}ranges[N];int main() {int n, a, b;cin >> a >> b >> n;for (int i = 0; i < n; i ++ ) cin >> ranges[i].l >> ranges[i].r;sort(ranges, ranges + n);int res = 0;for (int i = 0; i < n; i ++ ) {int j = i, m = -2e9;  // m 为区间右端点最大值while (j < n && ranges[j].l <= a) {m = max(m, ranges[j].r);j ++;}if (m < a) {break;}res ++;a = m;i = j - 1;if (m >= b) {cout << res;return 0;}}cout << -1;return 0;
}
import java.util.*;class Range implements Comparable<Range> {int l, r;public Range(int l, int r) {this.l = l;this.r = r;}public int compareTo(Range rg) {return Integer.compare(this.l, rg.l);}
}public class Main {public static void main(String[] args) {int N = 100010;Range[] ranges = new Range[N];Scanner sc = new Scanner(System.in);int a = sc.nextInt(), b = sc.nextInt(), n = sc.nextInt();for (int i = 0; i < n; i ++ ) {int l = sc.nextInt(), r = sc.nextInt();ranges[i] = new Range(l, r);}Arrays.sort(ranges, 0, n);int res = 0;for (int i = 0; i < n; i ++ ) {int j = i, m = -0x3f3f3f3f;while (j < n && ranges[j].l <= a) {m = Math.max(ranges[j].r, m);j ++;}if (m < a) break;res ++;a = m;i = j - 1;if (m >= b) {System.out.println(res);return;}}System.out.println(-1);}
}

4. TLE的2点可能

  1. 将区间右端点的最大值设置为外部变量了。
    以下面我的代码来说:不能将m设置为for循环外部变量,如果设置为外部变量仍需要在循环内每次赋新值,否则,当所给区间不能覆盖中间某区域时,while循环体不会执行,那么 j = i,i = i- 1,就会陷入循环。
  2. 手误,将while循环中的 j 写为 i 了。同样的会发生 j 不更新问题。j = i,i = i- 1,就会陷入循环。
http://www.dinnco.com/news/72200.html

相关文章:

  • 网站开发的主要阶段搜索引擎优化的技巧
  • 如何分析网站设计网络营销管理系统
  • 前端如何做双语网站在线刷高质量外链
  • 网站制作推广网络优化培训要多少钱
  • 免费淘宝网站建设商品推广软文范例300字
  • 天津网站定制公司最新军事新闻事件今天
  • 设计师找素材的网站浏览广告赚钱的平台
  • 深圳网站建设谷歌优化是什么意思
  • 网站标签图标代码站长统计app软件下载2021
  • 专业网页设计培训河南seo网站多少钱
  • 气象网站建设管理的不足百度指数数据官网
  • 上海网站建设最好的公司排名上海网站排名seo公司哪家好
  • 长沙网页设计培训班网站推广优化招聘
  • 中卫市建设局网站 冯进强成都seo网站qq
  • 东莞网站开发建设新航道培训机构怎么样
  • 美乐乐是哪个公司做的网站推广普通话宣传语手抄报
  • 设计得好的美食网站注册网站的免费网址
  • 江苏省城乡与建设厅网站首页今日小说排行榜百度搜索风云榜
  • 农业网站怎么做seo网站查询
  • 自己做网站系统教程搜索引擎优化seo的英文全称是
  • wordpress搬家后台还是老网站关键词挖掘ppt
  • 网站建设教程 湖南岚鸿10条重大新闻
  • 高密做网站的公司win7优化
  • 局域网站建设模版seo怎样
  • 泉州做网站西安做网站的网络公司
  • 网站排名优化查询南宁网站建设网站推广
  • 信科网络广州建网站百度如何精准搜索
  • 合肥论坛网站建设湘潭seo优化
  • 企业建设网站的目的是什么搜索引擎优化策略应该包括
  • 企业网站轮播图怎么做河北百度seo软件