首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
4597专题
hdu 4597 Play Game (记忆化搜索,区间dp)
题目大意: 有两个人玩取数的游戏,每次只能从两堆数列的两头取一个数,问先取的那个人最大能够获得的数是多少。 解题思路: 有题解说是记忆化搜索,很显然,我用了4维dp保存结果。dp[i][j][k][t] 表示 第一行为第i个数字到第j个数字,第二行为第k个数字到第t个数字的时候,我能够取得的最大值。 这边有个小问题,就是在状态转移的时候,我们要取几种可能状态下的最小值,虽然dp整个表示的是
阅读更多...
hdu 4597 Play Game(记忆化搜索)
题目链接:hdu 4597 Play Game 题目大意:给出两堆牌,只能从最上和最下取,然后两个人轮流取,都按照自己最优的策略,问说第一个人对多的分值。 解题思路:记忆化搜索,状态出来就非常水,dp[fl][fr][sl][sr][flag],表示第一堆牌上边取到fl,下面取到fr,同样sl,sr为第二堆牌,flag为第几个人在取。如果是第一个人,dp既要尽量大,如果是第二个人,
阅读更多...
#堆#洛谷 4597 CF13C Sequence
题目 给定一个序列,每次操作可以把某个数+1-1。要求把序列变成非降数列。而且要求修改后的数列只能出现修改前的数。 分析 对于每一个位置,若不合法,那么肯定是减少前面最大的与其的绝对值,若增加,其实和减少是互补的,所以感性理解就是先把该数插入大根堆,然后若大根堆的堆顶超过该数,那么把堆顶改为这个数,我太菜了,应该还是不会证明了呀 代码简短,就不贴了
阅读更多...