艺(简单排序)

https://ac.nowcoder.com/acm/problem/15523

根据题目的意思,输入有两组数组,分别表示两个台的节目的开始时间及单位愉悦度,因为这两个数据关联性较强,使用我们使用结构体将它们相连。

struct kat
{
	int x = 0, y = 0;
};

我们用x表示时间,y表示愉悦度
在读入数据之后,我们利用函数对其进行排序,然后就是本题的难点
首先,我们设定两个变量a1,b1并赋初值0
它们表示的是此时两个台是第几个节目
然后,我们可以另设一个int型数num1,用它来表示a1,b1的后一个节目的时间 x的较小值 ,num2用来表示此时a1,b1表示的愉悦度的较大值

这时,我们另设一个值ans用来表示最终输出值
需要注意的是,题目中的愉悦度的区间是-100~100,也就是说它是可以为负值的,所以需要注意条件
当num2大于0时,ans就加上num2乘以当前时间段
然后将目前时间k赋值num1,如果k等于a1或b1的后一个值时,就让a1或b1右移一位
该过程代码如下

while (k < t)
	{
		num1 = min(a[a1 + 1].x, b[b1 + 1].x);
		num2 = max(a[a1].y, b[b1].y);
		if (num2 > 0)ans += num2 * (num1 - k);
		k = num1;
		if (k == a[a1 + 1].x)a1++;
		if (k == b[b1 + 1].x)b1++;
	}

不过,在这个过程中需要注意数组的区间
加上以下代码就可以保障数据不会出错

a[n].x = t; b[m].x = t;
	a[n].y = 0; b[m].y = 0;

下面是AC代码

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<stack>
#include<cstdlib>

using namespace std;
typedef long long ll;
const int maxn = 1e5 + 10;

struct kat
{
	int x = 0, y = 0;
};
bool cmp(kat a, kat b)
{
	return a.x < b.x;
}
int main()
{
	int n, m, num;
	int t, k = 0;
	ll ans = 0;
	cin >> n >> m >> t;
	kat a[maxn], b[maxn];
	for (int i = 0; i < n; i++)cin >> a[i].x >> a[i].y;
	for (int i = 0; i < m; i++)cin >> b[i].x >> b[i].y;
	sort(a , a  + n, cmp);
	sort(b , b  + m, cmp);
	int a1 = 0, b1 = 0, num1, num2;
	a[n].x = t; b[m].x = t;
	a[n].y = 0; b[m].y = 0;
	while (k < t)
	{
		num1 = min(a[a1 + 1].x, b[b1 + 1].x);
		num2 = max(a[a1].y, b[b1].y);
		if (num2 > 0)ans += num2 * (num1 - k);
		k = num1;
		if (k == a[a1 + 1].x)a1++;
		if (k == b[b1 + 1].x)b1++;
	}
	cout << ans << endl;
	return 0;
}
### 回答1: 要回答哪个MP3排序软件好用这个问题,需要考虑一些关键因素。 首先,好用的MP3排序软件应该有直观的界面和用户友好的操作方式。这样能够让用户轻松地浏览和管理他们的音乐文件。 其次,一个好的软件应该具备快速和稳定的排序功能。无论是按照歌名、术家、专辑还是其他标准进行排序,软件应该能够迅速将列表重新组织和排列。 再次,好用的MP3排序软件应该支持批量处理。用户经常需要对大量的音乐文件进行整理和排序,因此软件应该能够一次处理多个文件,而不是逐个操作。 此外,一个好的软件还应该提供其他有用的功能,比如自动填写音乐信息、去重功能、重命名文件等,这些功能可以帮助用户更加方便地管理自己的音乐库。 最后,好用的MP3排序软件应该是免费的或者价格合理的。用户可能不希望为了一个简单排序功能而支付高昂的费用。 综上所述,好用的MP3排序软件应该具备直观的界面、快速稳定的排序功能、支持批量处理和提供其他有用功能,并且在价格方面合理。根据这些因素,用户可以选择适合自己的软件。 ### 回答2: 要选择好用的MP3排序软件,可以考虑以下几个因素: 1. 功能齐全:好的MP3排序软件应该具备丰富的功能,例如支持按照歌曲名、专辑、术家、流派等信息进行排序和分类,并且支持批量操作和快速搜索。 2. 用户友好:软件界面应该简洁直观,操作方便,不需要太多的学习成本。同时,应该提供良好的用户反馈和技术支持,以便用户遇到问题时能够得到及时解决。 3. 稳定可靠:好的软件应该经过严格的测试,能够稳定运行,并且不容易出现崩溃或者数据丢失的情况。 4. 兼容性:软件应该支持多种操作系统和音乐文件格式,以便用户能够在不同的设备上使用。 5. 更新及时:好的软件应该定期更新,修复已知的bug,并且增加新的功能或者优化用户体验。 综上所述,如果要选择一款好用的MP3排序软件,可以考虑网易云音乐、QQ音乐、酷狗音乐等知名的音乐播放软件,它们拥有强大的排序和分类功能,用户友好的界面,且稳定可靠。同时,这些软件也会定期更新,确保用户可以享受到更好的使用体验。 ### 回答3: 在选择MP3排序软件时,我们需要考虑以下几个方面。 首先,软件的功能。好用的MP3排序软件应该能够快速浏览和搜索音乐文件,支持按照歌曲名、专辑、术家等多种方式进行排序和分类。此外,软件还应该提供批量编辑和文件管理功能,方便用户对音乐进行整理和管理。 其次,软件的界面和操作方式也很重要。好用的MP3排序软件应该拥有简洁直观的界面设计和用户友好的操作方式,使用户能够快速上手和使用。 另外,软件的稳定性和兼容性也是我们需要考虑的因素之一。好的MP3排序软件应该能够稳定运行,不易崩溃或出现错误。同时,软件也应该兼容不同的操作系统和音频格式,以满足用户不同的需求。 最后,我们可以参考一些用户的评价和推荐来选择好用的MP3排序软件。可以通过查阅互联网上的软件评测和用户评论,了解不同软件的特点和优缺点,以及使用者的体验和推荐。 综上所述,好用的MP3排序软件应该拥有丰富的功能、简洁的界面和操作方式,稳定性和兼容性也应该得到保证。在选择时,可以参考用户评价和推荐来帮助我们做出决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值