BZOJ2285 : [Sdoi2011]保密】的更多相关文章

题目 现在,保密成为一个很重要也很困难的问题.如果没有做好,后果是严重的.比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了. 当然,对保密最需求的当然是军方,其次才是像那个人.为了应付现在天上飞来飞去的卫星,军事基地一般都会建造在地下. 某K国的军事基地是这样子的:地面上两排大天井共n1个作为出入口,内部是许多除可以共享出入口外互不连通的空腔,每个空腔有且只有两个出入口,并且这两个出入口不会在同一排.为了方便起见,两排出入口分别编号为1,3,5-和2,4,6-并且最大的编号为n1…
首先通过分数规划,二分答案$mid$,将每条边边权重置为$t-mid\times s$,用DP求出终点到该点的最短路,若非正则可以更小. 如此可以计算出每个出入口的最小危险值,然后把奇点放在$S$,偶点放在$T$,代价为危险值,对于每个空腔,在相应点之间连无穷边,求最小割即可. #include<cstdio> #include<algorithm> using namespace std; const int N=705,M=100010; const double inf=1e…
[BZOJ2285][SDOI2011]保密(分数规划,网络流) 题面 BZOJ 洛谷 题解 首先先读懂题目到底在干什么. 发现要求的是一个比值的最小值,二分这个最小值\(k\),把边权转换成\(t-sk\),其中\(t\)是时间,\(s\)是安全系数.那么通过一遍\(SPFA\)可以求出到达所有的目标点的危险性的最小值,用\(SPFA\)是因为存在负边权.显然到达每个位置的危险性最小值是独立计算的. 因为是每个空腔都要探索其出入口中的一个,不难发现这个东西就是一个最小割(似乎是最大权闭合子图?…
Description 现在,保密成为一个很重要也很困难的问题.如果没有做好,后果是严重的.比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了. 当然,对保密最需求的当然是军方,其次才是像那个人.为了应付现在天上飞来飞去的卫星,军事基地一般都会建造在地下. 某K国的军事基地是这样子的:地面上两排大天井共n1个作为出入口,内部是许多除可以共享出入口外互不连通的空腔,每个空腔有且只有两个出入口,并且这两个出入口不会在同一排.为了方便起见,两排出入口分别编号为1,3,5…和2,4,6…并…
出题人没素质啊,强行拼题还把题面写得又臭又长. 简单题面就是有一张图,每条边有两个权值\(t,s\),有无限支军队,一支军队可以打一个点,代价是从n到这个点的路径的\(\frac{\sum t}{\sum s}\). 有m条限制,每条限制就是a,b两个点至少选一个,求最小代价. 首先第一部分也就是要求每个点的代价,显然分数规划,随便做做就没了. 第二部分就是裸的最小割,随便做做就没了. #include<bits/stdc++.h> #define il inline #define vd v…
洛谷 题意: 题意好绕好绕...不想写了. 思路: 首先类似于分数规划做法,二分答案得到到每个点的最小危险度. 然后就是在一个二分图中,两边撤掉最少的点(相应代价为上面算出的危险度)及相应边,使得中间没有边. 这就是一个最小割,最终的图中不存在\(s\)到\(t\)的路径即可. 代码如下: /* * Author: heyuhhh * Created Time: 2019/10/31 14:47:58 */ #include <bits/stdc++.h> #define MP make_pa…
题解: 求比值用分数规划,单个求太慢了套整体二分 然后求二分图最小割 // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<cmath> using namespace std; const double eps=1e-10; const int…
自闭一早上 分数规划竟然还能被卡精度 首先假设我们已经知道了到每个出入口的时间(代价) 那我们应该怎么算最小的和呢? 一个比较巧妙的想法是,由于题目规定的是二分图. 我们不妨通过最小割的形式. 表示这个基地必须从两个口之一进,从\(S\)连到奇数点,偶数点连到\(T\),流量是到这个点的时间. 然后对于每个空腔的\(u和v,(u->v,inf)\)表示这个二者至少要到一个. 那么这样跑一遍最小割,就表示经过所有空腔的最小代价. 那么现在其实问题就转化成了 如果求到一个点的时间\(a[i]\) 观…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
2243: [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 6651  Solved: 2432[Submit][Status][Discuss] Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”.“222”和“1”. 请你写一个程序依次完…