一开始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. 二分+DP HDU 3433 A Task Process

    HDU 3433 A Task Process Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  2. 如何用ZBrush快速雕刻LOL中的Lissandra

    话说<魔兽>还有1天就上映了,热爱这款游戏的你想必早已按耐不住了吧,别急,再耐心等一下.不过今天我们要讲的,不是魔兽,而是另一款很多人为 之疯狂的游戏—英雄联盟,也就是你们熟悉的LOL啦, ...

  3. 边工作边刷题:70天一遍leetcode: day 88

    Unique Word Abbreviation 要点: 简单题,主要是理解题意.no other words have the same abbreviation as the given word ...

  4. 解决WordPress后台安装主题、插件图片不显示的问题

    今天搭建wordpress发现现在主题的时候预览图片都没有了,于是搜索了一下,发现下面的这个方法确实管用,于是转载收藏. 有在WordPress后台安装主题.插件的小伙伴可能会遇到主题.插件图片不显示 ...

  5. UVA 12382 Grid of Lamps --贪心+优先队列

    题意:给出每行每列至少有的灯泡数,问最少有的灯泡数. 解法:要使灯泡数尽量小,说明要使交叉点尽量多,这样即抵了行,又抵了列,为最优的.所以可以用行来消去列,也可以用列来消去行,我这里是列来消去行.首先 ...

  6. openstack虚拟机迁移的操作记录

    需求说明:计算节点linux-node1.openstack:192.168.1.8  计算节点linux-node2.openstack:192.168.1.17 这两个计算节点在同一个控制节点下( ...

  7. jQuery on(),live(),trigger()

    jQuery on()方法是官方推荐的绑定事件的一个方法. $(selector).on(event,childSelector,data,function,map); 由此扩展开来的几个以前常见的方 ...

  8. dos命令行连接数据库

    dos命令行连接数据库 (2012-03-22 21:26:16) 转载▼ 标签: it   C:\Adminstrator> sqlplus "/as sysdba" 查看 ...

  9. S2--《深入.NET平台和C#编程》

    第一章    深入.NET框架 1.1  Microsoft  .NET框架概述 .NET框架的优势 * 提供了一个面向对象的编程环境,完全支持面向对象编程,.NET 框架提高了软件的可复用性,可扩展 ...

  10. centos一键优化脚本

    centos一键优化脚本:细节:http://oldboy.blog.51cto.com/2561410/1336488网络状态优化:http://oldboy.blog.51cto.com/2561 ...