动态规划
文章平均质量分 95
axtices
这个作者很懒,什么都没留下…
展开
-
题—送外卖2(最短路径&&dfs)
送外卖2图论,动态规划,BFS,弗洛里德算法牛客网:送外卖2 题意ps: 2号代码解释 下次一定(滑稽);n个点,m条有向边,q个外卖点。q个外卖点信息 卖家位置,顾客位置,卖家做好的时间,顾客要求的时间送达不管时间,问能送达的最大的外卖的点数。1-------------------代码如下:使用BFS解决#include<iostream>#include<cstring>using namespace std;int read(){ in原创 2020-10-27 15:21:58 · 2531 阅读 · 0 评论 -
L. Two Buildings(决策单调性 )详解
2020-2021 ACM-ICPC, Asia Seoul Regional Contest 补题题目传送门朴素算法(爆搜):o(n2n^2n2)决策单调:o(n*log2n\log_2^nlog2n)题意:给一长度n(n<=1e6)的数组,hih_ihi<=1e6,求max(hih_ihi+hjh_jhj)∗(j−i) 1≤i<j≤n.思路:直接求很难,进行公式变换 ( hjh_jhj - ( hih_ihi ) )∗(j−i) 1≤i<j原创 2021-03-19 22:37:55 · 686 阅读 · 3 评论 -
题-宵暗的妖怪(dp)
宵暗的妖怪牛客网:F题目链接题意:给定一数组: 获得的饱食度最大值是多少? 从数组中选取一个s[i] 那么他的左右都会被暗黑吞噬,意味着不能被选取了。且i能选择首尾(选择了有一部分就不能吞噬了呢)。思路:动态规划,s数组表示每个值。用a数组,表示前i个的饱食度最大值。dp三步走:1.无后效性,嗯。。2.赋初值3.后面结果需要用到前面的结果a[i]=max(a[i-1],a[i-3]+s[i-1]);比较两个数 前一个饱食度的值,和需要添加的饱食度+暗黑吞噬值。代码如下:#i原创 2020-11-22 17:30:07 · 207 阅读 · 0 评论 -
题—D. Catching Cheaters(最大子序列问题)
动态规划的新认知(初步了解)心得:一.遇见动态规划的三步走:1.得证当前有最优解(要分析他的可行性):局部最优解推出整体 最优解2.无效性:博主目前认为:现在的结果不会对之前的结果有影响。部分dp无非是这是三种 dp[i][j],dp[i-1][j],dp[i][j-1],他们对dp[i][j]的影响。3.初始化初始化初始化(dp数组初始化,重要事情说三遍 )因题意初始化而不同。二.最大公共子序列的求解问题题目链接题意:给两字符串a,b,已知长度。x是a的子串,原创 2020-11-16 23:24:10 · 220 阅读 · 0 评论 -
题-Knapsack
2020小米选拔赛2-H题(背包问题)算法:dp优化。主要解决的问题:一个背包装下的物品价值和最大。背包最大承受量m,每个物品都有重量和对应的价值。怎么装才能使得背包价值最大?题目链接反思:课后补题,没做出来,题目做少了。题意:多组输入,每组n个物品,m的容量。求背包价值最大。思路:测试数据到了1e5级别了,复杂度高,那么就要对动态规划优化主要算法:常规动态规划,时间复杂度(o(n*m));for(int i=1;i<=n;i++){ for(int j=m;j>=原创 2020-11-06 20:45:42 · 162 阅读 · 0 评论 -
题—Subsequence Pair
求最大公共子序列数(+dp)题目链接:牛客网小米选拔赛2,I题。最大公共子序列数定义:给两字符串x,y,如果Z既是X的子序列,又是Y的子序列,则称Z为X和Y的公共子序列最大公共子序列数是在所有z中长度最大。eg:x:abcbxyzy:bdcaxyz 最大z: bcxyz 长度5.ps:dp,字符串,卡常。题意:给两字符串x,y:从x,y中分别选出a,b子序列并且字典序:a<b.求len(a+b)之和的最大值。多组数据输入。思路: x的下标 i,(x[i]), y的原创 2020-11-06 10:58:31 · 97 阅读 · 0 评论