真正的危机不是机器人像人一样思考,而是人像机器一样思考。 ——凉宫春日的忧郁

[JLOI2015]战争调度

[JLOI2015]战争调度

题目

解题报告

考试打了个枚举的暴力,骗了20= =

$qsy$大佬的$DP$:

其实就是枚举= =,只不过枚举的比较强= =

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 using namespace std;
 5 inline int read(){
 6     int sum(0);
 7     char ch(getchar());
 8     for(;ch<'0'||ch>'9';ch=getchar());
 9     for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar());
10     return sum;
11 }
12 typedef long long L;
13 int n,m,tot;
14 L w[1050][15],f[1050][15];
15 L dp[1050][1050];
16 inline void dfs(int rt,int dep,int st){
17     memset(dp[rt],0,sizeof(dp[rt]));
18     if(dep==n-1){
19         for(int i=0;i<dep;++i){
20             if(st&(1<<i))
21                 dp[rt][1]+=w[rt][i];
22             else
23                 dp[rt][0]+=f[rt][i];
24         }
25         return;
26     }
27     int size(1<<(n-dep-1));
28     dfs(rt<<1,dep+1,st);
29     dfs(rt<<1|1,dep+1,st);
30     for(int i=0;i<=(size>>1);++i){
31         if(i>m)
32             break;
33         for(int j=0;j<=(size>>1);++j){
34             if(i+j>m)
35                 break;
36             dp[rt][i+j]=max(dp[rt][i+j],dp[rt<<1][i]+dp[rt<<1|1][j]);
37         }
38     }
39     dfs(rt<<1,dep+1,st|(1<<dep));
40     dfs(rt<<1|1,dep+1,st|(1<<dep));
41     for(int i=0;i<=(size>>1);++i){
42         if(i>m)
43             break;
44         for(int j=0;j<=(size>>1);++j){
45             if(i+j>m)
46                 break;
47             dp[rt][i+j]=max(dp[rt][i+j],dp[rt<<1][i]+dp[rt<<1|1][j]);
48         }
49     }
50 }
51 int main(){
52     n=read(),m=read(),tot=(1<<n)-1;
53     for(int i=1;i<=(1<<(n-1));++i)
54         for(int j=n-2;j>=0;--j)
55             w[(1<<(n-1))+i-1][j]=read();
56     for(int i=1;i<=(1<<(n-1));++i)
57         for(int j=n-2;j>=0;--j)
58             f[(1<<(n-1))+i-1][j]=read();
59     dfs(1,0,0);
60     L ans(0);
61     for(int i=0;i<=m;++i)
62         ans=max(ans,dp[1][i]);
63     printf("%lld",ans);
64 }
View Code

 

posted @ 2017-10-01 14:28  Hzoi_Mafia  阅读(161)  评论(0编辑  收藏  举报
我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。 ——死神