• Xtreme9.0


    Car Spark

    题目连接:

    https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/car-spark

    Description

    John is a computer programmer and is highly known for his achievements in his field. In addition to being a passionate software professional, he is also passionate about motorcars and motorbikes.

    So, after ending his successful and lengthy software career, he decides to take up his passion. He starts an organization by the name "Car Spark" (CS). CS is an organization from which you can rent luxury cars of your choice on an hourly rental basis.

    CS would like to accept bookings for the weekend in advance, and then decide which bookings to process based on the profits that would be earned. When placing an order, customers quote the amount that they are willing to pay for that vehicle during that particular timespan. Since a car can only be given to one customer during a particular time period, CS must be careful about which bookings to process.

    Initially CS has only one vehicle available for rent. To be the first hire for CS, you must develop a program to maximize revenue on bookings for this vehicle.

    Input

    Input begins with a single integer T, 1 <= T <= 100, which denotes number of test cases.

    Each test case begins with a single integer N, 1 <= N <= 2000, which is the number of bookings John received.

    The remainder of the test case consists of N lines containing three integers Bs, Be, and Ai each separated by a space, where Bs is the booking start time, Be is the booking end time, and Ai is the amount that the customer is willing to spend for the entire booking. Note that 0 <= Bs < Be <= 48 and 1 <= Ai <= 100000.

    Note: The car may only be rented during the weekend, meaning from 12:00 AM on Saturday to 12:00 AM on Monday. Since the two days in the weekend have 48 hours, 12 noon on a Sunday would be the (24+12) 36th hour. Similarly, if the booking start time is 10:00 PM on Saturday and the booking end time is 12:00 AM on Sunday, then Bs would be 22 and Be would be 24.

    Output

    You are to output a single line for each test case, giving the maximum revenue John can make from the orders he received.

    Sample Input

    2
    4
    1 2 100
    2 3 200
    3 4 1600
    1 3 2100
    3
    1 10 2000
    2 5 100
    6 9 400

    Sample Output

    3700
    2000

    Hint

    For the first test case, for the time slot 1-3 maximum revenue John can make is 2100 (Max(100+200, 2100)) and for slot 3-4 he can make 1600. The maximum total revenue is 3700 (2100+1600).

    Similarly for second test case, the maximum revenue he can generate is 2000.

    题意

    给你n个区间,每个区间有权值,然后让你选择不相交的区间,使得权值和最大。

    题解

    按照右端点排序之后,然后跑dp

    这道题数据范围很小,所以直接暴力跑就行了。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    
    int dp[50];
    struct node{
        int l,r;
        int val;
    };
    bool cmp(node a,node b)
    {
        if(a.r==b.r)return a.l<b.l;
        return a.r<b.r;
    }
    node p[3005];
    void solve()
    {
        memset(dp,0,sizeof(dp));
        int n;scanf("%d",&n);
        for(int i=0;i<n;i++)
            scanf("%d%d%d",&p[i].l,&p[i].r,&p[i].val);
        sort(p,p+n,cmp);
        for(int i=0;i<n;i++)
            for(int j=p[i].l;j>=0;j--)
                dp[p[i].r]=max(dp[p[i].r],dp[j]+p[i].val);
        int ans = 0;
        for(int i=0;i<50;i++)
            ans=max(ans,dp[i]);
        cout<<ans<<endl;
    }
    int main()
    {
        int t;scanf("%d",&t);
        while(t--)solve();
        return 0;
    }
  • 相关阅读:
    单例模式
    HashSet、LinkedHashSet、SortedSet、TreeSet
    ArrayList、LinkedList、CopyOnWriteArrayList
    HashMap、Hashtable、LinkedHashMap
    andrew ng machine learning week8 非监督学习
    andrew ng machine learning week7 支持向量机
    andrew ng machine learning week6 机器学习算法理论
    andrew ng machine learning week5 神经网络
    andrew ng machine learning week4 神经网络
    vue组件监听属性变化watch方法报[Vue warn]: Method "watch" has type "object" in the component definition. Did you reference the function correctly?
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5957599.html
Copyright © 2020-2023  润新知