HDU 6199 gems gems gems
来源:互联网 发布:程序员入门先看什么书 编辑:程序博客网 时间:2024/05/21 18:37
#include<bits/stdc++.h>using namespace std;#define fi first#define se second#define pb push_back#define CLR(A, X) memset(A, X, sizeof(A))#define bitcount(X) __builtin_popcountll(X)typedef long long LL;typedef pair<int, int> PII;const double eps = 1e-10;const int MOD = 255;const auto INF = 0x3f3f3f3f;int dcmp(double x) { if(fabs(x) < eps) return 0; return x<0?-1:1; }const int MAXN = 2e4+5;int sum[MAXN], dp[2][256][256];int main() { int X, n; scanf("%d", &X); while(X--) { CLR(dp, 0); scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d", &sum[i]); sum[i] += sum[i-1]; } int k = sqrt(n*2.0)+1; for(int i = n; i >= 1; i--) { for(int j = 1; j<=k && i+j-1<=n; j++) { int u = i&MOD, v = (i+j)&MOD, d = sum[i+j-1]-sum[i-1]; int &d0 = dp[0][u][j], &d1 = dp[1][u][j]; d0 = dp[1][v][j]+d; d1 = dp[0][v][j]-d; if(i+j <= n) { v = (v+1)&MOD, d += sum[i+j]-sum[i+j-1]; d0 = max(d0, dp[1][v][j+1]+d); d1 = min(d1, dp[0][v][j+1]-d); } } } printf("%d\n", dp[0][1][1]); } return 0;}
阅读全文
0 0
- HDU 6199 gems gems gems
- hdu 6199 gems gems gems
- HDU 6199 gems gems gems dp
- hdu 6199 gems gems gems dp
- hdu 6199 gems gems gems(DP)
- HDU 6199 gems gems gems 2017沈阳网络赛 1006
- HDU 6199 gems gems gems (2017沈阳网络赛)
- 2017沈阳网络赛 HDU 6199 gems gems gems
- HDU 6199 gems gems gems [DP+DP优化]
- HDU 6199 gems gems gems dp(逆推)
- HDU 6199 gems gems gems (2017沈阳网赛
- HDU 6199 gems gems gems (DP, 2017 ACM/ICPC Asia Regional Shenyang Online)
- hdu 4778 Gems Fight!
- hdu 4778Gems Fight!
- HDU 4778 Gems Fight!
- HDU 4778 Gems Fight!
- hdu 4778 Gems Fight!
- HDU 4778 Gems Fight!
- 初始化bar页面和选项卡点击监听
- 数据结构-单链表按序号删除
- [转]QTableView 双击 获取 一行数据
- k个最小和 K路归并问题
- java---Collection
- HDU 6199 gems gems gems
- Three.js实现的粒子系统
- Mac TensorFlow安装中遇到的问题
- MATLAB排序函数
- HDU-6188-Duizi and Shunzi(广州邀请赛G题)(简单贪心)
- 【C++】亚马逊《统计Map中岛屿个数》
- VS2010 Addin 插件添加菜单和命令
- 【绝对原创】最新研究成果,EFS加密文件真的可以解密!各位不要放弃哈~
- 用SourceTree轻松Git项目图解