BZOJ3571 : [Hnoi2014]画框】的更多相关文章

题目链接 BZOJ3571 题解 如果知道最小乘积生成树,那么这种双权值乘积最小就是裸题了 将两权值和作为坐标,转化为二维坐标系下凸包上的点,然后不断划分分治就好了 这里求的是最小匹配值,每次找点套一个二分图最小权匹配 为什么用KM算法?因为这道题丧心病狂卡费用流QAQ 写完就A啦,十分的感人 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<a…
题目是要求最小乘积最小权匹配, 将一种方案看做一个二维点(x,y),x=a值的和,y=b值的和,所有方案中只有在下凸壳上的点才有可能成为最优解 首先要求出两端的方案l,r两个点 l就是a值的和最小的方案, r就是b值的和最小的方案 然后递归work(l,r)即可得出所有在下凸壳上的点 work(l,r){ 找到一个离lr这条直线最远的且靠近原点的点mid 如果l,mid,r构成下凸壳{ work(l,mid) work(mid,r) } } 如何找mid? 把所有边边权设为(a[i],b[i])…
思路大概同bzoj2395(传送门:http://www.cnblogs.com/DUXT/p/5739864.html),还是将每一种匹配方案的Σai看成x,Σbi看成y,然后将每种方案转化为平面上的点,再用km去找最远的点就行了. 然而几个月前就学过km且到现在还未写过一道km的题的我并不知道km如何对于负权给出最优解.... #define XX 某传统算法(例如:最小生成树,二分图最优带权匹配什么的) 顺便总结一下最小乘积XX 即对于XX引入两个权值的概念(或是多个权值,一般是两个),看…
[LG3236][HNOI2014]画框 题面 洛谷 题解 和这题一模一样. 将最小生成树换成\(KM\)即可. 关于复杂度,因为决策点肯定在凸包上,且\(n\)凸包的期望点数为\(\sqrt {\ln n}\) 所以\(n!\)个点的期望点数为\(\sqrt {\ln n!}=\sqrt {\sum_{i=1}^ni}\) 所以总复杂度\(O(\sqrt {\ln n!}*n^4)\) 代码 #include <iostream> #include <cstdio> #inclu…
https://www.lydsy.com/JudgeOnline/problem.php?id=3571 https://www.luogu.org/problemnew/show/P3236 小T准备在家里摆放几幅画,为此他买来了N幅画和N个画框.为了体现他的品味,小T希望能合理地搭配画与画框,使得其显得既不过于平庸也不太违和.对于第 幅画与第 个画框的配对,小T都给出了这个配对的平凡度Aij 与违和度Bij .整个搭配方案的总体不和谐度为每对画与画框平凡度之和与每对画与画框违和度的乘积.具…
Description 小T准备在家里摆放几幅画,为此他买来了N幅画和N个画框.为了体现他的品味,小T希望能合理地搭配画与画框,使得其显得既不过于平庸也不太违和.对于第 幅画与第 个画框的配对,小T都给出了这个配对的平凡度Aij 与违和度Bij .整个搭配方案的总体不和谐度为每对画与画框平凡度之和与每对画与画框违和度的乘积.具体来说,设搭配方案中第i幅画与第Pi个画框配对,则总体不和谐度为 小T希望知道通过搭配能得到的最小的总体不和谐度是多少. Input 输入文件第 行是一个正整数T ,表示数…
题目描述 小T准备在家里摆放几幅画,为此他买来了N幅画和N个画框.为了体现他的品味,小T希望能合理地搭配画与画框,使得其显得既不过于平庸也不太违和. 对于第 幅画与第 个画框的配对,小T都给出了这个配对的平凡度Aij 与违和度Bij .整个搭配方案的总体不和谐度为每对画与画框平凡度之和与每对画与画框违和度的乘积.具体来说,设搭配方案中第i幅画与第Pi个画框配对,则总体不和谐度为 小T希望知道通过搭配能得到的最小的总体不和谐度是多少. 输入输出格式 输入格式: 输入文件第 行是一个正整数T ,表示…
http://www.lydsy.com/JudgeOnline/problem.php?id=3571 (题目链接) 题意 给出一个$2*N$个点的二分图,$N*N$条边,连接$i$和$j$的边有两个权值$A[i][j]$和$B[i][j]$.求$A$的和与$B$的和之积最小是多少. Solution 很经典的一个模型,右转题解→_→:http://blog.csdn.net/thy_asdf/article/details/50382556 对于一类乘积最小的题目的方法,我们都可以把每种方案…
传送门 我们把一种方案的\(\sum a_{i,j}\)和\(\sum b_{i,j}\)看成点\((\sum a_{i,j},\sum b_{i,j})\),那么就只要求横纵坐标之积最小的点,类似于最小乘积生成树 首先跑出\(\sum a_{i,j}\)最小和\(\sum b_{i,j}\)最小的,得到的点记为\(A\)和\(B\),然后求一个在\(AB\)左侧,距离\(AB\)最远的点\(C\).这就相当于要最大化\(S_{\triangle ABC}=|\frac{\vec{AB}\tim…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3571 [题目大意] 给出一张二分图,每条边上有a,b两个值,求完美匹配, 使得suma*sumb最小. [题解] 把方案看成一个二维点,x=sum(a),y=sum(b) 答案一定在下凸壳上,找到l,r两个点,l是x最小的,r是y最小的 然后递归调用work(l,r):找到离该直线最远的点,那个点一定在下凸壳上 将边权设为(a,b)叉积(l-r),求出最小完美匹配就是那个点mid 因…