博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva10891Game of sum
阅读量:4309 次
发布时间:2019-06-06

本文共 528 字,大约阅读时间需要 1 分钟。

题意:经典的取石子游戏是这样的:有一堆石子,A、B两个人轮流取,每次取一颗,只能从边上取,每个石子有相应的价值,A、B两人都想使得自己的价值最多,两个人足够聪明,问最后价值分别是多少

本题则是可以取多颗,但仍然只能从一侧取得

分析:状态转移方程

best[i][j]=sum[i][j]-min(best[i][j-k],best[i+k][j], 0);{1<=k=j-i+1}.

使用了记忆化的方法,O(n3),书上说有进一步的优化,不过当前数据下已经很快了(64ms)

代码:

View Code
1 #include 
2 #include
3 #include
4 using namespace std; 5 const int MAXN = 100 + 10; 6 #define DEBUG 7 int min(int a, int b){ 8 return a

 

 

转载于:https://www.cnblogs.com/zjutzz/archive/2013/02/14/2911230.html

你可能感兴趣的文章
Arcsde报ora-29861: 域索引标记为loading/failed/unusable错误
查看>>
记一次断电恢复ORA-01033错误
查看>>
C#修改JPG图片EXIF信息中的GPS信息
查看>>
从零开始的Docker ELK+Filebeat 6.4.0日志管理
查看>>
How it works(1) winston3源码阅读(A)
查看>>
How it works(2) autocannon源码阅读(A)
查看>>
How it works(3) Tilestrata源码阅读(A)
查看>>
How it works(12) Tileserver-GL源码阅读(A) 服务的初始化
查看>>
uni-app 全局变量的几种实现方式
查看>>
echarts 为例讲解 uni-app 如何引用 npm 第三方库
查看>>
uni-app跨页面、跨组件通讯
查看>>
springmvc-helloworld(idea)
查看>>
JDK下载(百度网盘)
查看>>
idea用得溜,代码才能码得快
查看>>
一篇掌握python魔法方法详解
查看>>
数据结构和算法5-非线性-树
查看>>
数据结构和算法6-非线性-图
查看>>
数据结构和算法7-搜索
查看>>
数据结构和算法8-排序
查看>>
windows缺少dll解决办法
查看>>