[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 ...
随机推荐
- 【Sass初级】嵌套选择器规则
在CSS中,我们都知道所有代码都在一个“根级别”的选择器中,每个CSS的样式声明都写嵌套的话,那意客味需要写很多的代码. 今天我要带领大家进入到Sass的最基本原则中.这就是所谓的“基础规则(Ince ...
- sonar扫描android项目配置 mac版
一. 下载安装 JDK8以上 SonarQube SonarQube Scanner 1. 解压缩SonarQube和SonarQube Scanner,直接运行SonarQube中bin目录下 ...
- Linux操作学习笔记1
Linux只有一个根目录/,所有的文件和设备都当成是文件进行管理: pwd 打印当前工作目录 (print working directory) whoami ls 列出当前目录面的文件 ls -l ...
- python进阶02 特殊方法与特殊属性
python进阶02 特殊方法与特殊属性 一.初始化.析构 1.初始化 # python中有很多双下划线开头且以下划线结尾的固定方法,它们会在特定的时机被触发执行,这便是特殊方法 # 在实例化的时候就 ...
- 【aspnetcore】添加自定义json配置文件
打开program.cs文件,修改CreateWebHostBuilder方法: public static IWebHostBuilder CreateWebHostBuilder(string[] ...
- Qt5.7中使用MySQL Driver(需要把libmysql.dll文件拷贝到Qt的bin目录中。或者自己编译的时候,链接静态库)
Qt5.7中使用MySQL Driver 1.使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可.如果没有安装,可以采取自己编译的方式.在Qt的源码包的q ...
- HDU 1160 FatMouse's Speed LIS DP
http://acm.hdu.edu.cn/showproblem.php?pid=1160 同样是先按它的体重由小到大排,相同就按speed排就行. 这样做的好处是,能用O(n^2)枚举,因为前面的 ...
- 关于Memcache的连接
addServer 在说Memcache的长连接(pconnect)和短连接(connect)之前要先说说Memcache的addServer,Memcache的addServer是增加一个服务器到连 ...
- Oracle中文乱码,字符集问题处理
1. 右键计算机,选择属性,增加环境变量 NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 2.进入注册表,依次单击HKEY_LOCAL_MACHINE --> ...
- c# Redis操作类
需要添加StackExchange.Redis.dll引用 using System; using System.Collections.Generic; using System.IO; using ...