【作业】 贪心算法

T1

cpp 复制代码
#include <iostream>
#include <algorithm>
using namespace std;
struct soider{
	int B;
	int J;
};
bool cmp(soider a,soider b){
	return a.J>b.J;
}
soider a[1000010];
int n;
void solve(int n,int num){
	for(int i=0;i<n;i++){
		scanf("%d%d",&a[i].B,&a[i].J);
	}
	sort(a+0,a+n,cmp);
	int t=0;
	int work=0;
	for(int i=0;i<n;i++){
		t+=a[i].B;
		if(work>a[i].B)
			work-=a[i].B;
		else 
			work=0;
		work=max(a[i].J,work);
	}
	printf("Case %d:%d\n",num,t+work);
}
int main(){
	scanf("%d",&n);
	int cnt=1;
	while(n>0){
		solve(n,cnt);cnt++;
		scanf("%d",&n);
	}
	
	return 0;
}

时间复杂度约为

T2

cpp 复制代码
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
struct soider {
	double l;
	double r;
};//用这个名字是因为省事

bool cmp(soider a, soider b) {
	return a.l < b.l;
}
int d;
soider a[1000010];
int n;//[x-sqrt(d*d-y*y),x+sqrt(d*d+y*y)]
void solve(int num) {

	scanf("%d", &d);
	for (int i = 0; i < n; i++) {
		int x;
		int y;
		scanf("%d%d", &x, &y);

		if (d * d - y * y < 0) {
			cout << "-1" << endl;
			return;
		}
		a[i].l = x - sqrt(d * d - y * y);
		a[i].r = x + sqrt(d * d - y * y);
		//cout << 'l' << a[i].l << endl;
		//cout << 'r' << a[i].r << endl;

	}
	sort(a + 0, a + n, cmp);
	double p = a[0].r;
	int cnt = 1;
	int i = 0;
	while (p <= a[n - 1].r && i < n) {
		//cout<<"p:"<<p<<endl;
		while (a[i].l <= p) {
			i++;
			//cout <<i<< " l " << a[i].r << endl;
			//cout <<i<< " r " << a[i].r << endl;
		}
		p = a[i].r;
		cnt++;
	}
	cout << cnt << endl;
}
int main() {
	scanf("%d", &n);


	solve(n);



	return 0;
}

时间复杂度约为

相关推荐
hetao173383715 分钟前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
Evand J33 分钟前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动
血小板要健康1 小时前
链表 阶段算法总结
java·数据结构·笔记·算法·leetcode·链表
a187927218311 小时前
【算法】回溯算法(三):三记重锤与 N 皇后——记忆化、状态设计与三层漏斗
算法·leetcode·go·剪枝·回溯·n皇后·算法讲解
HugoStudio_SWAN3 小时前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
青 春 记 忆4 小时前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode
阳明山水4 小时前
销量预测2025—2026:从模型竞赛到系统融合的范式转型
人工智能·深度学习·算法·机器学习·架构
桐盛科技5 小时前
拒绝“漂绿”风险:基于边缘计算的碳排放数据清洗算法与实时校验逻辑
人工智能·算法·边缘计算
Tongzhi20265 小时前
通芝科技考勤软件三大发展趋势:AI大模型、无感识别与数据底座
大数据·科技·算法·爬山算法
eBest数字化转型方案5 小时前
Route Optimization for FMCG:多目标排线算法的工程实现
大数据·人工智能·算法