CF549H:Degenerate Matrix ——题解
https://vjudge.net/problem/CodeForces-549H
————————————————————————
题目大意:给一个矩阵,每个数可以加任意的数使得该矩阵为退化矩阵(ad-bc=0),求每个数加的数的绝对值最大的最小值。
————————————————————————————
这题坑在看不懂题……
题解参考这个:http://blog.csdn.net/qq_26122039/article/details/53120339
这里再重新叙述一下吧:
首先二分最大值mid,这样每个数都可以最大上下浮动mid。
我们求出来这种情况下ad和bc的取值范围,只要他们的取值范围相交,就一定能达到条件。
——————————————————————————————
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
const int M=;
double ans,a,b,c,d;
bool pan(double m){
double a1=a+m;double a2=a-m;double b1=b+m;double b2=b-m;
double c1=c+m;double c2=c-m;double d1=d+m;double d2=d-m;
double t1=min(min(a1*d1,a1*d2),min(a2*d1,a2*d2));
double t2=min(min(b1*c1,b1*c2),min(b2*c1,b2*c2));
double x1=max(max(a1*d1,a1*d2),max(a2*d1,a2*d2));
double x2=max(max(b1*c1,b1*c2),max(b2*c1,b2*c2));
if(t1<=x2&&t2<=x1)return ;
return ;
}
void erfen(double l,double r){
for(int i=;i<=;i++){
double mid=(l+r)/;
if(pan(mid))ans=l=mid;
else r=mid;
}
return;
}
int main(){
cin>>a>>b>>c>>d;
erfen(,1e9);
printf("%.10lf\n",ans);
return ;
}
CF549H:Degenerate Matrix ——题解的更多相关文章
- Looksery Cup 2015 H. Degenerate Matrix 数学
H. Degenerate Matrix Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/549/ ...
- Codeforces 549H. Degenerate Matrix 二分
二分绝对值,推断是否存在对应的矩阵 H. Degenerate Matrix time limit per test 1 second memory limit per test 256 megaby ...
- codeforces Looksery Cup 2015 H Degenerate Matrix
The determinant of a matrix 2 × 2 is defined as follows: A matrix is called degenerate if its determ ...
- [LeetCode] 01 Matrix 题解
题意 # 思路 我一开始的时候想的是嘴 # 实现 ```cpp // // include "../PreLoad.h" class Solution { public: /** ...
- codeforces Looksery Cup 2015 H Degenerate Matrix 二分 注意浮点数陷阱
#include <cstdio> #include <cstring> #include <algorithm> #include <string> ...
- CF289B Polo the Penguin and Matrix 题解
Content 有一个 \(n\times m\) 的矩阵 \(A\),每次操作你可以将某一个元素增加或减少 \(d\),求是所有元素相等的最小操作次数,或者不存在这样的操作方案. 数据范围:\(1\ ...
- CF1042E Vasya and Magic Matrix 题解
题目链接 思路分析 看到题目中 \(n,m \leq 1000\) ,故直接考虑 \(O(n^2)\) 级别做法. 我们先把所有的点按照 \(val\) 值从小到大排序,这样的话二维问题变成序列问题. ...
- AGC027 D - Modulo Matrix 构造
目录 题目链接 题解 代码 题目链接 AGC027 D - Modulo Matrix 题解 从第左上角第一个点开始染色,相邻不同色,染法唯一 那么一个点的四周与他不同色,我们另这个点比四周都大,那么 ...
- [Leetcode Week13]Search a 2D Matrix
Search a 2D Matrix 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/search-a-2d-matrix/description/ D ...
随机推荐
- Spring缓存穿透问题修复
本文来自网易云社区. 本剧情纯属真实,犹如雷同实乃缘分. 发生 事情的发生在某天早上,天气怎样反正是忘了,只记得当时监控平台大量的数据库错误报警. 作为后端开发,当看到日志中大量的db连接获取失败,心 ...
- TPO-12 C1 Revise a Hemingway paper
TPO-12 C1 Revise a Hemingway paper 第 1 段 1.Listen to a conversation between a student and a professo ...
- Siki_Unity_1-3_Unity零基础入门_古迹探险
1-3 Unity零基础入门 古迹探险 任务1/2:资料下载 链接:https://pan.baidu.com/s/1jHVymNk 密码:rbob 任务3:工程的创建和打开 Project:古迹探险 ...
- python leveldb 文档
标签(空格分隔): python leveldb import leveldb db = leveldb.LevelDB('./db') db.Put('hello', 'world') print ...
- Python中的相对导入语法
Python中支持相对导入语法,即可以相对于某一个package进行导入,具体语法如下: # 导入"./dir2/spam.py", .表示当前目录 from .dir2 impo ...
- Special Offer! Super Price 999 Bourles!
Description Polycarpus is an amateur businessman. Recently he was surprised to find out that the mar ...
- Android 数据存储 之 SQLite数据库详解
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19028665 . SQLiteDataBase示例程序下 ...
- mysql 复杂查询
1.同一个表下多次查询: sql语句: select b.* ,(select name from exh_common.medicine_type a where b.p_id = a.id) as ...
- 第一次课堂作业---circle
链接:circle
- java — 垃圾回收
1. 垃圾回收的意义 在java中,当没有对象指向原先分配给某个对象的内存的时候,这片内存就变成了垃圾,JVM的一个系统级线程就会自动释放这个内存块,垃圾回收意味着程序不再需要的对象是“无用的信息”, ...