Educational Codeforces Round 15 7.29

本文分享了作者在ACM竞赛中解决三道算法题的经历,包括求最长连续递增子序列、寻找特定数对及确定信号塔最小覆盖范围等问题,并介绍了使用暴力法、优化时间复杂度以及利用数据结构等技巧。

本来计划完成三道题的,三道都是比较水的题目。。。可是,,最后只做出一道,唉~~~

第一道:

一开始以为是求LIS,懒得打LIS所以百度直接copy,可是最后input的时候发现结果不一样,再次看题目才发现是求连续最长的递增子序列。。。这更简单,直接暴力就可以。

第二道:

求一共有多少对ai+aj=2^x。刚开始直接用O(N^2)的方法+判断一个数的二进制里1的个数,但是超时了,后来百度一下判断一个数是否为2的次幂的快速方法,找到了就是判断(x&(x-1)==0,成立即为2的次幂,提交还是超时了,,一直想不明白3s都超时,一直对时间都没什么概念的,,,唉,,,后来直接看第三道题先,最后没有想到方法,看大神的代码真的好短,好精简,好厉害。,。。。几行就搞掂了,,自己的逻辑思维真的不行,,最优的方法也是n^2,但是内循环是2的次幂,一直担心数太大所以没考虑循环2的次幂,还是做的太少。首先用map统计每个数出现的次数。每输入一个数,就统计map[1LL<<j-x]的个数,然后在map[x]++,刚开始没想明白,后来仔细想了想,真的好厉害,这样都想得到,get~~~~一直都不会用map,set。。。。也是一大诟病~~~

#include<cstdio>
#include<iostream>
#include <algorithm>
#include <set>
#include <map>
using namespace std;
#define N 100100
typedef long long ll;
ll a[N],dp[N],x;
set<ll> p;
map<ll,ll> f;
int n;
int main() {
	ll k=0;
	scanf("%d",&n);
	for(int i=0; i<n; i++)
	{
		cin>>x;
		for(int j=0;j<32;j++)
		{
			k+=f[(1LL<<j)-x];
		}
		f[x]++;
	}
	cout<<k<<endl;

}


第三道:

给出n个城市,m个信号塔,求出信号塔最小射程使得每个城市都接受到信号。。。其实自己已经想到方法,但是一直卡在第三个测试数据,一直想不出哪里有bug,后来看数据才发现自己初心大意了,初设最小最大的时候不够极限,inf设太小

#include<cstdio>
#include<iostream>
#include <algorithm>
using namespace std;
#define N 100100
typedef long long ll;
#define INF 9000000010
int n,m;
ll a[N],b[N];

int main() {
#ifndef ONLINE_JUDGE
	freopen("in.txt","r",stdin);
#endif
	while(scanf("%d%d",&n,&m)!=EOF) {
		for(int i=0; i<n; i++)
			scanf("%I64d",&a[i]);
		b[0]=-INF;
		b[m+1]=INF;
		for(int i=1; i<=m; i++)
			scanf("%I64d",&b[i]);
		ll ans=0;
		for(int i=0; i<n; i++) {
			int t=upper_bound(b,b+m+2,a[i])-b;
			//cout<<a[i]<<" "<<t<<endl;
			ans=max(ans,min(abs(b[t]-a[i]),abs(b[t-1]-a[i])));
		}
		printf("%I64d\n",ans);
	}
}


加油~!!!!

胚胎实例分割数据集 一、基础信息 • 数据集名称:胚胎实例分割数据集 • 图片数量: 训练集:219张图片 验证集:49张图片 测试集:58张图片 总计:326张图片 • 训练集:219张图片 • 验证集:49张图片 • 测试集:58张图片 • 总计:326张图片 • 分类类别: 胚胎(embryo):表示生物胚胎结构,适用于发育生物学研究。 • 胚胎(embryo):表示生物胚胎结构,适用于发育生物学研究。 • 标注格式:YOLO格式,包含实例分割的多边形标注,适用于实例分割任务。 • 数据格式:图片来源于相关研究领域,格式为常见图像格式,细节清晰。 二、适用场景 • 胚胎发育AI分析系统:构建能够自动分割胚胎实例的AI模型,用于生物学研究中的形态变化追踪和量化分析。 • 医学与生物研究:在生殖医学、遗传学等领域,辅助研究人员进行胚胎结构识别、分割和发育阶段评估。 • 学术与创新研究:支持计算机视觉与生物医学的交叉学科研究,推动AI在胚胎学中的应用,助力高水平论文发表。 • 教育与实践培训:用于高校或研究机构的实验教学,帮助学生和从业者掌握实例分割技术及胚胎学知识。 三、数据集优势 • 精准与专业性:实例分割标注由领域专家完成,确保胚胎轮廓的精确性,提升模型训练的可靠性。 • 任务专用性:专注于胚胎实例分割,填补相关领域数据空白,适用于细粒度视觉分析。 • 格式兼容性:采用YOLO标注格式,易于集成到主流深度学习框架中,简化模型开发与部署流程。 • 科学价值突出:为胚胎发育研究、生命科学创新提供关键数据资源,促进AI在生物学中的实际应用。
物品实例分割数据集 一、基础信息 • 数据集名称:物品实例分割数据集 • 图片数量:训练集1441张、验证集167张、测试集172张,总计1780张图片 • 分类类别:物品(item) • 标注格式:YOLO格式,包含实例分割的多边形标注,适用于实例分割任务 • 数据格式:图片数据,来源于多样场景 二、适用场景 • 物品实例分割AI系统开发:支持构建能够自动识别并精确分割物品轮廓的AI模型,应用于自动化检测和识别系统。 • 物流与仓储管理:用于物品的分割和定位,提升库存管理、货物追踪和物流效率。 • 制造业质量检查:在制造过程中,对零件或产品进行实例分割,辅助质量评估和生产流程优化。 • 零售行业应用:集成至零售系统中,实现商品自动分割和识别,优化库存管理和用户体验。 • 学术研究与创新:支持计算机视觉领域的研究,特别是在实例分割任务上的模型开发和性能评估。 三、数据集优势 • 精准标注:每个物品实例均采用多边形标注,精确捕捉轮廓细节,确保分割准确性和可靠性。 • 数据多样性:数据集覆盖多种场景下的物品图片,增强模型在不同环境下的泛化能力和适应性。 • 任务专用:专注于实例分割任务,标注兼容YOLO等主流深度学习框架,便于模型训练和部署。 • 实用性强:适用于实际工业和应用场景,为物品分割相关AI开发提供高质量数据支撑,加速模型迭代。
一、基础信息 数据集名称:蜜蜂黄蜂人类蜂群关键点检测数据集 图片数量: 训练集:2265张图片 验证集:214张图片 测试集:108张图片 总计:2587张场景图片 分类类别: - Bee(蜜蜂):常见的传粉昆虫,在农业和生态系统中具有重要作用。 - Hornet(黄蜂):可能具有攻击性的昆虫,需监测以防范风险。 - Human(人类):场景中的人物,可用于行为分析或安全应用。 - Swarm(蜂群):指蜜蜂或黄蜂的群体,表示集体行为模式。 标注格式:YOLO格式,包含关键点坐标和类别标签,适用于关键点检测任务。 数据格式:JPEG图片,来源于实际场景,细节丰富。 二、适用场景 农业与环境监测系统开发:数据集支持关键点检测任务,帮助构建能够自动识别蜜蜂、黄蜂及蜂群关键点的AI模型,用于害虫控制、作物保护或生态平衡监测。 安全与监控应用:集成至智能监控系统,检测人类和昆虫活动,提供实时警报功能,适用于家庭、公共场所或工业区域的安全管理。 生态研究与行为分析:支持昆虫群体行为研究,通过关键点分析动态模式,助力生态学、昆虫学或生物多样性研究。 教育与实践培训:数据集可用于高校或培训机构,作为计算机视觉和昆虫识别课程的教学资源,提升学生实践能力。 三、数据集优势 多类别覆盖与精准标注:包含4个关键类别,每个类别均有关键点标注,确保模型学习准确的特征表示,提升检测精度。 数据多样性与真实性:图片来源于真实环境,覆盖不同场景和条件,增强模型的泛化能力和鲁棒性。 任务适配性强:标注兼容主流深度学习框架(如YOLO),直接适用于关键点检测任务,并可扩展至其他视觉应用。 应用价值突出:专注于实际需求如农业害虫管理和安全监控,为相关行业提供高效、可靠的数据支持,推动AI技术落地。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值