hdu 4600 Harvest Moon(模拟)
来源:互联网 发布:sar指标公式源码java 编辑:程序博客网 时间:2024/05/16 09:59
题目链接:hdu 4600 Harvest Moon
代码
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int maxn = 1005;int W, H, N, D, M, S[20];ll V[maxn], A[maxn];void init () { memset(S, 0, sizeof(S)); scanf("%d%d%d%d%d", &W, &H, &N, &D, &M); int w = W % 3, h = H % 3; S[9] = (W/3) * (H/3); S[w*3] += (H/3); S[h*3] += (W/3); if (w * h == 1) { S[5]++; S[3] -= 2; S[1] += 2; } else if (w * h == 4) { S[8]++; S[6] -= 2; S[4] += 2; } else if (w * h == 2) { S[7]++; S[6]--; S[3]--; S[2] += 2; }}ll solve (int in, int ot, int n) { int d = D / n, c[20]; memset(V, 0, sizeof(V)); V[0] = M; for (int i = 0; i < d; i++) { int k = V[i] / in, area = 0, p = 9; memset(c, 0, sizeof(c)); while (p * ot > in) { int t = min(S[p] - c[p], k); k -= t, c[p] += t; area += t * p; V[i] -= t * in; if (k == 0) break; p--; } V[i+1] = V[i] + area * ot; } return V[d];}ll solve (int in, int ot, int n, int m) { int d = D, c[10], p = 9; memset(c, 0, sizeof(c)); memset(V, 0, sizeof(V)); memset(A, 0, sizeof(A)); V[0] = M; for (int i = 0; i < d; i++) { int k = V[i] / in, nw = 0; while (i + n <= d) { int ti = (d - i - n) / m + 1; if (1LL * p * ot * ti <= in) break; int t = min(S[p] - c[p], k); k -= t, c[p] += t; nw += 1LL * t * p; V[i] -= 1LL * t * in; if (k == 0) break; p--; } if (i + m <= d) { V[i+m] += A[i] * ot; A[i+m] += A[i]; } if (nw) { V[i+n] += nw * ot; A[i+n] += nw; } V[i+1] += V[i]; } return V[d];}int main () { int cas; scanf("%d", &cas); while (cas--) { init(); ll ans = M; int q, p, n, m; for (int i = 0; i < N; i++) { scanf("%d%d%d%d", &q, &p, &n, &m); if (m == 0) ans = max(ans, solve(q, p, n)); else ans = max(ans, solve(q, p, n, m)); } printf("%lld\n", ans); } return 0;}
0 0
- hdu 4600 Harvest Moon (模拟+贪心)
- hdu 4600 Harvest Moon(模拟)
- hdu 4600 Harvest Moon
- hdu 4600 Harvest Moon
- hdu - 4600 - Harvest Moon
- hdu 4600 Harvest Moon
- hdu4600 Harvest Moon,模拟
- HDU 4600 Harvest Moon 解题报告
- HDU 4348 To the moon(主席树区间更新)
- HDU 4348 SPOJ TTM To the moon(操作建树)
- HDU-4348 To the moon(主席树)
- HDU 4348 - To the moon
- hdu 4348 To the moon
- HDU 4348 To the moon
- moon
- Moon
- hdu 5318 The Goddess Of The Moon(矩阵快速幂)
- HDU 5318 The Goddess Of The Moon(矩阵快速幂)
- 一趟聚类
- hdu 1016 Prime Ring Problem(DFS)
- Android设计模式系列-单例模式
- COGS1532. [IOI2001]移动电话
- 如何判断一个已经写好的MFC程序是单文档还是多文档?
- hdu 4600 Harvest Moon(模拟)
- linux 下关于用户的操作
- Android设计模式系列--工厂方法模式
- HDOJ--2955--Robberies
- python基础教程第一章知识点记录
- 【Android网络编程】获取网络图片,具有缓存功能
- phpredis中文手册——《redis中文手册》 php版
- android ListView加载不同布局
- Android 获得软键盘高度