POJ题题解
POJ题目题解
677niubility
这个作者很懒,什么都没留下…
展开
-
POJ - 1458 题解
题意:给你两个字符串,让你求出两个字符串中最长的相同子序列 思路:这道题是经典的最长相同子序列的题目,可以用动态规划来做 首先定义一个二维数组dp[i][j],并且我们规定,dp[i][j]存的值的意义是字符串a从0到i与字符串b从0到j的最长的公共子序列 那么对于每一个dp[i][j],它的值只能来自一下几种情况: 1 当a[i]==b[j]时,此时dp[i][j]=dp[i-1][j-1]+1,不懂可以仔细想想dp数组的定义 2如果a[i]!=b[j]那么dp[i][j]的值为dp[i-1][原创 2021-03-06 16:31:32 · 186 阅读 · 0 评论 -
POJ-2484-A Funny Game -题解
#题意:给你n个围成一圈的硬币,每次只能取一个或相邻的两个硬币,(取完一个硬币后,保持其他硬币位置不变,即会出现有硬币不相邻的情况) 问你假设先手取的人和后手取的人都采取最优策略,问谁能赢? 先手赢输出 Alice,后手赢输出Bob 思路: 先将n<=4特判,然后依照n的奇偶性来判断 首先考虑比较简单,当n为偶数时: 因为n是偶数,所以整个硬笔圈是对称的,那么无论你先手怎么取,我后手都可以对称的取和你一样的硬币, 这样可以保证每次我都能在你取完后我还能取,这样后手必赢。 再考虑当n为奇数的情原创 2021-03-06 11:04:48 · 186 阅读 · 0 评论 -
POJ-1556题解(附带计算几何模板)
##题意: 现在给你一个卧室的平面图,卧室里有0到18堵墙(垂直于x轴的) 固定起点(0,5),终点(10,5) 在不经过墙的情况下,要求你求出起点到终点的最短路线 ##思考: 首先题目很好理解,即在不撞到墙的情况下从求起点到终点的最短路线 首先可以知道,两点之间直线最短, 所以最优路线要么是一条直线(起点终点之间没有墙阻挡) 要么就是经过某些墙的端点的线段拼接而成(为什么是端点?加入线段不经过端点,比如说从两墙之间的空 白穿过,那么线段总可以向上或向下倾斜到墙的端点处,从而长度更小) 可以这样想,线段的原创 2021-02-27 12:30:09 · 193 阅读 · 0 评论