老是看到有两个条件就想用费用流、、

如果不是流量影响的话绝对不要用费用流!!!!!

其实这个题做不出来是很不应该的,因为之前做过相近的题

主要是被费用流和字典序坑了、、

而且最小的限制不一定是费用最小流量,而有可能是最小割、、、、

而且涉及到删边检验的操作:

注:对于多余的限制条件可以贪心枚举,利用可逆性找连续做的办法。

if()后面不要加分号!!!!

码:

#include<iostream>
#include<cstdio>
using namespace std;
#include<algorithm>
#include<cstring>
#include<queue>
#define N 500000
#define inf 1e9+11int max1=0,cun[705],zhong[N],zhi[N],yuan[1800],xia[1800],dis[1800],tot=-1,hou[N],i,j,f[704],n,m,a[704],b[704];
queue <int>q;
struct lal
{int id,zhi;
}c[702];bool cmp(lal a,lal b)
{return a.zhi<b.zhi;
}void jia(int x,int y,int z)
{hou[++tot]=yuan[x],yuan[x]=tot,zhong[tot]=y,zhi[tot]=z;
}void jian(int x,int y,int z)
{jia(x,y,z);jia(y,x,0);
}bool bfs(int s,int t)
{memset(dis,0x7f,sizeof(dis));int i;for(i=1;i<=2*n+2;i++)xia[i]=yuan[i];q.push(s);dis[s]=1;while(!q.empty()){int st=q.front();//cout<<st<<" ";q.pop();for(i=xia[st];i!=-1;i=hou[i]){int nd=zhong[i];if(dis[nd]>inf&&zhi[i]){dis[nd]=dis[st]+1;q.push(nd);}}   }
//cout<<t;return dis[t]<inf;
}int dfs(int now,int t,int limit)
{if(now==t||!limit)return limit;//cout<<now;int f,flow=0,i;for(i=xia[now];i!=-1;i=hou[i]){int nd=zhong[i];xia[now]=i;if(dis[nd]==dis[now]+1&&(f=dfs(nd,t,min(limit,zhi[i])))){flow+=f;limit-=f;zhi[i^1]+=f;zhi[i]-=f;if(!limit)break;}      }return flow;}int dinic(int s,int t)
{int ans=0;while(bfs(s,t)){//cout<<ans;ans+=dfs(s,t,inf);}return ans;
}void dp()
{int i,j;f[1]=1;for(i=2;i<=n;i++){f[i]=1;for(j=1;j<i;j++){if(a[j]<a[i]){f[i]=max(f[i],f[j]+1);  }   }}for(i=1;i<=n;i++)max1=max(max1,f[i]);}
bool you[N];int main()
{  int s,t,T;scanf("%d",&T);while(T--){ //cout<<T;memset(yuan,-1,sizeof(yuan));tot=-1;max1=0;scanf("%d",&n);s=n*2+1;t=n*2+2;for(i=1;i<=n;i++)scanf("%d",&a[i]);for(i=1;i<=n;i++)scanf("%d",&b[i]);for(i=1;i<=n;i++)scanf("%d",&c[i].zhi),c[i].id=i;sort(c+1,c+1+n,cmp);dp();for(i=1;i<=n;i++){if(f[i]==1)jian(s,i,inf);jian(i,i+n,b[i]);if(f[i]==max1)jian(i+n,t,inf);          }for(i=1;i<=n;i++){for(j=1;j<i;j++){if(a[j]<a[i]&&f[j]==f[i]-1)jian(j+n,i,inf);}}//int zongshu=0;printf("%d ",dinic(s,t));for(i=1;i<=n;i++){////  cout<<i<<endl;if(!bfs(c[i].id,c[i].id+n)){//被割cun[++zongshu]=c[i].id;dinic(c[i].id,s);dinic(t,c[i].id+n);   for(j=yuan[c[i].id];j!=-1;j=hou[j])if(zhong[j]==c[i].id+n){zhi[j]=0,zhi[j^1]=0;break;}                      }}printf("%d\n",zongshu);sort(cun+1,cun+1+zongshu);for(i=1;i<=zongshu;i++)printf("%d%c",cun[i],i == zongshu ? '\n' : ' ');  }}

2017.3.29 lis 失败总结相关推荐

  1. 2017.9.29 road 失败总结

    首先要明确:多源最短路不只有floyd,还有n遍单源最短路 而且有时比floyd快. 所以可以用n遍spfa求所有点的单源最短路 期望复杂度n*(n*2) 然后对于每个单源最短路,求出经过每条边的次数 ...

  2. 《麻省理工科技评论》:2018年18大科技趋势,2017年7大失败技术

    来源:科技周 摘要:2018 年伊始,许多科技大势仍在继续,正如比尔·盖茨所说,"大多数人高估了某种技术的短期价值,低估了其长期价值."同样,大多数的年度预测会高估了一年内一些事件 ...

  3. 自然语言处理技术(NLP)在推荐系统中的应用 原2017.06.29人工智能头条 作者: 张相於,58集团算法架构师,转转搜索推荐部负责人,负责搜索、推荐以及算法相关工作。多年来主要从事推荐系统以及机

    自然语言处理技术(NLP)在推荐系统中的应用 原2017.06.29人工智能头条 作者: 张相於,58集团算法架构师,转转搜索推荐部负责人,负责搜索.推荐以及算法相关工作.多年来主要从事推荐系统以及机 ...

  4. 2017/12/29

    2019独角兽企业重金招聘Python工程师标准>>> 2017/12/29 Firday weather: light rain ! 1.需求: 写一个脚本实现如下功能: 输入一个 ...

  5. 死性不改【17Fi】ISO9000 Win7x64专业版、WS2008r2企业版GHO下载 2017.06.29

    死性不改[17Fi]ISO9000 Win7x64专业版.WS2008r2企业版GHO下载 2017.06.29 2017年06月29日 系统分享 评论 2 条 阅读 2,341 次 最新版本:17F ...

  6. 死性不改【17Fi】网维大师(简写:WWDS)Win7x64无盘万能包下载 2017.06.29

    死性不改[17Fi]网维大师(简写:WWDS)Win7x64无盘万能包下载 2017.06.29 2017年06月29日 万能公包 暂无评论 阅读 1,957 次 最新版本:17Fi 发布日期:201 ...

  7. 找不到mfc140u.dll或者Microsoft Visual C++ 2017 Redistributable一直安装失败解决

    找不到mfc140u.dll 安装后提示这个问题,我将xshell卸载重新安装后发现安装过程中提示Microsoft Visual C++ 2017 Redistributable一直安装失败,所以问 ...

  8. 2017.3.29 longge的问题 失败总结

    这个题纯属智障,看到gcd就像反演,虽然在约数转化过程中可以得到标准式: 都除以k了竟然还不用phi  (其实我不会单点查询phi) 码: #include<iostream> #incl ...

  9. 【一周头条盘点】中国软件网(2017.12.25~2017.12.29)

    每一个企业级的人 都置顶了 中国软件网 中国软件网 为你带来最新鲜的行业干货 趋势洞察 麦肯锡:人工智能三个关键业务方向一个最大问题 麦肯锡表示:关于人工智能的三个关键业务方面开始逐渐明朗化. 第一, ...

最新文章

  1. 软件架构自学笔记-- 畅途亿级业务日志系统演变过程
  2. 为Liferay Server分配Perm,Heap Size
  3. java8压缩,如何使用Java 8压缩多个列表?
  4. 消息传递的图神经网络
  5. 不要在有反馈的平台上输出
  6. springMVC:前端请求后台并传值
  7. Vegas如何设置淡入淡出?
  8. JDK自带的java.util.Timer定时器的实现原理
  9. Oracle Java认证OCJP考试题库在哪找
  10. ssh关闭终端切断SSH连接
  11. 【毕业设计】图像识别-人脸识别与疲劳检测 - python opencv
  12. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Segger Ozone下的使用
  13. android svc编解码,SVC(可分层视频编解码)技术详解
  14. python 刷 阅读量
  15. torch.chunk()
  16. 基于SpringBoot开发一套完整的项目(四)准备工作
  17. 【算法】图像处理在医学领域的应用
  18. 上海浦东新区计算机学校排名2015,2020上海市浦东新区初中学校排名榜单
  19. SOCKET编程的详细电子文档
  20. 51单片机电机测速程序c语言,单片机仿真编码器电机测速程序

热门文章

  1. pytorch 之 imagefloder的用法
  2. Sublime Text 4不显示未注册的方法
  3. python 读取txt文件没读到400行_400行Python代码实现文语处理助手(3) - 音频显示-嵌入式系统-与非网...
  4. 怎么用计算机连接电视,电视当电脑显示器怎么连接
  5. Java 内部类
  6. 光电显示未连接服务器,T106串口服务器解决方案
  7. Deppin系统软件打开备注
  8. tor the onion router下载_人教版英语知识点练习:七年级下册Unit8要点讲解,重点短语句型,语法聚焦(可下载打印版,附答案)...
  9. cad加载dll_你的CAD为什么安装不上?进来看看你就知道了
  10. WebDriverException: Cannot find firefox binary in PATH.的解决方法