Gym 101908

Gym-101908
F-Music Festival(树状数组 + 状压dp)

在音乐节去观看节目表演。总共有 n 个舞台,每个舞台有 Mi 个show,每个show给出三个参数——开始时间、结束时间和这段时间内演唱的歌曲数目,最后的要求输出能够观看的做多的节目的数量。(给出的 n 个舞台中每个至少观看一个show,如果不行,则输出-1)

样例1
输入:
3
4 1 10 100 20 30 90 40 50 95 80 100 90
1 40 50 13
2 9 29 231 30 40 525
输出:
859

样例2
输入:
3
2 13 17 99 18 19 99
2 13 14 99 15 20 99
2 13 15 99 18 20 99
输出:
-1

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
#define pb queue_priority
#define ll long long
using namespace std;

struct node{
	int st,ed,val,id;
}a[100005];

int dp[87000][2500];
vector<node> vec[87000];

int main(){
	int n,m,st,ed,val;
	int cnt = 0;
	scanf("%d", &n);
	for(int i = 1; i <= n; i++)

版权声明:本文为qq_45747362原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。