意甲冠军:将n分配的任务m机。到的每个任务需要的天数(如果没有持续的日常),并能做到在哪些天任务。询问是否有计划。

典型的任务(X)----日(Y)一半的最大流量,(因为这个任务是天之间的关系)处理器控制流。来源X外交部点,它指的是需要几天。任务xi,为了能够做到即使天,流1,个Y部点向汇点连流量为m,表示该天最多用M个机器。

ps:注意输出格式

#include<iostream>
#include<queue>
#include<cstdio>
#include<cstring>
using namespace std;
const int inf=0x3f3f3f3f;
const int maxv=1001,maxe=200101;
int nume=0;int head[maxv];int e[maxe][3];
void inline adde(int i,int j,int c)
{
e[nume][0]=j;e[nume][1]=head[i];head[i]=nume;
e[nume++][2]=c;
e[nume][0]=i;e[nume][1]=head[j];head[j]=nume;
e[nume++][2]=0;
}
int ss,tt,n,m,all;
int vis[maxv];int lev[maxv];
bool bfs()
{
for(int i=0;i<maxv;i++)
vis[i]=lev[i]=0;
queue<int>q;
q.push(ss);
vis[ss]=1;
while(!q.empty())
{
int cur=q.front();
q.pop();
for(int i=head[cur];i!=-1;i=e[i][1])
{
int v=e[i][0];
if(!vis[v]&&e[i][2]>0)
{
lev[v]=lev[cur]+1;
vis[v]=1;
q.push(v);
}
}
}
return vis[tt];
}
int dfs(int u,int minf)
{
if(u==tt||minf==0)return minf;
int sumf=0,f;
for(int i=head[u];i!=-1&&minf;i=e[i][1])
{
int v=e[i][0];
if(lev[v]==lev[u]+1&&e[i][2]>0)
{
f=dfs(v,minf<e[i][2]?minf:e[i][2]);
e[i][2]-=f;e[i^1][2]+=f;
sumf+=f;minf-=f;
}
}
if(!sumf) lev[u]=-1;
return sumf;
}
int dinic()
{
int sum=0;
while(bfs())sum+=dfs(ss,inf);
return sum;
}
void read_build()
{
int pi,si,ei;
for(int i=1;i<=n;i++)
{
scanf("%d%d%d",&pi,&si,&ei);
all+=pi;
adde(ss,i,pi);
for(int j=si;j<=ei;j++)
{
adde(i,n+j,1);
}
}
for(int i=1;i<=500;i++)
{
adde(i+n,tt,m);
}
}
void init()
{
scanf("%d%d",&n,&m);
nume=0;all=0;
memset(head,-1,sizeof(head));
ss=n+501;tt=n+502;
}
int main()
{
int T;
scanf("%d",&T);int ct=1;
while(T--)
{
init();
read_build();
int ans=dinic();
if(ans==all)printf("Case %d: Yes\n\n",ct++);
else printf("Case %d: No\n\n",ct++);
}
}

最新文章

  1. Oracle在线重定义DBMS_REDEFINITION 普通表—&gt;分区表
  2. windows批处理的介绍
  3. SQL Server更新表(用一张表的数据更新另一张表的数据)
  4. 第四十五课:MVC,MVP,MVVM的区别
  5. DP(01背包) UESTC 1218 Pick The Sticks (15CCPC C)
  6. python 对象持久化 pickle模块
  7. springmvc使用aop心得
  8. 关于Android Assets读取文件为File对象
  9. HDU 1559 最大子矩阵 (DP)
  10. oracle如何修改字段类型(oracle总体知识2)
  11. Java集合之Properties
  12. RabbitMQ入门与使用篇
  13. String 类的选择输出
  14. python实现邮件的发送
  15. FloatingActionButtonDemo【悬浮按钮的使用,顺带snackBar的使用】
  16. 通过VuePress管理项目文档(二)
  17. SpreadJS使用进阶指南 - 使用 NPM 管理你的项目
  18. objec类中方法介绍
  19. mybatis之关联映射
  20. VS2013利用ajax访问不了json文件——VS2013配置webconfig识别json文件

热门文章

  1. matlab矩阵的表示和简单操作
  2. TreeSet排序
  3. Winsock 编程流程
  4. java 参数传递
  5. MySQLdb 连接Mysql 数据库出错解决
  6. TF卡分区
  7. Android判断应用程序从后台回到前台
  8. windows之实现3D立体效果的三种方法
  9. NPC
  10. C++ Primer 学习笔记_62_重载操作符与转换 --调用操作符和函数对象