![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划+搜索
mrkdian
这个作者很懒,什么都没留下…
展开
-
HDU 1712 分组背包
#include#include#include#includeusing namespace std;typedef long long ll;ll max(ll a,ll b,ll c){ ll d=max(b,c); d=max(a,d); return d;}ll W[200000],V[200000];int cnt=0;ll dp[10原创 2015-07-22 17:29:11 · 212 阅读 · 0 评论 -
hrbust 1186 简单DP
递归的方法会超时。只有靠递推解决。递推:#include#includeint l,s,t,n;int DP[100010]={};int main(){ while(~scanf("%d%d%d%d",&l,&s,&t,&n)) { memset(DP,0,sizeof(DP)); for(int i=1;i<=n;i++)原创 2015-03-07 15:19:20 · 349 阅读 · 0 评论 -
POJ 1185 状压DP
#include#include#include#includeusing namespace std;int map[101];//int dp[101][(1int dp[101][70][70];int st[70];int num[(1inline int jcount(int x){ int cnt=0; whi原创 2015-04-15 21:06:44 · 265 阅读 · 0 评论 -
POJ 2449 A*经典水题
先求每个点到目地T的最短距离。这一步可以将图的每条边反向,做单源最短路求得。然后就是在图上搜索。可以用优先队列来实现搜索状态的筛选。f=g+hg为搜索到此点已经走过的距离,h为此点到T的最短距离。当第K次搜到T,此时的g+h就是第K短路。#include#include#include#include#include#includeusing nam原创 2016-01-20 23:49:20 · 301 阅读 · 0 评论 -
POJ 3279 搜索(反转)
这道题搜索的角度很有意思。比较直白的想就是每个瓷砖都可以反或不反,2种选择。这样的话,搜索的状态数时间太多,指数级增长,肯定T。不妨这么想。如果指定了第1横排的翻法。那么如果第1横排存在黑色,也就是(1,x)为黑。那么(2,x)就必须反转才能保证(1,x)为白,那么第2排的反转法也确定了。如此类推,如果至最后一排都为全白,那么这是一种可以通过的翻法。原创 2016-01-21 00:05:52 · 410 阅读 · 0 评论