上不了建设银行网站,中国做类似 esty的网站,万网网站备案系统,seo网络推广专员会议安排 Time Limit:1000MS Memory Limit:65536KBTotal Submit:451 Accepted:102 Description 科研人员与相关领域的国内外同行进行适时的接触与充分的交流#xff0c;对于促进提高他们的科研业务水平#xff0c;并及时掌握科研动态是十分必要而且重要的。ECNU为了走在科技… 会议安排 Time Limit:1000MS Memory Limit:65536KBTotal Submit:451 Accepted:102 Description 科研人员与相关领域的国内外同行进行适时的接触与充分的交流对于促进提高他们的科研业务水平并及时掌握科研动态是十分必要而且重要的。ECNU为了走在科技的前沿于是决定派遣一些学者出去参加会议。由于这些会议具有不同的级别因此对于科研人员可能带来的科研上的促进作用也就可能不同。但是一个学者不能同时参加两个会议。而且,如果一个学者需要连续参加两个会议第二个会议的开始时间要晚于第一个会议的结束时间..现在给出一些会议的起始时间和终止时间并给出这些会议对应的促进值请你计算出一个学者能够得到的最大的促进值。 Input 第一行为一个整数T,表示测数数据的组数.每组数据第一行为整数n(1n300)代表有n个会议然后有n行数据,每行给出3个整数s(会议开始时间),t(会议终止时间),w(会议相对应的促进作用).(0st365,0w100) Output 输出能够得到的最大的促进作用。 每组测试数据输出占一行。 Sample Input 2 3 2 5 5 4 6 4 6 7 10 3 1 2 3 2 4 10 3 10 2 Sample Output 15 10 Source 华东师范大学2009校赛 解题直接dp好啦dp[j]表示在j时间内能够获得最大的促进作用是多少然后类似于01背包一顿瞎搞 1 #include bits/stdc.h2 using namespace std;3 const int maxn 1000;4 int dp[maxn];5 struct node{6 int s,t,w;7 bool operator(const node o) const{8 return t o.t;9 }
10 }m[maxn];
11 int main(){
12 int kase,n;
13 scanf(%d,kase);
14 while(kase--){
15 scanf(%d,n);
16 for(int i 0; i n; i){
17 scanf(%d %d %d,m[i].s,m[i].t,m[i].w);
18 }
19 sort(m,mn);
20 memset(dp,0,sizeof dp);
21 for(int i 0; i n; i){
22 for(int j m[n-1].t; j 0; --j){
23 if(j m[i].t) dp[j] max(dp[j],dp[m[i].s - 1] m[i].w);
24 }
25 }
26 coutdp[m[n-1].t]endl;
27 }
28 return 0;
29 } View Code 转载于:https://www.cnblogs.com/crackpotisback/p/4627236.html