传送门
写在前面:DP后的网络流
思路:主要是建图,下图为样例
(灵魂画师上线ing)

中间是类似于数字三角形的,但是每个点要拆成两个,一个管入,一个管出,中间连边流量为1,防止重叠路径
注意:巧妙地记录点可以使建图简化
代码:

#include<bits/stdc++.h>
using namespace std;
int s,t,n,m,k,cnt,tot=1,ans;
int first[20000],dis[20000],up[20000];
queue<int> q;
bool vis[20000];
struct node
{int data,x,y;
}a[32][62];
struct edge
{int u,v,w,cost,next;
}e[40000];
void add(int x,int y,int z,int c)
{e[++tot].u=x;e[tot].v=y;e[tot].w=z;e[tot].cost=c;e[tot].next=first[x];first[x]=tot;
}
bool spfa()
{memset(dis,63,sizeof(dis));memset(up,0,sizeof(up));dis[s]=0;vis[s]=1;q.push(s);while (!q.empty()){int k=q.front();q.pop();vis[k]=0;for (int i=first[k];i;i=e[i].next)if (e[i].w&&dis[e[i].v]>dis[k]+e[i].cost){dis[e[i].v]=dis[k]+e[i].cost;up[e[i].v]=i;if (!vis[e[i].v]) vis[e[i].v]=1,q.push(e[i].v);}}return dis[t]<0x7ffff;
}
void flow()
{int minn=0x7fffffff;for (int i=up[t];i;i=up[e[i].u])minn=min(minn,e[i].w);for (int i=up[t];i;i=up[e[i].u])e[i].w-=minn,e[i^1].w+=minn,ans+=minn*e[i].cost;
}
main()
{scanf("%d%d%d",&n,&m,&k);for (int i=1;i<=n;i++)for (int j=1;j<=m+i-1;j++){scanf("%d",&a[i][j].data);a[i][j].data=-a[i][j].data;a[i][j].x=++cnt;a[i][j].y=++cnt;add(cnt-1,cnt,1,0);add(cnt,cnt-1,0,0);}s=(2*m+n-1)*n+1;t=(2*m+n-1)*n+2;for (int i=1;i<=m;i++)add(s,a[1][i].x,1,a[1][i].data),add(a[1][i].x,s,0,-a[1][i].data);for (int i=1;i<n;i++)for (int j=1;j<=m+i-1;j++)add(a[i][j].y,a[i+1][j].x,1,a[i+1][j].data),add(a[i+1][j].x,a[i][j].y,0,-a[i+1][j].data),add(a[i][j].y,a[i+1][j+1].x,1,a[i+1][j+1].data),add(a[i+1][j+1].x,a[i][j].y,0,-a[i+1][j+1].data);for (int i=1;i<=m+n-1;i++)add(a[n][i].y,t,1,0),add(t,a[n][i].y,0,0);while (k--&&spfa()) flow();printf("%d",-ans);
}

【codevs1033】蚯蚓的游戏问题,费用流相关推荐

  1. [CSP-S模拟测试]:壕游戏(费用流)

    题目传送门(内部题18) 输入格式 第一行包括四个数$n,m,k,s$表示有$n$个剧情点,$m$个关卡,要玩$k$次游戏,$s$个完结点接下来一行包含$s$个数,代表$s$个完结点的编号. 接下来$ ...

  2. 【wikioi】1033 蚯蚓的游戏问题(费用流)

    http://wikioi.com/problem/1033/ 这题也是很水的费用流啊,同之前那题一样,拆点然后建边,容量为1,费用为点权.然后建个源连第一行每个点,容量为1,费用为0,然后最后一行每 ...

  3. 5331. 【NOIP2017提高A组模拟8.23】壕游戏 费用流 动态连边

    题意:n个点m条边,每条边有一个经过次数限制ci,假设经过了x次,第x次费用为ai*x+bi,有s个终点,要跑k次,问最小总费用多少. 巨鬼畜,连边只按照第一次的连,然后费用流的时候每流一条边然后再连 ...

  4. [codevs 1033] 蚯蚓的游戏问题

    [codevs 1033] 蚯蚓的游戏问题 题解: 首先每个点只能走一次,所以要靠拆点 (X -> Xi, Xj) 来限制每个点走的次数,容量为1,费用为食物量的相反数. 从源点向所有第一层的点 ...

  5. BZOJ1150[CTSC2007]数据备份Backup——模拟费用流+堆+链表

    题目描述 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游 ...

  6. 【BZOJ3876】[Ahoi2014]支线剧情 有上下界费用流

    [BZOJ3876][Ahoi2014]支线剧情 Description [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩 ...

  7. BZOJ.4842.[NEERC2016]Delight for a Cat(费用流)

    BZOJ 参考这儿. 首先如果一个活动的时间满足条件,那么另一个活动也一定满足.还有就是这题就是费用流没有为什么.不妨假设最初所有时间都用来睡觉,那么我们要对每个\(k\)大小区间选出\([t2,k- ...

  8. 【BZOJ3252】攻略 DFS序+线段树(模拟费用流)

    [BZOJ3252]攻略 Description 题目简述:树版[k取方格数] 众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏. 今天他得到了一款新游戏<XX半岛> ...

  9. 刷题总结——支线剧情(bzoj3876费用流)

    题目: [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往 都有很多的支线剧情,现在JYY想花费最 ...

  10. 【bzoj3876】【AHOI2014】【支线剧情】【有上下界的费用流】

    Description [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往 都有很多的支线剧情,现 ...

最新文章

  1. 动手学深度学习(二)
  2. pandas 删掉空行
  3. 简明python教程txt-Python新手的数据批量处理教程(TXT文件)
  4. MySQL 数据库 练习题
  5. 算法提高课-搜索-最小步数模型-AcWing 1107. 魔板:bfs、复杂、八数码类似的题目
  6. rust(36)-Rust and WebAssembly(3)
  7. Linux系统函数read()/write()/pread()/pwrite()的区别
  8. 通过一个简单的例子,了解 Cypress 的运行原理
  9. 通过点击事件监听 setOnClickListener 彻底理解回调-Android
  10. 软件测试白皮书-等价类
  11. Design Patterns(设计模式-观察者)
  12. java模拟记事本的一些功能
  13. Flutter代码锦囊---摇一摇
  14. Groupon的电子邮件营销故事
  15. 计算机视觉知识体系图,计算机视觉系统框架的新构思
  16. Siamese 目标跟踪:Learning to Fuse Asymmetric Feature Maps in Siamese Trackers(CVPR2021)
  17. Python:打印星号
  18. 已解决:Word加载MathType时出现MathPage.wll或MathType.dll文件找不到
  19. Stata: 协整还是伪回归?
  20. Windows多用户配置,不同用户不同访问权限

热门文章

  1. 【华为敏捷/DevOps实践】2. Wiki凭什么持续得到开发人员和团队的喜爱
  2. Android ListView选中项居中放大(使用上下键控制,非触屏)
  3. A Style-Based Generator Architecture for Generative Adversarial Networks---阅读笔记
  4. 第一、二类斯特林(Stirling)数的生成函数(母函数)及推导
  5. LeetCode-144:二叉树的前序遍历
  6. 小智伴机器人使用说明_智伴机器人丨史上最全功能,玩转小智伴看这里!
  7. echarts的入门案例
  8. hadoop配置文件还原_hadoop配置文件详解,安装及相关操作
  9. java8 hadoop_java8-模拟hadoop
  10. mysql doen s exist_Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误