- 博客(2)
- 收藏
- 关注
原创 Uva 10891(区间dp)
题面 Sum 游戏 题意 有一个长度为n的整数序列,两个游戏者A和B轮流取数,A先取。每次玩家只能从左端或者右端取任意数量个数(个数>0),但不能两端都取。所有数都被去走后游戏结束,然后统计每个人取走的所有数之和,作为各自的得分。两个人采取的策略都是让自己的得分尽量高,并且两人都足够聪明,求A的得分减去B的得分之后的结果 思路 dp(i,j)dp(i,j)dp(i,j)表示以第i个数为起点jjj个数为终点先手取数的最大值,不难想出状态转移方程 dp(i,j)=sum(i,j)−min(dp(i+1,j
2021-04-07 20:11:43
185
原创 Uva 10635(LCS转LIS)
题面 王子和公主 题意 有两个长度分别为p+1p+1p+1(A序列)和q+1q+1q+1(B序列)的序列,每个序列的各个元素互不相同,且都是111到n2n^2n2之间的数,求两个序列的LCSLCSLCS 思路 因为序列的各个元素互不相同,那么对A序列里面的元素建立映射,每个元素的映射为这个元素的下标,再对B序列里面的元素赋值为该元素对应的映射,如果没有出现过就赋值为0,这样只要是B的上升子序列那么必然是A的子序列(因为A里面元素对应的值是下标,所以是上升的),那么A和B的LCS就是此时B的LIS 代码 #i
2021-04-07 18:37:24
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人