51Nod-1636-教育改革
来源:互联网 发布:微信牛牛作弊器软件 编辑:程序博客网 时间:2024/04/28 06:47
ACM模版
描述
题解
按照课程复杂度从小到大进行排序,设
代码
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;typedef long long ll;const int MAXN = 55;const int MAXM = 105;int N, M, K;struct lesson{ ll a, b, c; bool operator < (const lesson &t) const { return c < t.c; }} les[MAXN];ll ans = -1;ll dp[MAXN][MAXN][MAXM];void _max(ll &a, ll b){ a = max(a, b);}int main(){ cin >> N >> M >> K; for (int i = 1; i <= M; ++i) { scanf("%lld%lld%lld", &les[i].a, &les[i].b, &les[i].c); } memset(dp, -1, sizeof dp); sort(les + 1, les + M + 1); for (int i = 1; i <= M; ++i) { for (ll j = les[i].a; j <= les[i].b; ++j) { _max(dp[i][1][j - les[i].a], j); for (int k = M; les[i].c < les[k].c; --k) { if (les[k].a <= j + K && j + K <= les[k].b) { for (int l = min(i, N - 1); l; --l) { if (dp[i][l][j - les[i].a] > 0) { _max(dp[k][l + 1][j + K - les[k].a], dp[i][l][j - les[i].a] + j + K); } } } if (les[k].a <= j * K && j * K <= les[k].b) { for (int l = min(i, N - 1); l; --l) { if (dp[i][l][j - les[i].a] > 0) { _max(dp[k][l + 1][j * K - les[k].a], dp[i][l][j - les[i].a] + j * K); } } } } } } for (int i = 1; i <= M; ++i) { for (ll j = les[i].b - les[i].a; ~j; --j) { _max(ans, dp[i][N][j]); } } if (ans == -1) { puts("NO"); } else { printf("YES\n%lld\n", ans); } return 0;}
阅读全文
0 0
- 51Nod 1636 教育改革
- 51Nod-1636-教育改革
- 51nod 1636 教育改革(动态规划)
- 51nod1636-基础dp&打表-教育改革
- 刍议高校计算机教育改革
- 51Nod
- 51Nod
- 51nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 苏宁之后 暴风体育也获中超联赛直播权
- AndroidStudio3.0更新问题汇总
- maven+myeclipse
- 一场诉讼,埋葬了Google和Uber之间的动荡“婚姻”
- 腾讯守护者计划协助公安部破案 查获50亿条公民个人信息
- 51Nod-1636-教育改革
- CXF--处理复杂类型
- java中jsp的八大隐式对象
- 对话雷军:我为什么建议把人工智能列入国家战略?
- 横空出世-多灵区块链智能锁或将带来新一轮行业革命
- 宅男拿到任天堂新机后第一件事是舔卡带!为什么?我们为你尝了一口
- 3.2 Spark RDD 基本转换操作1-map、flatMap、distinct
- 如何在直播中解决黑屏、花屏、闪屏问题 | 直播疑难杂症排查
- 马化腾两会关注个人信息保护,“守护者计划”全面对抗黑产