一开始T了一组RE了一组,实在找不出错来,就把数组加了一个0竟然就多A了一组。很惊讶的又加了几个0最后竟然全A了!!!

懒得做了,改的是之前的那个蚯蚓的游戏问题。还是需要拆点,至于为什么不能重复走结点,很容易想吧。

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
struct charge{
int u,v,cost,c,next;
}f[];
int n,m,k,num=,cnt=,point[],q[],pre[],dist[];
bool vis[];
void insect(int x,int y,int co,int bei)
{
f[cnt].u=x;f[cnt].v=y;f[cnt].cost=bei;f[cnt].c=co;
f[cnt].next=point[x];point[x]=cnt++;
f[cnt].u=y;f[cnt].v=x;f[cnt].cost=-bei;f[cnt].c=;
f[cnt].next=point[y];point[y]=cnt++;
}
bool spfa(int begin,int end)
{
int mp,a,b,head=,tail=;
memset(q,,sizeof(q));
memset(pre,0xff,sizeof(pre));
memset(dist,0x7f,sizeof(dist));
memset(vis,,sizeof(vis));
q[]=begin; dist[begin]=; vis[begin]=;
while (head<=tail)
{
a=q[head];
vis[a]=;
mp=point[a];
while (mp>=)
{
if (f[mp].c>){
b=f[mp].v;
if (dist[b]>dist[a]+f[mp].cost)
{
dist[b]=dist[a]+f[mp].cost;
pre[b]=mp;
if (!vis[b]){vis[b]=;tail++;q[tail]=b;}
}
}
mp=f[mp].next;
}
head++;
}
return dist[end]!=;
}
int MCMF(int begin,int end)
{
int ans=,mp,i,flow,flowsum=;
while (spfa(begin,end))
{
flow=;
for (i=pre[end];i!=-;i=pre[f[i].u])
if (f[i].c<flow) flow=f[i].c;
for (i=pre[end];i!=-;i=pre[f[i].u])
{
f[i].c-=flow;
f[i^].c+=flow;
}
ans+=dist[end];
flowsum+=flow;
}
return ans;
}
int main()
{
scanf("%d %d\n",&n,&k);
int i,a,b,c,j,ff;
memset(point,0xff,sizeof(point));
insect(,,k,);
scanf("%d",&c); num+=; insect(,,,); insect(,,,-c);
for (i=;i<=n;++i)
{
scanf("%d",&c); num+=;
insect(,num-,,); insect(num-,num-,,);
insect(num-,num,,-c);
}
ff=;
for (i=;i<=n;++i)
{
scanf("%d",&c); num+=; insect(ff,num-,,); insect(num-,num,,-c);
for (j=;j<=n;++j)
{
ff+=;
scanf("%d",&c); num+=;
insect(num-,num-,,); insect(ff,num-,,);
insect(num-,num,,-c);
}
ff=((i-)*n*)+;
}num++;
for (i=;i<=n;++i)
insect((n-)*n*++i*,num,,);
printf("%d\n",-*MCMF(,num));
return ;
}

codevs1227 方格取数2 注意数组啊啊啊啊啊啊啊啊啊啊的更多相关文章

  1. [CodeVs1227]方格取数2(最大费用最大流)

    网络流24题的坑还没填完,真的要TJ? 题目大意:一个n*n的矩阵,每格有点权,从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该格子的数就变成0,这样一共走 ...

  2. codevs1227:方格取数2

    题目描述 Description 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= )现在从(,)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该 ...

  3. 方格取数(简单版)+小烈送菜(不知道哪来的题)-----------奇怪的dp增加了!

    一.方格取数: 设有N*N的方格图(N<=20),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A(1,1) 点出发,可以向下行走,也可以向右走,直到到达右下 ...

  4. vijos 1563 疯狂的方格取数

    P1653疯狂的方格取数 Accepted 标签:天才的talent[显示标签]   背景 Due to the talent of talent123,当talent123做完NOIP考了两次的二取 ...

  5. HDU-1565 方格取数(1)

    http://acm.hdu.edu.cn/showproblem.php?pid=1565 方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Me ...

  6. HDU1565 方格取数 &&uva 11270 轮廓线DP

    方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  7. hdu 1565 方格取数(1) 状态压缩dp

    方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  8. 方格取数(dp)

    方格取数 时间限制: 1 Sec  内存限制: 128 MB提交: 9  解决: 4[提交][状态][讨论版][命题人:quanxing] 题目描述 设有N×N的方格图,我们在其中的某些方格中填入正整 ...

  9. Hdu-1565 方格取数(1) (状态压缩dp入门题

    方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

随机推荐

  1. 【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解

    一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和men ...

  2. eclipse luna maven失效的原因

    昨天发现单位里的eclipse中的maven直接不显示了,不能在 Windows-Preference 中显示maven 也不能新建maven工程,也不能maven-update,连STS(Sprin ...

  3. PNG文件

    png格式主要由六大块组成:文件头.IHDR块.PLTE块.tRNS块.IDAT块.文件尾文件头一般是 8950 4E47 0D0A 1A0A而本题提示中的IHDR块是png中用来描述图片的基本信息, ...

  4. 实现Maya FEM节点

    准备实现FEM节点. 发现一种让自定义的Locator以及它的变换节点自动命名的方法.代码如下: void FEMSimulationNode::postConstructor() { MFnDepe ...

  5. templatecolumn checkcolumn

  6. Quartz Cron 触发器 Cron Expression 的格式

    转自:http://blog.csdn.net/yefengmeander/article/details/5985064 上一文中提到 Cron触发器可以接受一个表达式来指定执行JOB,下面看看这个 ...

  7. [py]导入模块3种方法

        import os <--通过os.system()引用 from os import * <---直接system()引用,不建议使用 from os import argv i ...

  8. 数据爬取ing

    ing import urllib for i in range(0,1,1): url='****/GetData?loginName=&userName=&beginDate=20 ...

  9. scrapy 代理

    说明: 本文参照了官网文档,以及stackoverflow的几个问题 概要: 在scrapy中使用代理,有两种使用方式 使用中间件 直接设置Request类的meta参数 方式一:使用中间件 要进行下 ...

  10. Tomcat简易安装指南

    由于要学习activiti的使用,而activiti依赖于tomcat,所以下载了一个tomcat 7 的binary包,然后按照running.TXT中的描述来手动安装,下文主要是记录了在阅读run ...