题目:B. High School: Become Human

题目链接:http://codeforces.com/contest/987/problem/B

Key words:math;对数;单调性;double精度问题;long double;CF_DIV2_B;

分析:

这个题第一个想法是直接算出x^y和y^x的值,然后比较输出结果。但是,题目中x和y的取值范围在1~1e9,所以,这就意味着算法应该不是直接算结果。那么,应该有其它做法。其实这里是可以找规律(比赛中也有许多人是找规律AC的),而现在要说的是用自然对数把复杂度降低下来。

首先,x^y和y^x都可以在ln的基础上建立自然对数,也就是得到 ln(x^y) = y*ln(x), ln(y^x) = x*ln(y)。现在由题目可以得到x和y都是大于等于1,所以它们幂组合的对数一定是大于0,这样,单调性就有了保证,就可以直接把上界为(1e9)^(1e9)这样的运算变成上界为21*(1e9)的运算。因为log()函数是double函数,所以,x和y的数据类型都为double型。但是,这里卡了精度,用double型可能本地能过的例子无法过服务器,所以,一律使用long double型保证精度。然后接下来的就是普通的比较大小了。

参考资料:

  1. 做法:https://www.zybang.com/question/6b561fb3e136a90b186a34fd18fc4aa9.html
  2. C语言log()函数:http://c.biancheng.net/cpp/html/187.html
  3. 各种数据类型大小范围:https://blog.csdn.net/xuexiacm/article/details/8122267
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3
 4 int main() {
 5     long double a,b; cin>>a>>b;
 6     long double x = b * log(a), y = a * log(b);
 7     if(x < y) cout<<"<"<<endl;
 8     else if(x == y) cout<<"="<<endl;
 9     else cout<<">"<<endl;
10     return 0;
11 }

原文地址:https://www.cnblogs.com/keep250/p/9114562.html

时间: 2024-10-25 12:58:50

题目:B. High School: Become Human的相关文章

Heterogeneous Multi-task Learning for Human Pose Estimation with Deep Convolutional Neural Network

论文题目Heterogeneous Multi-task Learning for Human Pose Estimation with Deep Convolutional Neural Network, 链接 该篇论文是IJCV 2014的, 文章的核心multi-tasks的joint traning. 直接看图说话, 该论文的核心思想/步骤可以分为两个components: 1对图像里面的person进行detection, 以便裁剪出图像里面的人. 这个显然是必要的, 尤其是图像大而p

HDOJ 题目4276 The Ghost Blows Light(SPFA+树形DP)

The Ghost Blows Light Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2549    Accepted Submission(s): 795 Problem Description My name is Hu Bayi, robing an ancient tomb in Tibet. The tomb consi

ACM训练方案-POJ题目分类

ACM训练方案-POJ题目分类 博客分类: 算法 ACM online Judge 中国: 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU):http://acm.hdu.edu.cn/ 中国科技大学(USTC):http://acm.ustc.edu.cn/ 北京航天航空大学(BUAA)http://acm.buaa.edu.cn/oj/index.php 南京

【转】对于杭电OJ题目的分类

[好像博客园不能直接转载,所以我复制过来了..] 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDI

转载:hdu 题目分类 (侵删)

转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116

转载:poj题目分类(侵删)

转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K–0.50K:中短代码:0.51K–1.00K:中等代码量:1.01K–2.00K:长代码:2.01K以上. 短:1147.1163.1922.2211.2215.2229.2232.2234.2242.2245.2262.2301.2309.2313.2334.2346.2348

poj 动态规划题目列表及总结

此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276,1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740(博弈),1742, 1887, 1926(马尔科夫矩阵,求平衡), 1936, 1952, 1953, 1958, 1959, 1962, 1975,

题目1007:奥运排序问题(自定义排序问题)

题目链接:http://ac.jobdu.com/problem.php?pid=1007 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: // // 1007 奥运排序问题.cpp // Jobdu // // Created by PengFei_Zheng on 28/04/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <std

poj 1080 Human Gene Functions(lcs,较难)

Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19573   Accepted: 10919 Description It is well known that a human gene can be considered as a sequence, consisting of four nucleotides, which are simply denoted by four