2016计蒜之道-初赛-第四场-A-淘宝流量分配
2016-06-11 14:33
190 查看
描述
在每年的淘宝“双十一”时,访问量都会暴涨,服务器的请求会被流量分配程序按照一定策略,分发给不同的进程去处理。有一类请求,有两个进程可以接受分发的请求,其中一个进程所在服务器的配置、网络传输性能等都要优于另一个进程。流量分发程序可以知道队列中每个任务的预计处理时间,每次都会尽可能将队列中预计处理时间更多的任务分配给性能更优的进程。>>>详情请点击题解
一道简单的动态规划问题,状态转移方程为:B[i] = std::max(A[i] + std::max(B[i - 2], B[i - 3]), B[i - 1]);
代码C++
#include <iostream> int A[10005]; int B[10005]; template <class T> inline void scan_d(T &ret) { char c; ret = 0; while((c = getchar()) < '0' || c > '9'); while(c >= '0' && c <= '9') ret = ret * 10 + (c - '0'), c = getchar(); } int main(int argc, const char * argv[]) { int N; while (std::cin >> N) { for (int i = 1; i <= N; i++) { scan_d(A[i]); } B[0] = 0; B[1] = A[1]; B[2] = std::max(A[1], A[2]); for (int i = 3; i <= N; i++) { B[i] = std::max(A[i] + std::max(B[i - 2], B[i - 3]), B[i - 1]); } std::cout << B << std::endl; } return 0; }
相关文章推荐
- 01背包问题
- 不能移动的石子合并
- 数字三角
- 最长上升子序列
- [DP]FJSDFZOJ 1143 数字三角形
- MZ Training 2014 #5 D题
- 5. Longest Palindromic Substring
- Leetcode -- Maximum Subarray
- uva1347 tour
- Palindrome
- poj1836 Alignment
- 51Nod-1582-n叉树
- 51Nod-1603-限高二叉排列树
- 51Nod-1174-区间中最大数
- Pear Trees
- 背包问题
- cf 895C Square Subsets
- 小鑫去爬山
- 数字三角形问题
- 1206 POJ1485 Fast Food