[JLOI2015][JZOJ4080]战争调度
来源:互联网 发布:python最经典的书籍 编辑:程序博客网 时间:2024/05/16 14:47
题目大意
题目分析
肯定要确定某些人选择做什么事。考虑到一条到根的路径只会有
确定了一个点所有祖先的选择之后,它的两棵子树是互相独立的,可以递归计算。
这个
总的时间复杂度就是
代码实现
#include <iostream>#include <cstdio>#include <cctype>using namespace std;int read(){ int x=0,f=1; char ch=getchar(); while (!isdigit(ch)) f=ch=='-'?-1:f,ch=getchar(); while (isdigit(ch)) x=x*10+ch-'0',ch=getchar(); return x*f;}const int N=10;const int P=1<<N+1;const int S=1<<N;const int M=1<<N-1;int w[P][P],f[P][P];int n,m,p,m0,ans;int g[P][M+1];void dp(int x,int h,int sta){ if (h==n) { g[x][0]=g[x][1]=0; for (int i=h-1,y=x>>1;i>=1;i--,y>>=1) { g[x][1]+=((sta>>i-1)&1)*w[y][x]; g[x][0]+=(((sta>>i-1)&1)^1)*f[y][x]; } return; } dp(x<<1,h+1,sta),dp(x<<1|1,h+1,sta); int size=1<<n+1-h; for (int i=0;i<=size;i++) { g[x][i]=0; for (int j=0;j<=i;j++) g[x][i]=max(g[x][i],g[x<<1][j]+g[x<<1|1][i-j]); } sta|=1<<h-1; dp(x<<1,h+1,sta),dp(x<<1|1,h+1,sta); for (int i=0;i<=size;i++) for (int j=0;j<=i;j++) g[x][i]=max(g[x][i],g[x<<1][j]+g[x<<1|1][i-j]);}int main(){ freopen("war.in","r",stdin),freopen("war.out","w",stdout); n=read(),m=read(); p=1<<n+1,m0=1<<n-1; for (int i=1;i<=m0;i++) for (int x=(i+m0-1)/2;x;x>>=1) w[x][i+m0-1]=read(); for (int i=1;i<=m0;i++) for (int x=(i+m0-1)/2;x;x>>=1) f[x][i+m0-1]=read(); dp(1,1,0); ans=0; for (int i=0;i<=m;i++) ans=max(ans,g[1][i]); printf("%d\n",ans); fclose(stdin),fclose(stdout); return 0;}
0 0
- [JLOI2015][JZOJ4080]战争调度
- 【JLOI2015】战争调度(war)
- 4007: [JLOI2015]战争调度
- 4007: [JLOI2015]战争调度 搜索
- [bzoj4007]【JLOI2015】战争调度(war)
- BZOJ 4007 [JLOI2015]战争调度
- 【BZOJ4007】【JLOI2015】战争调度 war 搜索
- [BZOJ]4007: [JLOI2015]战争调度 树形DP
- 树规? bzoj4007 战争调度
- 战争
- 战争
- 战争
- 战争
- bzoj4006: [JLOI2015]管道连接
- 4006: [JLOI2015]管道连接
- 4003: [JLOI2015]城池攻占
- 4004: [JLOI2015]装备购买
- BZOJ4004: [JLOI2015]装备购买
- 这几天折腾spark的kafka的低阶API createDirectStream的一些总结。
- poj3264 Balanced Lineup
- 使用JavaScript写的剪刀石头布的游戏!
- Spring Mvc那点事---(24)Spring Mvc监听器监听对象和属性
- DirectStream、Stream的区别-SparkStreaming源码分析02
- [JLOI2015][JZOJ4080]战争调度
- Java开发中的23种设计模式详解
- 黑苹果,Mac OS X如何使用USB数据线连接手机网络(没有网卡驱动时)
- 前后端分离的思考与实践(一)
- vs2010,2013c++代码格式化
- 324. Wiggle Sort II
- Spark Streaming 订单关联案例剖析
- POJ 1177:Picture(线段树-扫描线)
- Cucumber+java