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

国外的外贸网站wordpress 页面下文章列表

国外的外贸网站,wordpress 页面下文章列表,中国空间站航天员首次出舱,wordpress如何做seo题目描述在某个项目中有多个任务(用tasks数组表示)需要您进行处理&#xff0c;其中tasks0[si,ei],你可以在si< day< ei中的任意一天处理该任务&#xff0c;请返回你可以处理的最大任务数输入描述第一行为任务数量n&#xff0c;1<n< 100000。后面n行表示各个任务的开…

题目描述

在某个项目中有多个任务(用tasks数组表示)需要您进行处理,其中tasks0=[si,ei],你可以在si<= day<= ei中的任意一天处理该任务,请返回你可以处理的最大任务数

输入描述

第一行为任务数量n,1<=n<= 100000。后面n行表示各个任务的开始时间和终止时间,使用si,ei表示,1<= si<= ei<= 100000

输出描述

输出为一个整数,表示可以处理的最大任务数。

示例

输入

3

1 1

1 2

1 3

输出

3

说明

解题思路

1、 将任务按结束日 e 升序(若相同按开始日升序)排序。

2、扫描任务;对每个任务 [s,e],用一个“并查集 nextDay”找到不早于 s 的最早可用日期 day:find(s)。若 day<=e,则在这一天处理该任务,并把 day 合并到 day+1(表示下次从 day+1 往后找)。

3、并查集表示:parent[d]=d 意味着 d 仍可用;占用后令 parent[d]=find(d+1)。路径压缩可使查询近似 O(1)。

复杂度:排序 O(n log n);并查集近似 O(n)。总复杂度 O(n log n)。

c++解法:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;struct Task { int s, e; };static int parent_[100000 + 5 + 1]; // +1 预留哨兵int find_next(int x) {// 迭代版路径压缩,避免深递归int r = x;while (parent_[r] != r) r = parent_[r];while (parent_[x] != x) { int p = parent_[x]; parent_[x] = r; x = p; }return r;
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n; if (!(cin >> n)) return 0;vector<Task> a(n);int maxE = 0;for (int i = 0; i < n; i++) {cin >> a[i].s >> a[i].e;if (a[i].e > maxE) maxE = a[i].e;}sort(a.begin(), a.end(), [](const Task& x, const Task& y) {if (x.e != y.e) return x.e < y.e;return x.s < y.s;});// 初始化并查集:parent_[d] = d 表示 d 这一天还未被占用for (int d = 0; d <= maxE + 1; d++) parent_[d] = d;int done = 0;for (const auto& t : a) {int day = find_next(t.s); // 从 s 起找第一个可用日if (day <= t.e) {// 占用 day,并把它的 next 指向 day+1parent_[day] = find_next(day + 1);++done;}}cout << done;return 0;
}

java解法:

import java.io.*;
import java.util.*;// 最大可完成任务数:每任务区间 [s,e] 内任选一天完成,且每天最多做 1 个任务
// 解法:结束日升序贪心 + 并查集(Next Available Day)
public class Main {static int[] parent;static int find(int x){int r = x;while(parent[r] != r) r = parent[r];while(parent[x] != x){ int p = parent[x]; parent[x] = r; x = p; }return r;}public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine().trim());int[][] a = new int[n][2];int maxE = 0;for(int i=0;i<n;i++){String[] parts = br.readLine().trim().split("\\s+");int s = Integer.parseInt(parts[0]);int e = Integer.parseInt(parts[1]);a[i][0] = s; a[i][1] = e;if(e > maxE) maxE = e;}Arrays.sort(a, (x,y) -> x[1] != y[1] ? Integer.compare(x[1], y[1]) : Integer.compare(x[0], y[0]));parent = new int[maxE + 2];for(int d=0; d<=maxE+1; d++) parent[d] = d;int done = 0;for(int[] t : a){int day = find(t[0]);if(day <= t[1]){parent[day] = find(day + 1);done++;}}System.out.print(done);}
}

python解法:

import sys
# 最大可完成任务数:每任务 [s,e] 内任选一天处理一次,且每天最多 1 个
# 贪心:按结束日排序 + 并查集(Next Available Day)
data=sys.stdin.read().strip().split()
if not data:sys.exit(0)
it=iter(data)
n=int(next(it))
tasks=[]
max_e=0
for _ in range(n):s=int(next(it)); e=int(next(it))tasks.append((s,e))if e>max_e: max_e=etasks.sort(key=lambda x:(x[1],x[0]))
parent=list(range(max_e+2))def find(x:int)->int:root=xwhile parent[root]!=root:root=parent[root]while parent[x]!=x:p=parent[x]; parent[x]=root; x=preturn root_done=0
for s,e in tasks:day=find(s)if day<=e:parent[day]=find(day+1)_done+=1print(_done,end="")

http://www.dtcms.com/a/597257.html

相关文章:

  • 站长工具服务器查询常州市建设工程管理中心网站
  • 《实施意见》绘就场景应用蓝图,政务服务如何找准自身“坐标”
  • Go 优雅关闭实践指南:从原理到框架落地
  • 使用gRPC实现分片服务的心跳机制
  • 陕西建设厅执业注册中心网站重庆网站建设沛宣
  • 济南 外贸网站建设大连鼎信网站建设公司地址
  • 自动化渗透工具分类及主流工具详解(2025年最新)
  • Qt QPushButton 样式完全指南:从基础到高级实现
  • 在Unity3d中使用Netly开启TCP服务
  • 男男床做视频网站上海家装设计网站
  • 如何清空网站空间上海工程建设招投标网站
  • Docker-玩转 Docker 镜像:从拉取、构建到发布
  • 技师院校人工智能技术应用专业实训室建设方案
  • HarmonyOS Tabs标签页组件深度解析:超越基础的高级技巧与实践
  • 无锡网站建设推荐wordpress 的分类目录
  • elasticSearch之java客户端详细使用:文档搜索API
  • 网页美工设计网站运维工程师可以自学吗
  • 手机网站制作注意事项卖产品的网站怎么做
  • Vue3 + Pinia 移动端Web应用:页面缓存策略解决方案
  • 可视化智能动作测评系统:用数据重塑每一个动作的科学评估时代
  • 算法32.0
  • 基于SpringBoot的锦州红色旅游资源信息管理系统的设计与实现
  • 静态网站建设教程wordpress采集接口
  • 网上购物有哪些网站?如何加入广告联盟赚钱
  • 解决 elementui el-cascader组件懒加载时存在选中状态丢失的问题?
  • vue3封装alert 提示组件 仿element-plus
  • Day33-动态规划
  • 域名访问过程会不会影响网站访问商务网站设计
  • 模仿elementUI 中Carousel 走马灯卡片模式 type=“card“ 的自定义轮播组件 图片之间有宽度
  • 公司网站建设哪家正规wordpress 按别名