动态规划
Cc_Sonia
这个作者很懒,什么都没留下…
展开
-
2018百度之星资格赛 1001 调查问卷 状态压缩DP
据说这题是个状压dp...然后看着刚捋清楚的套路,仍然懵逼。。。同样先贴大佬博客Orz:https://blog.csdn.net/qq_37591656/article/details/81427818 http://www.cnblogs.com/LQLlulu/p/9419232.html突然就明白过来这题...原创 2018-08-05 22:36:54 · 248 阅读 · 0 评论 -
UVALive-4302 Toll Road 思维+dfs+动规
这道题想到用dfs和dp了,,但是不会写QAQ。。后来看了某大佬的代码,太强了Orz状态转移方程为dp[u]+=max(0,dp[v]+w),另外很巧的一点是先深搜再转移(注意!!!)附上AC代码:#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#...原创 2018-09-25 18:13:52 · 209 阅读 · 0 评论 -
Gym-101635E Ingredients 最短路+01背包
先附上大佬博客Orz:https://blog.csdn.net/white_yasha/article/details/81952020这道题乍一看知道是动规,但接下来就不知道怎么做了QAQ...我果然还是好菜啊55555...首先要读懂题。。思路就看大佬博客的,很清楚Orz另外这道题要加“std::ios::sync_with_stdio(false);”取消流同步,不然会TLE。...原创 2018-09-20 22:28:11 · 251 阅读 · 0 评论 -
POJ1836 Alignment LIS
这道题一开始题没读懂,各种WA。。。后来看了大佬博客Orz:https://blog.csdn.net/lanjiangzhou/article/details/8993095明白了就是求一个呈正三角形排的队。。两边用下LIS(注意是反着求LIS而不是求最长递减子序列),找两个最高的点就可以了(点的编号不一定连续,所以两重循环)。附上AC代码:#include<cstdio&g...原创 2018-10-22 19:23:37 · 184 阅读 · 0 评论 -
蓝桥杯 历届试题 格子刷油漆 动态规划
啥都不说了...我好菜啊55555...主要参考:https://www.jianshu.com/p/214d09476203以下是较完整的解题思路:附上正确源码:#include<cstdio>#include<cstring>#include<cstdlib>#include<math.h>#include<i...原创 2018-05-19 17:23:27 · 1375 阅读 · 0 评论 -
蓝桥杯 算法提高 拿糖果 完全背包变形
一开始把题理解错了,以为m=n,就筛了下质因数,数量不多直接暴力判断了;交了一发只过了50%...代码如下:#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<cmath>#include<vector>...原创 2019-03-20 19:30:34 · 229 阅读 · 0 评论 -
POJ 1080 Human Gene Functions LCS变形
知道要动规,但完全不知道咋做。。甚至想到了dfs。。。还是没有学到LCS的精髓啊QAQ看了大佬博客Orz:https://www.cnblogs.com/6262369sss/p/9959237.html https://www.cnblogs.com/linkstar/p/5366170.html再结合LCS的原理,感觉好像...原创 2019-03-21 16:32:15 · 199 阅读 · 0 评论 -
POJ 1837 Balance 动态规划
这道题感觉不是很明显的背包。。可能因为题目要求所有物品都放吧。。动态规划一直是我的弱项,不会分析,更不会写状态转移方程QAQ...我一开始的思路是:dp[i][j]表示第i个物品挂在第j个钩子上天平的状态,则dp[i][j]=dp[i-1][j]+wei[i]*hk[j],交了一发WA了。。其实有个很明显的错误,第i-1个物品不一定挂在第j个钩子上啊。。所以要找到一个“最值态”(最大或最...原创 2019-03-18 21:51:31 · 211 阅读 · 0 评论 -
POJ 1276 Cash Machine 混合背包
这道题算是很基础的混合了01,完全,多重背包的动规,不多说,贴代码如下:#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<utility>using namespace std;const int INF=0x3f...原创 2019-03-19 10:38:52 · 176 阅读 · 0 评论 -
POJ3267 The Cow Lexicon 动态规划
动态规划真的是不会做。。都说这是道非常简单的dp...然而我。。。QAQ这道题乍一看没想法,不知道怎么用dp。。后来看了博客Orz:https://blog.csdn.net/winddreams/article/details/40266597然后自己整理如下:dp[i]:到第i位需要剔除的字母个数(下标从0开始)若无匹配单词:dp[i]=dp[i-1]+1;(dp[0]=1)...原创 2019-06-01 14:45:12 · 244 阅读 · 0 评论 -
2018ICPC焦作站网络赛 Transport Ship 多重背包
这道题乍一看确实像完全背包,,可是再一想又不会了。。状态转移方程怎么写QAQ。。果然我还是太菜了55555...后来看了大佬队友的代码,豁然开朗Orz这道题确实挺考验对多重背包的理解和怎么写状态转移方程的。。(菜鸡是这么认为的,但大佬就说是道裸题QAQ...)附上正确代码:#include<cstdio>#include<cstring>#include&...原创 2018-09-19 11:24:34 · 295 阅读 · 0 评论 -
UVA-1471 Defense Lines LIS二分变形
这道题乍一看,没什么思路。。。然后就慢慢琢磨,想到了一个O(n^2)的算法:从左往右、从右往左各搜一遍,找到一个数左边和右边最多能连几个数;再从头搜一遍,找到比a[i]大的数,加上右边最多能连多少,不断更新。果断TLE。。。附上TLE的代码:#include<cstdio>#include<cstring>#include<cstdlib>#in...原创 2018-08-16 19:20:49 · 209 阅读 · 0 评论 -
POJ3254 Corn Fields + POJ1185 炮兵阵地 状态压缩DP
都说这是两道状压DP的入门题emmmmm...搞了一下午好像明白了点??? 1.POJ3254 Corn Fields 先贴大佬博客Orz:https://blog.csdn.net/harrypoirot/article/details/23163485讲的已经很好很详尽了Orz,我代码里的注释也基本仿照该博客的,膜拜三连Orz直接上AC代码吧,以后还是要多翻回来看看。...原创 2018-08-05 14:47:36 · 363 阅读 · 0 评论 -
CodeForces - 721C Journey 动态规划
一开始做这道题的时候,我只推出了状态转移方程,即:dp[v][j]=min(dp[v][j],dp[u][j-1]+time[u][v])但循环写错了,路径也不会保存QAQ...看了大佬的代码,豁然开朗Orzdp[i][j]:到达i点,经过j个城市的最小时间pre[i][j]:到达i点,经过j个城市的前一个城市然后模仿人家写的交了一发,结果显示"Memory limit excee...原创 2018-08-04 11:11:48 · 250 阅读 · 0 评论 -
HDU2845 Beans 两次线性DP
说实话这题并不难。。然而因为数组问题,懵圈了。。看了大佬博客Orz:https://blog.csdn.net/ahjkl007/article/details/37744359发现用两个数组,处理得很巧妙。我好菜啊55555...附上AC代码:#include<cstdio>#include<cstring>#include<cstdlib&g...原创 2018-08-02 20:16:07 · 138 阅读 · 0 评论 -
CodeForces - 977F Consecutive Subsequence 动规+map
最开始想的是LIS+记录路径,但是O(n^2)的复杂度TLE了。。然后看了题解...好巧啊啊啊啊。。。我真的太笨了,什么都想不出来555555...附上AC代码:#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostr...原创 2018-08-02 16:25:10 · 221 阅读 · 0 评论 -
POJ1015 Jury Compromise 动态规划-较难
我好菜啊啊啊啊啊。。。。。看了一上午,这道题才算看懂了点,但还是懵,记录下来以后再回过来看吧。我看着大佬博客写的:https://blog.csdn.net/lyy289065406/article/details/6671105讲的很细致,代码很清楚,膜拜一下Orz贴上我的AC代码,但不是我写的哇55555#include<cstdio>#include<c...原创 2018-08-02 11:20:02 · 244 阅读 · 0 评论 -
HDU-1160 FatMouse's Speed LIS+记录路径
感觉很能让人理解LIS的一种方法,记录路径输出来看看。直接贴AC代码吧,有很多注释,都是输出中间结果以助理解的。#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#include<algorithm&g...原创 2018-08-01 08:43:34 · 153 阅读 · 0 评论 -
蓝桥杯 历届试题 买不到的数目 动规
这道题系统提示用动规,就用dp了。我觉得像是完全背包,打表发现:倒着数,当i≠dp[i]的时候,i就是所求值。以下是正确源码:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int I...原创 2018-05-19 18:05:20 · 234 阅读 · 0 评论 -
HDU1074 Doing Homework 状压dp
又是一道状压dp...心情复杂.jpg同样先贴大佬博客:https://blog.csdn.net/u014665013/article/details/70208609 https://blog.csdn.net/libin56842/article/details/24316493 (用栈输出,很巧妙)有了前几道题的经验...原创 2018-08-06 22:31:48 · 198 阅读 · 0 评论 -
HDU1257 最少拦截系统 LIS+思维
啥都不说了。。主要是思维吧。。同样先贴大佬博客Orz:https://www.cnblogs.com/cenariusxz/p/4304567.html对于这个最长上升子序列而言,每一个数代表一个拦截系统的最小值, 并且由于序列是上升的,每一个数都不能再拦截序列中的下一个数,因为下一个数更大, 因此这个子序列的长度就是拦截系统数。再直接附上AC代码吧:#include<cs...原创 2018-08-07 08:41:09 · 249 阅读 · 0 评论 -
POJ1260 Pearls 动态规划
又做了一道动规,我一开始想到的思路如下:dp[i]:买第i种珍珠用的最低价格(因为价格递增,又只允许按更贵的买,所以倒着算)若单买:dp[i]=dp[i+1]+(num[i]+10)*pri[i];(dp[n]=(num[n]+10)*pri[n])若与第j种合买:dp[i]=dp[i+1]+num[i]*pri[j];其中要求第j种也是单买的,所以用一个vis数组标记嗯。。WA了...原创 2019-06-02 12:27:36 · 221 阅读 · 0 评论