BZOJ:4873: [Shoi2017]寿司餐厅
4873: [Shoi2017]寿司餐厅
首先很开心在膜你赛的时候做了出来。
看到数据范围,看到不能dp,看到贡献去重后计算,咦,流?
那就容易了,转最大权闭合子图,每个区间建一个点,取了就一定要取他的子区间(依赖关系),代价上也很容易用依赖关系搞。
提交完A了就没理,后来同学说我#1了???
#include<cstdio>
#include<algorithm>
#define MN 40001
using namespace std; int read_p,read_ca,read_f;
inline int read(){
read_p=;read_ca=getchar();read_f=;
while(read_ca<''||read_ca>'') read_f=read_ca=='-'?-:read_f,read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p*read_f;
}
const int INF=1e9;
struct na{int y,z,ne;}b[MN*];
int n,m,map[][],nu[][],a[],num=,no=,S,T,mmh=,g[MN],c[MN],d[MN],l[MN];
inline void in(int x,int y,int z){b[++num].y=y;b[num].z=z;b[num].ne=l[x];l[x]=num;}
inline void add(int x,int y,int z){in(x,y,z);in(y,x,);}
inline int min(int a,int b){return a<b?a:b;}
int sap(int x,int f){
if (x==T) return f;
int h=,q;
for (int i=d[x];i;i=b[i].ne)
if (b[i].z&&g[b[i].y]+==g[x]){
q=sap(b[i].y,min(b[i].z,f-h));
h+=q;b[i].z-=q;b[i^].z+=q;
if (h==f||g[S]==no) return h;
}
if (!(--c[g[x]])) g[S]=no;d[x]=l[x];c[++g[x]]++;
return h;
}
int main(){
register int i,j;
n=read();m=read();
S=++no;T=++no; for (i=;i<=n;i++)
for (j=i;j<=n;j++) nu[i][j]=++no; for (i=;i<=n;i++)
for (j=i+;j<=n;j++)
add(nu[i][j],nu[i][j-],INF),add(nu[i][j],nu[i+][j],INF); for (i=;i<=n;i++){
a[i]=read();map[i][i]-=a[i];
add(nu[i][i],no+a[i],INF);
}
for (i=;i<=n;i++)
for (j=i;j<=n;j++) if ((map[i][j]+=read())>) add(S,nu[i][j],map[i][j]),mmh+=map[i][j];else add(nu[i][j],T,-map[i][j]);
if (m) for (i=;i<=;i++) add(no+i,T,i*i);no+=; for (;g[S]<no;mmh-=sap(S,INF));
printf("%d\n",mmh);
}
BZOJ:4873: [Shoi2017]寿司餐厅的更多相关文章
- [LOJ 2146][BZOJ 4873][Shoi2017]寿司餐厅
[LOJ 2146][BZOJ 4873][Shoi2017]寿司餐厅 题意 比较复杂放LOJ题面好了qaq... Kiana 最近喜欢到一家非常美味的寿司餐厅用餐. 每天晚上,这家餐厅都会按顺序提供 ...
- bzoj 4873: [Shoi2017]寿司餐厅 [最小割]
4873: [Shoi2017]寿司餐厅 题意:略 唯一会做的... 一眼最小割 就是最大权闭合子图呀 \(s\rightarrow d_{positive} \rightarrow -d_{negt ...
- BZOJ 4873 [Shoi2017]寿司餐厅 | 网络流 最大权闭合子图
链接 BZOJ 4873 题解 当年的省选题--还记得蒟蒻的我Day1 20分滚粗-- 这道题是个最大权闭合子图的套路题.严重怀疑出题人就是先画好了图然后照着图编了个3000字的题面.和我喜欢的妹子当 ...
- bzoj 4873: [Shoi2017]寿司餐厅【最大权闭合子图】
有正负收益,考虑最小割 因为有依赖关系,所以考虑最大权闭合子图 首先对每个d[i][j]建个点,正权连(s,id[i][j],d[i][j])并加到ans上,负权连(id[i][j],t,-d[i][ ...
- 【BZOJ】4873: [Shoi2017]寿司餐厅
[题目]#2146. 「SHOI2017」寿司餐厅 [题意]给定n种寿司的代号,取区间[i,j]的寿司收益是d[i,j]和所有子区间的d,吃了c(c>0)种代号x的寿司的代价是mx^2+cx,给 ...
- 【最大权闭合子图】bzoj4873 [Shoi2017]寿司餐厅
4873: [Shoi2017]寿司餐厅 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 369 Solved: 256[Submit][Status ...
- bzoj4873: [Shoi2017]寿司餐厅(最大权闭合子图)
4873: [Shoi2017]寿司餐厅 大难题啊啊!!! 题目:传送门 题解:一眼题是网络流,但还是不会OTZ,菜啊... %题解... 最大权闭合子图!!! 好的...开始花式建边: 1.对于每个 ...
- BZOJ_4873_[Shoi2017]寿司餐厅_最大权闭合子图
BZOJ_4873_[Shoi2017]寿司餐厅_最大权闭合子图 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4873 分析:我们发现分数正负 ...
- 【BZOJ4873】[Shoi2017]寿司餐厅 最大权闭合图
[BZOJ4873][Shoi2017]寿司餐厅 Description Kiana最近喜欢到一家非常美味的寿司餐厅用餐.每天晚上,这家餐厅都会按顺序提供n种寿司,第i种寿司有一个代号ai和美味度di ...
随机推荐
- H5之前端操作文件
js是否能够操作文件? js在HTML5以前浏览器端是无法操作文件的,但HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载( ...
- JNI的使用总结初篇
前言:以下内容是个人在写JNI Demo前后进行查找理解总结得出的一些结论,如有错误的地方希望路过的朋友能够指正. 一.JNI是Java native interface的简称,目前就我所知这类方法的 ...
- SSH框架完全整合
大三学期渐末,事情也挺多的,上周就开始着手整合SSH框架,到现在才真正的完成,过程中碰到了许多小问题(小问题大折腾,哭脸.jpg).本着善始善终的原则,最终把它给完成了. 本篇文章就在: win7 6 ...
- [转]winform 自动伸缩控件xpandercontrols 使用说明
链接地址:http://blog.sina.com.cn/s/blog_b5b004920101f5h3.html
- Linux 学习记录 一(安装、基本文件操作).
Linux distributions主要分为两大系统,一种是RPM方式安装软件的系统,包括Red Hat,Fedora,SuSE等都是这类:一种则是使用Debian的dpkg方式安装软件的 ...
- ArcGIS 网络分析[8] ArcObjects二次开发之底层网络分析开发
基于现有的线要素类.转弯要素类(在地理数据库的要素数据集中),要用AO做两件事: 1. 创建网络数据集(使用Geodatabase类库) 2. 执行网络分析(使用NetworkAnalyst类库) 在 ...
- sublime学习笔记
学习课程地址:快乐的sublime编辑器_sublime编辑器使用 另可参考笔记地址:http://c.haoduoshipin.com/happysublime/ PS:博主的一些文章地址:http ...
- 关于js代码执行顺序
上网查了一下关于这个方面的资料,大部分都是关于两个script标签中的js代码和变量以及函数提升方面的知识. 1.两个script标签 <script> alert("我是代码块 ...
- 我是如何确认线上CLOSE_WAIT产生的原因及如何解决的。
1.阐述 内部架构:Tomcat应用程序---> nginx ---> 其他Tomcat应用程序,内部Tomcat应用通过nginx调用其他应用. HTTP插件:HttpClient 4. ...
- JavaScript简单入门(补充篇)
本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...