786. K-th Smallest Prime Fraction

2024-03-04 15:58
文章标签 prime th smallest fraction 786

本文主要是介绍786. K-th Smallest Prime Fraction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

花花酱

class Solution {
public:vector<int> kthSmallestPrimeFraction(vector<int>& A, int K) {const int n = A.size();double l = 0, r = 1.0;while(l < r){double m = (l + r)/2;double max_f = 0.0;int total = 0;int p, q = 0;int j = 1;for(int i = 0; i < n - 1; i++){while(j <n && A[i] > m*A[j]) ++j;total +=(n -j);if(n == j) break;const double f = static_cast<double>(A[i])/A[j];if(f > max_f){p = i;q = j;max_f = f;}}if(total == K){return {A[p], A[q]};}else if(total > K) r = m;else l = m;}return {};}
};

这篇关于786. K-th Smallest Prime Fraction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773697

相关文章

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

【uva】11536-Smallest Sub-Array(区间移动问题)

一个区间移动的问题,1A了,感觉没什么好说的。。 13975926 11536 Smallest Sub-Array Accepted C++ 0.809 2014-08-01 11:00:20 #include<cstdio>#include<cstring>#include<iostream>using namespace std;#define INF 1 << 30

HDU 1016 Prime Ring Problem (深搜)

OJ题目 : click here ~~ 大概题意:n个数,形成一个环,使得相邻两个数的和为素数。以1开始,按字典序输出序列。 很简单的深搜。 AC_CODE int n;int visit[22];int num[22];int len;bool Is_prime(int x){for(int i = 2;i*i <= x;i++)if(x%i == 0) return

【POJ】2104 K-th Number 静态第K小——主席树

传送门:【POJ】2104 K-th Number 题目分析: 哇咔咔,又get了一个新技能——主席树,初步学习主席树,一次AC,感觉好棒~ 也在此Orz一下发明者主席——fotile96,在叉姐群经常看到主席的身影,不过蒟蒻也只能仰望神犇的背影了,起步迟且天赋不如人,只能慢慢的走下去,希望有一天能看到另一个世界。 主席树的编程方式是函数式编程(可持久化),保证我们可以查询历史

【HDU】5102 The K-th Distance bfs

传送门:【HDU】5102 The K-th Distance 题目分析:思路秒出,5101写完不到20分钟这题就AC了。。将所有点扔进队列中,记录前驱,步数,每次扩展的时候不走前驱,这样就相当于n棵树同时在扩展。注意到一条路径会被重复走两次,所以k*2,ans/2。注意姿势不对就会MLE。 代码如下: #include <map>#include <vector>

【SGU】113. Nearly prime numbers 合数分解

传送门:【SGU】113. Nearly prime numbers 题目分析:O(sqrt(N))。。 代码如下: #include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std ;#define rep( i , a , b ) for

【codechef】 Prime Distance On Tree【求树上路经长度为i的路径条数】【点分治+FFT】

传送门:【codechef】 Prime Distance On Tree 点分治+FFT水题……竟然n*n爆int没发现…… 而且NTT TLE,FFT跑的超级快…… my  code: my~~code: #include <bits/stdc++.h>using namespace std ;typedef long long LL ;#define clr( a , x ) m

prime(最小生成树)——POJ 1789

对应POJ题目:点击打开链接 Truck History Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit  Status  Practice  POJ 1789 Description Advanced Cargo Movement, Ltd.

USACO Section 1.5 Prime Palindromes

题意: 输入a和b  求 a和b之间所有既是素数同时又有回文性质的数  从小到大输出 思路: 如果枚举a到b之间所有的数再判断素数和回文那么复杂度会比O(n)还大  本题O(n)都会跪 因此思路转到能否 先得到所有素数再判断回文 或者 先得到所有回文的数在判断素数 本题我的做法是后者  说下原因 本题b最大为10^8  因此构造回文的数字可以枚举1~10000中的数字再对数字翻折

Leetcode 3275. K-th Nearest Obstacle Queries

Leetcode 3275. K-th Nearest Obstacle Queries 1. 解题思路2. 代码实现 题目链接:3275. K-th Nearest Obstacle Queries 1. 解题思路 这一题的话其实逻辑上非常简单,就是维护一个距离的有序数组,不断取第k大的元素即可。 不过好死不死的题目设置成只要这么干就一定超时,因此我们不得不想办法去优化算法复杂度,但说白