[BZOJ] 1520: [POI2006]Szk-Schools
费用流解决。
abs内传不了int..CE一次
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue> using namespace std; inline int rd(){
int ret=0,f=1;char c;
while(c=getchar(),!isdigit(c))f=c=='-'?-1:1;
while(isdigit(c))ret=ret*10+c-'0',c=getchar();
return ret*f;
} const int MAXN=256<<1;
const int M=MAXN*MAXN; struct Edge{
int next,to,f,w;
}e[M<<1];
int ecnt=1,head[MAXN];
inline void add(int x,int y,int f,int w){
e[++ecnt].next = head[x];
e[ecnt].to = y;
e[ecnt].f = f;
e[ecnt].w = w;
head[x] = ecnt;
} int n,S,T; int dis[MAXN],pre[MAXN],flow[MAXN],inq[MAXN];
queue<int> Q;
bool spfa(int s,int t){
memset(dis,0x3f,sizeof(dis));
Q.push(s);dis[s]=0;flow[s]=1<<30;
while(!Q.empty()){
int x=Q.front();Q.pop();inq[x]=0;
for(int i=head[x];i;i=e[i].next){
int v=e[i].to;
if(!e[i].f||dis[v]<=dis[x]+e[i].w) continue;
flow[v]=min(flow[x],e[i].f);
pre[v]=i;dis[v]=dis[x]+e[i].w;
if(!inq[v]) Q.push(v),inq[v]=1;
}
}
return dis[t]!=0x3f3f3f3f;
} int mxflow,mncost;
void update(int s,int t){
int cur=t,mx=flow[t];
while(cur!=s){
int i=pre[cur];
e[i].f-=mx;e[i^1].f+=mx;
cur=e[i^1].to;
}
mxflow+=mx;mncost+=dis[t]*mx;
} void EK(int s,int t){while(spfa(s,t))update(s,t);} int main(){
n=rd();S=n+n+1;T=n+n+2;
int x,y,z,w;
for(int i=1;i<=n;i++){
x=rd();y=rd();z=rd();w=rd();
for(int j=y;j<=z;j++){
int v=w*abs(1.0*j-1.0*x);
add(i,j+n,1,v);add(j+n,i,0,-v);
}
}
for(int i=1;i<=n;i++){
add(S,i,1,0);add(i,S,0,0);
add(i+n,T,1,0);add(T,i+n,0,0);
}
EK(S,T);
if(mxflow<n) return puts("NIE"),0;
printf("%d\n",mncost);
return 0;
}
[BZOJ] 1520: [POI2006]Szk-Schools的更多相关文章
- bzoj 1520 [POI2006]Szk-Schools 费用流
[POI2006]Szk-Schools Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 743 Solved: 381[Submit][Status][ ...
- 模拟 - BZOJ 1510 [POI2006] Kra-The Disks
BZOJ 1510 [POI2006] Kra-The Disks 描述 Johnny 在生日时收到了一件特殊的礼物,这件礼物由一个奇形怪状的管子和一些盘子组成. 这个管子是由许多不同直径的圆筒(直径 ...
- bzoj 1513 [POI2006]Tet-Tetris 3D(二维线段树)
1513: [POI2006]Tet-Tetris 3D Time Limit: 30 Sec Memory Limit: 162 MBSubmit: 540 Solved: 175[Submit ...
- bzoj 1513 POI2006 Tet-Tetris 3D 二维线段树+标记永久化
1511: [POI2006]OKR-Periods of Words Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 351 Solved: 220[S ...
- bzoj 1510 [POI2006]Kra-The Disks 二分
1510: [POI2006]Kra-The Disks Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 466 Solved: 272[Submit][ ...
- bzoj 1517 [POI2006]Met 贪心
[POI2006]Met Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 203 Solved: 108[Submit][Status][Discus ...
- BZOJ 1511: [POI2006]OKR-Periods of Words
Description 求一个最长周期. Sol KMP. 一个点的最短周期就是 \(i-next[i]\) 此外 \(i-next[next[i]],i-next[next[next[i]]]\) ...
- BZOJ 1513 [POI2006]Tet-Tetris 3D
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1513 题意:三维空间,有一些立方体在垂直下落.立方体的左下角坐标(x,y)以及长宽 ...
- bzoj 1510 [POI2006]Kra-The Disks——思路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1510 #include<iostream> #include<cstdio ...
随机推荐
- day3字符串操作作业详解
1.day3题目 1.有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 2) 移除name变量左边的&quo ...
- 如何使用sass
Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则.mixin.导入等众多功能, 并且完全兼容 CSS 语法. Sass 有助于保持大型样式表结构良好, 同时也 ...
- 微信小程序实战
为了积攒粉丝,公司决定做一个一分钱姓名测算的小程序引导大家关注公众号. 实现的需求就是 1 首页 用户编辑姓名和性别进行提交 2 测算结果页 实现分享和支付功能 3 测算历史页面 看到用户曾经测算记 ...
- Codeforces Round 56-C. Mishka and the Last Exam(思维+贪心)
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- shell 获得调用的python脚本的print值和错误log
1. shell 获得调用的python脚本的print值 python test.py > out.log 2.shell 获得调用的python脚本的错误log python test.py ...
- B -- RE:从零开始的异世界生活 线段树
http://www.ifrog.cc/acm/problem/1117?contest=1016&no=1 其实我是第一次这样用线段树. 首先把所有出现过的数字全部离散化.那么数字就是从[1 ...
- (转)磁盘阵列RAID原理、种类及性能优缺点对比
磁盘阵列RAID原理.种类及性能优缺点对比 原文:http://www.cnblogs.com/chuncn/p/6008173.html 磁盘阵列(Redundant Arrays of Indep ...
- Spark Mllib里的分布式矩阵(行矩阵、带有行索引的行矩阵、坐标矩阵和块矩阵概念、构成)(图文详解)
不多说,直接上干货! Distributed matrix : 分布式矩阵 一般能采用分布式矩阵,说明这数据存储下来,量还是有一定的.在Spark Mllib里,提供了四种分布式矩阵存储形式,均由支 ...
- Kendo UI 移动应用开发简介
Kendo UI 移动应用开发简介 Kendo UI 支持开发 Web 应用,前面介绍的 SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS 开发移动是不是一个好的 ...
- 零基础逆向工程15_C语言09_位运算
1.汇编中的移位指令 算数移位指令 指令格式:SAL/SAR Reg/Mem, CL/Imm SAL(Shift Arithmetic Left):算数左移 SAR(Shift Arithmetic ...