http://172.20.6.3/Problem_Show.asp?id=1636 复习了prim,分数规划大概就是把一个求最小值或最大值的分式移项变成一个可二分求解的式子. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> using namespace std; ;…
分数规划是这样一个东西: 给定若干元素,每个元素有两个属性值\(a_i,b_i\),在满足题目要求的某些限制下选择若干元素并求出\(\frac{\sum a}{\sum b}\)的最大值. 如果没有限制的话,肯定是贪心的选. 假设当前选择了一个解\(x_0\),却并不是\(\frac{\sum a}{\sum b}\)的最大值,我们有 \[\frac{\sum a}{\sum b}>x_0\] 进而 \[\sum a-bx_0>0\] 这时候我们要求的东西变成了\(a-bx_0\),每个元素的…
题目背景 如果你能提供题面或者题意简述,请直接在讨论区发帖,感谢你的贡献. 题目描述 对于一张有向图,要你求图中最小圈的平均值最小是多少,即若一个圈经过k个节点,那么一个圈的平均值为圈上k条边权的和除以k,现要求其中的最小值 输入输出格式 输入格式: 第一行2个正整数,分别为n和m 以下m行,每行3个数,表示边连接的信息, 输出格式: 一行一个数,表示最小圈的值,保留8位小数. 输入输出样例 输入样例#1: 复制 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 输出样例#1:…
4819: [Sdoi2017]新生舞会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 601  Solved: 313 Description 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴.有n个男生和n个女生参加舞会 买一个男生和一个女生一起跳舞,互为舞伴.Cathy收集了这些同学之间的关系,比如两个人之前认识没计算得出  a[i][j] ,表示第i个男生和第j个女生一起跳舞时他们的喜悦程度.Cathy还需要考…
这个题目难度非常大,首先对于老师的一种方案,应用分数规划的一般做法,求出所有的c=t-rate*p,如果没有选择的c值中的最大值比选择了的c值中的最小值大,那么这个解是可以改进的. 那么问题就转化成了怎么求最小的c和最大的c. t-rate*p 求这种类型的最值,并且rate是单调的,那么就可以考虑利用斜率优化的那种办法来维护决策点. 考虑两个决策点,得到ti-tj>rate(pi-pj)  但是这个pi pj的大小不能确定,我们知道可以利用斜率优化的问题不仅仅要rate单调,还需要pi 单调…
题目链接 \(Description\) 将n个村庄连成一棵树,村之间的距离为两村的欧几里得距离,村之间的花费为海拔z的差,求花费和与长度和的最小比值 \(Solution\) 二分,假设mid为可行的某一生成树的解,则应有 \((∑cost)/(∑dis) = mid\) 变形得 \(\sum(cost-mid*dis) = 0\) 取cost-mid*dis为边权,Prim求最小生成树(即尽可能满足mid) 若\(\sum(cost-mid*dis) > 0\),说明怎么也满足不了mid,m…
题目链接:http://poj.org/problem?id=2976 题意: 共有n场考试,每场考试你得的分数为a[i],总分为b[i]. 你可以任意去掉k场考试. 问你最大的 100.0 * ( ∑ a[i] / ∑ b[i] )的值.(四舍五入) 题解: 相当于从n场考试中选n-k场. 二分: 二分最大答案 ∑ a[i] / ∑ b[i] >= L 即:∑ a[i] - ∑(b[i]*L) >= 0 check函数: 求数组val[i] = a[i] - b[i]*L 将val排序. 取…
果然比二分要快将近一倍.63MS.二分94MS. #include <iostream> #include <algorithm> #include <cstdio> #include <ctime> #include <cstdlib> #include <cmath> using namespace std; const int maxn=1005; double a[maxn],b[maxn]; const double eps…
题目传送门 平均数 题目描述 给一个长度为n的数列,我们需要找出该数列的一个子串,使得子串平均数最大化,并且子串长度>=m. 输入输出格式 输入格式: N+1行, 第一行两个整数n和m 接下来n行,每行一个整数a[i],表示序列第i个数字 输出格式: 一个整数,他是最大平均数的1000倍,如果末尾有小数,直接舍去,不要用四舍五入求整. 输入输出样例 输入样例#1: 10 6 6 4 2 10 3 8 5 9 4 1 输出样例#1: 6500 说明 [数据范围] 60% M<=N<=100…
思路:以val[u]-ans*edge[i].len最为边权,判断是否有正环存在,若有,那么就是ans小了.否则就是大了. 在spfa判环时,先将所有点进队列. #include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorithm> #include<cmath> #define Maxn 1010 #define Maxm 6…
http://poj.org/problem?id=2728 题意: 在这么一个图中求一棵生成树,这棵树的单位长度的花费最小是多少? 思路: 最优比率生成树,也就是01分数规划,二分答案即可,题目很简单,因为这题是稠密图,所以用prim算法会好点. #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<vector> #include&…
用01分数规划 + prime + 二分 竟然2950MS惊险的过了QAQ 前提是在TLE了好几次下过的 = = 题目意思:有n个村庄,村庄在不同坐标和海拔,现在要对所有村庄供水,只要两个村庄之间有一条路即可,建造水管距离为坐标之间的欧几里德距离,费用为海拔之差,现在要求方案使得费用与距离的比值最小,很显然,这个题目是要求一棵最优比率生成树. 解题思路: 对答案进行二分,当把代进去的答案拿来算最小生成树的时候,一旦总路径长度为0,就是需要的答案. 0-1规划是啥? 概念有带权图G, 对于图中每条…
题目描述 输入 第一行包含一个正整数N,表示树中结点的个数.第二行包含N个正实数,第i个数表示xi (1<=xi<=10^5).第三行包含N个正实数,第i个数表示yi (1<=yi<=10^5).第四行包含N个正实数,第i个数表示pi (1<=pi<=10^5).第五行包含N个正实数,第i个数表示qi (1<=qi<=10^5).下面有N-1行,每行包含两个正整数a,b(1<=a,b<=N),表示树中的边.第N+5行包含一个正整数M,表示询问的个…
01分数规划,二分答案然后把判别式变成Σp[i]-Σs[i]*mid>=0,然后树上背包判断,设f[i][j]为在i点子树里选j个的最大收益,随便背包一下就好 最丧病的是神卡常--转移的时候要另开一个一维g来转移,然后限制<=k,因为再大就没用了,还有把max变成?:的形式-- #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=2505…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2402 题解 看上去很像分数规划的模型.于是就二分吧.令 \[ \begin{align*}\frac{y_i+q_j}{x_i+p_j} &\geq mid\\y_i+q_j &\geq mid(x_i+p_j)\\(y_i - mid\cdot x_i) + (q_j - mid\cdot p_j) & \geq 0\end{align*} \] 这样 \(x, y\) 和…
[POJ2728]Desert King(分数规划) 题面 vjudge 翻译: 有\(n\)个点,每个点有一个坐标和高度 两点之间的费用是高度之差的绝对值 两点之间的距离就是欧几里得距离 求一棵生成数,使得单位距离的费用最小 题解 使得\(\sum cost/\sum dis\)最小 这是分数规划问题 二分答案\(K\) 如果\(K\)满足,则有 \(\sum cost-K\sum dis\leq 0\) 定义生成树边权为\(cost-K·dis\) 做最小生成树检查答案即可. 因为是稠密图,…
BZOJ_4476_[Jsoi2015]送礼物_01分数规划+单调队列 Description JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物. 萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻 的礼物之间有一种神秘的美感.于是,JYY决定从中挑选连续的一些礼物,但究 竟选哪些呢? [问题描述] 假设礼品店一共有N件礼物排成一列,每件礼物都有它的美观度.排在第i 1< =i< =N个位置的礼物美观度为正整数Ai,.JYY决定选出其中连续的一段, 即…
题意 给定一棵 \(n\) 个点的树,给定 \(k\) ,求 \(|\frac{\sum w(路径长度)}{t(路径边数)}-k|\)的最小值. \(n\leq 5\times 10^5,k\leq 10^{13}\) 分析 看到分数考虑分数规划,二分答案 \(x\),式子转化成 \(-x< \frac{\sum w}{t}-k< x\) 将边权变为 \(w-k\) 消除 \(k\) 的影响.但是不能够直接求最长链.因为是路径,考虑点分治. 二分答案 \(x\) 之后考虑两条路径组合 \((A…
首先floyd求出来每两点间的最短距离,然后再求出来从某点买再到某点卖的最大收益 问题就变成了找到一个和的比值最大的环 所以做分数规划,二分出来那个答案r,把边权变成w[i]-r*l[i],再做spfa判正环就行了 (本来想偷懒用floyd判正环,结果T了) #include<bits/stdc++.h> #define pa pair<int,int> #define CLR(a,x) memset(a,x,sizeof(a)) using namespace std; type…
BZOJ 洛谷 裸01分数规划.二分之后就是裸最大费用最大流了. 写的朴素SPFA费用流,洛谷跑的非常快啊,为什么有人还T成那样.. 当然用二分也很慢,用什么什么迭代会很快. [Update] 19.2.15 下午写的zkw费用流在BZOJ上T了= = 然而在洛谷上和以前写的跑的差不多快 当然还可以写整数二分或者KM... 输出的时候最好加个eps,不然可以被卡比如BZOJ discuss里的数据. 第一次写的代码: //3624kb 4016ms #include <queue> #incl…
5090: [Lydsy1711月赛]组题 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 785  Solved: 186[Submit][Status][Discuss] Description 著名出题人小Q的备忘录上共有n道可以出的题目,按照顺序依次编号为1到n,其中第i道题目的难度系数被小Q估计 为a_i,难度系数越高,题目越难,负数表示这道题目非常简单.小Q现在要出一套难题,他决定从备忘录中选取编 号连续的若干道题目,使得平均难度系数最高…
[BZOJ1486][HNOI2009]最小圈 Description Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 Sample Output 3.66666667 题解:题意给的实在不能太明显了,直接上分数规划.二分答案mid,将边权改为(原边权-mid),然后spfa判断是否有负环,若有则调整上界,否则调整下界. 然而码完一发交上去TLE,看了题解发现这题居然要用DFS版的SPFA!有谁能一上来就想到用DFS的我也是…
[POJ3621]Sightseeing Cows 题意:在给定的一个图上寻找一个环路,使得总欢乐值(经过的点权值之和)/ 总时间(经过的边权值之和)最大. 题解:显然是分数规划,二分答案ans,将每条边的权值变成(ans*边权-2*起始点点权),然后我们希望找出一个环,使得环上的总边权<0 (一开始我把题意理解错了,题中给的是单向边,我把它当成是双向边+每条边只能走一次了~,想出一堆做法都接连pass掉) 然后就直接用SPFA判负环就好了嘛!由于原图不一定联通,所以一开始就把所有点都入队就完事…
[BZOJ4819]新生舞会(分数规划,网络流) 题面 BZOJ Description 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴.有n个男生和n个女生参加舞会 买一个男生和一个女生一起跳舞,互为舞伴.Cathy收集了这些同学之间的关系,比如两个人之前认识没计算得出 a[i][j] ,表示第i个男生和第j个女生一起跳舞时他们的喜悦程度.Cathy还需要考虑两个人一起跳舞是否方便, 比如身高体重差别会不会太大,计算得出 b[i][j],表示第i个男生和第j个女生…
---题面--- 题解: 0/1分数规划,,,但是竟然有诡异的精度问题???因为这个被卡了好久 中途还写过一次KM,,,结果陷入死循环,,,我大概是写了一个假KM,,,于是放弃KM,回来调费用流 这个题面也很直白啊--- 我们令C>=x, 然后二分求出最大的x即可, 每次跑费用流前重新定义边权 a[i] - mid * b[i] 然后跑最大费用最大流看看跑出来能不能有大于0的费用就可以了 #include<bits/stdc++.h> using namespace std; #defi…
Description DZY家的后院有一块地,由N行M列的方格组成,格子内种的菜有一定的价值,并且每一条单位长度的格线有一定的费用. DZY喜欢在地里散步.他总是从任意一个格点出发,沿着格线行走直到回到出发点,且在行走途中不允许与已走过的路线有任何相交或触碰(出发点除外).记这条封闭路线内部的格子总价值为V,路线上的费用总和为C,DZY想知道V/C的最大值是多少. Input 第一行为两个正整数n,m. 接下来n行,每行m个非负整数,表示对应格子的价值. 接下来n+1行,每行m个正整数,表示所…
$ \color{#0066ff}{ 题目描述 }$ 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴. 有\(n\)个男生和\(n\)个女生参加舞会买一个男生和一个女生一起跳舞,互为舞伴. Cathy收集了这些同学之间的关系,比如两个人之前认识没计算得出 \(a_{i,j}\) Cathy还需要考虑两个人一起跳舞是否方便,比如身高体重差别会不会太大,计算得出 \(b_{i,j}\),表示第i个男生和第j个女生一起跳舞时的不协调程度. 当然,还需要考虑很多其他问题.…
Time Limit: 3000MSMemory Limit: 65536K Total Submissions: 27109Accepted: 7527 Description David the Great has just become the king of a desert country. To win the respect of his people, he decided to build channels all over his country to bring water…
Description 学校组织了一次新生舞会,Cathy作为经验丰富的老学姐,负责为同学们安排舞伴.有n个男生和n个女生参加舞会 买一个男生和一个女生一起跳舞,互为舞伴.Cathy收集了这些同学之间的关系,比如两个人之前认识没计算得出  a[i][j] ,表示第i个男生和第j个女生一起跳舞时他们的喜悦程度.Cathy还需要考虑两个人一起跳舞是否方便, 比如身高体重差别会不会太大,计算得出 b[i][j],表示第i个男生和第j个女生一起跳舞时的不协调程度.当然, 还需要考虑很多其他问题.Cath…
题目 现在,保密成为一个很重要也很困难的问题.如果没有做好,后果是严重的.比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了. 当然,对保密最需求的当然是军方,其次才是像那个人.为了应付现在天上飞来飞去的卫星,军事基地一般都会建造在地下. 某K国的军事基地是这样子的:地面上两排大天井共n1个作为出入口,内部是许多除可以共享出入口外互不连通的空腔,每个空腔有且只有两个出入口,并且这两个出入口不会在同一排.为了方便起见,两排出入口分别编号为1,3,5-和2,4,6-并且最大的编号为n1…