![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
布拉克王国国王黑叔叔
这个作者很懒,什么都没留下…
展开
-
还是采药问题
这是一道很经典的题目,动态规划基础题,我们可以将一种药看作一种状态,然后对每格进行 max取值,下面是代码:#include<cmath>#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cstdlib&g...原创 2018-03-16 21:19:46 · 257 阅读 · 0 评论 -
NOIP2012——摆花
这道题最初想到了是用动态规划,但因本人菜鸡一枚,居然没推出公式,于是只好 迎着风向前冲 手打出了过程,那个最弱数据的30分,这是代码:#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<cstring>#includ...原创 2018-03-11 20:40:39 · 472 阅读 · 0 评论 -
NOIP2012——文化之旅
这道题最初博主理解错误,误以为学了某种文化就不能到排斥这种文化的地方去(明明也是这样写的好吧),实际上只用判断到达的国家是否排斥现在所在国家的文化,那就简单多了,Floyd 走起,下面是代码:#include <stdio.h>using namespace std;const int MAX=999999;const int MAXN=105;int n,k...原创 2018-03-11 20:48:22 · 686 阅读 · 1 评论 -
NOIP2014 飞扬的小鸟
这道题拿到题很明显可以看出是动态规划,我们只需要在过管子是判断一下撞墙的操作,但是神奇的是我最开始用正向搜就T了,然后玄学反向一波就过了,还真是神奇四侠呢,那下面还是给出代码吧:#include<bits/stdc++.h>using namespace std;const int MAXDP=100000;int l[10005],h[10005];int d...原创 2018-06-09 21:40:01 · 206 阅读 · 0 评论 -
小P的牧场
看完题目描述,我们会马上想到动态规划,我们可以先走一遍前缀和,然后通过减去建控制站之后减去的值,对减去值取最大,然后可以看出可以用斜率优化来进行简化,下面是代码:#include<bits/stdc++.h>using namespace std;int read(){ int x=0,f=1;char ch=getchar(); while(ch...原创 2018-06-18 21:30:32 · 279 阅读 · 0 评论 -
jzoj5788 餐馆
我们首先看到这道题的描述,我们可以发现若是在每两个有道路的店之间连一条边,所成图似乎就成长为了一颗树,那我们可以用树形dp来解决这道题首先我们思考状态转移,我们可以设`dp[当前点][这个点用的体力][0代表从此点出发回来,1代表从此点出发不回来]那状态转移可以设为dp[i][j+j+1][1]<-dp[son][k][1]+dp[i][j][0]这代表从此点出发回到此点,然...原创 2018-08-09 22:07:58 · 221 阅读 · 0 评论 -
NOIP模拟 track
这道题看着有字符串就直接想到了字符串匹配我们可以用f[i][j][k]来表示当走到i秒时j高度时已经匹配到第k个的时候的数量我们有这几种转移方式当这一位我们向上时若匹配成功f[i+1][j+1][k+1]+=f[i][j][k]匹配失败就是f[i+1][j-1][0]+=f[i][j][k](注意这里j不能为0)往下走时类似但这样我们会发现太浪费了,而且其中有部分没有计...原创 2018-10-03 20:32:09 · 249 阅读 · 0 评论