JNU校赛 K 【贪心+数据结构水题】

题目
CTG(Cun Tou Gaming) 是我校的一支 LOL 战队,他们参加比赛总是可以拿到冠军,因为每次都只有他们一支队伍参赛,所以只需要去签个到就可以直接夺冠并领取奖金。现在有 n 场比赛可以让他们选择,每场比赛都有各自的截止日期 d 和奖金 r ,而 CTG 战队必须在截止日期之前(包括截止日期当天)去参赛才可以拿到奖金。由于签到是一项很辛苦的工作所以战队一天只能参加一场比赛。现在要你设计出一种参赛方案,使他们可以拿到最多的奖金。
Input

有多组样例,第一行一个整数 T(T≤10),表示 T组样例,对于每组样例:

第一行给出一个整数 n表示有 n(n≤105)场比赛可以参加。

接下来的 n行,每行由 d 和 r 组成 (d,r≤109),分别表示截止日期和奖金数。
Output

输出 T行。

每行即为该组测试中可以拿到的最多奖金数,保证答案在long long int的范围内。

Examples
Input

2
3
2 10
2 15
3 20
3
2 10
1 50
1 40

Output

45
60

解析:这道题目其实是一道非常水的题目,但是我还是太菜了,比赛的时候一眼觉得是一个贪心,但是由于数据量太大,不能暴力的贪心,所以觉得无从下手,但是只要稍微转一个弯,我们对日期进行贪心,然后有优先队列选出当前需要的最大的那个就可以了

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
using namespace std;
typedef long long ll;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF = 0x3f3f3f3f;
const long long inf =1e18;
const int maxn = 1e5+50;
const int mod =1e9+7;
int T,n,m;
struct node
{
    ll d,r;
    bool operator <(const node &oth)const
    {
        return r<oth.r;
    }
};

node sh[maxn];
bool cmp(node a,node b)
{
    return a.d>b.d;
}

int main()
{
    scanf("%d",&T);
    while(T--)
    {
        ll ans=0;
        scanf("%d",&n);
        for(int i=1; i<=n; i++)
        {
            scanf("%lld%lld",&sh[i].d,&sh[i].r);
        }
        sort(sh+1,sh+1+n,cmp);
//        for(int i=1;i<=n;i++)
//        {
//            printf("%lld ",sh[i].d);
//        }
        priority_queue<node>pq;
        int day=sh[1].d;
        for(int i=1; i<=n; i++)
        {
            if(sh[i].d>=day)
            {
                pq.push(sh[i]);
            }
            else
            {
                if(!pq.empty())
                {
                    ans+=pq.top().r;
                    pq.pop();
                }
                day--;
                i--;
                //cout<<day<<endl;
            }
        }
        while(day)
        {
            if(!pq.empty()&&pq.top().d>=day)
            {
                ans+=pq.top().r;
                pq.pop();
            }
            day--;
        }
        printf("%lld\n",ans);

    }
    return 0;
}
### 回答1: 江南大学(JNU)轴承故障数据集是由江南大学提供的一个用于研究轴承故障预测和诊断的数据集。该数据集包含了大量与轴承运行状态相关的参数数据,并通过采集轴承在不同工况下的振动信号来记录轴承的工作情况。 这个数据集的目的是为了帮助研究人员和工程师更好地了解轴承的故障特征以及在实际运行中的表现。通过分析和研究这些数据,我们可以识别出轴承故障的早期迹象,并采取相应的预防措施,从而避免不必要的设备停机和维修工作。 数据集中包含的参数数据有:振动信号、轴承温度、运行速度等。通过对这些参数数据的分析,我们可以获得轴承的振动频率谱图、功率谱密度图等信息,从而判断轴承是否存在故障。 对于研究轴承故障预测和诊断的研究者和工程师来说,江南大学轴承故障数据集提供了一个宝贵的资源。通过使用这个数据集,我们可以开展各种研究和实验,如开发新的故障诊断算法、优化维护策略等,以提高轴承的可靠性和持久性。 总之,江南大学轴承故障数据集是一个重要的研究平台,它为轴承故障预测和诊断的研究提供了丰富的数据资源,有助于改进轴承的性能和寿命。 ### 回答2: 江南大学轴承故障数据集是一个包含大量轴承故障数据的集合,用于研究和分析轴承故障的发生和预测。 这个数据集是由江南大学机械工程学院的专家团队搜集和整理而成的。数据集包含了多种不同类型的轴承故障数据,如振动信号、温度数据、沉积物质等。通过对这些数据的分析和比对,可以发现轴承故障的规律和特征,为轴承故障的预测和维护提供依据和参考。 这个数据集对于轴承设计和制造商、设备运营商以及轴承维护人员等来说非常有价值。首,它提供了大量的实际轴承故障数据,可以帮助研究人员深入了解不同类型的轴承故障模式。其次,通过对数据的分析和建模,可以预测和识别轴承故障的早期迹象,从而避免设备停机和维修成本的增加。此外,对这些数据集的研究还可以为轴承的设计和制造提供改进方向和优化建议。 值得一提的是,为了更好地利用江南大学轴承故障数据集,我们需要采用进的数据分析和挖掘技术。如,可以利用机器学习算法和模型来建立轴承故障的预测模型,并利用这些模型进行数据挖掘和特征提取。此外,还可以通过与其他设备运行数据的整合和比对,进一步提高轴承故障预测的准确性和可靠性。 总之,江南大学轴承故障数据集是一个重要的资源,可以为轴承故障研究和预测提供有力的支持。通过对这些数据的分析和研究,我们可以更好地理解轴承故障的机理和规律,并找到有效的预防和维护方法,提高设备的可靠性和使用寿命。 ### 回答3: 江南大学轴承故障数据集是一个由江南大学提供的轴承故障数据集合。该数据集是通过对实际运行的轴承进行监测和记录而得到的,用来研究轴承的故障预测和健康状态监测。数据集包含了不同工况下轴承的振动、温度、加速度等多个传感器采集到的参数,以及轴承的健康状态标签。 这个数据集可以用于轴承故障预测算法的研究和开发。通过分析数据集中的振动和其他参数,可以识别出轴承是否处于正常工作状态,以及是否存在潜在的故障风险。研究人员可以使用这个数据集来开发智能算法,实现轴承故障的预测和监测,以提前采取维修措施,避免产生重大的故障和事故。 轴承是重要的机械构件,广泛应用于各种工业设备和机械设备中。当轴承出现故障时,会导致设备的性能下降甚至完全失效,给企业带来巨大的损失。因此,轴承健康状态的监测和故障预测非常重要,有助于提高设备的可靠性、安全性和寿命。 江南大学轴承故障数据集提供了一个基础和资源,为相关领域的研究者和工程师提供了一个可靠和实用的数据集,以推动轴承故障预测技术的发展和应用。通过深入研究和分析这个数据集,可以为企业提供更可靠和高效的轴承健康状态监测和故障预测解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值