UVa 11714 - Blind Sorting

题目题意:

有n个不同的数,你可以询问a,b哪个大,会得到答案,然后问最少要几次保证能挑选出最大和第二大的数。

分析:

n个数,先以打擂台的方式,两两比较出最大的,n - 1次,然后在由被最大PK下去的数字中,比较出最大的,有log(n)个数,需要进行log(n) - 1次,注意是向上取整。

#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",n-1+(int)ceil(log2((double)n))-1);
}
return 0;
}

时间: 2024-11-08 23:08:45

UVa 11714 - Blind Sorting的相关文章

UVA11714 - Blind Sorting(推理)

题目链接 题意:给出n个数,求出得到最大数和第二大数所用的最多的比较次数 思路:可以取两个数两两做比较,就相当与建立二叉树,两个数的最大值就相当与两个的父节点,所以我们我们可以知道得到最大值时的比较次数为n-1,然后假设所有左儿子都大于右儿子,所以最大值的右儿子还有跟左子树中的值做比较得到第二大数,比较的个数为树高. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cma

[2016-03-03][UVA][120][Stacks of Flapjacks]

[2016-03-03][UVA][120][Stacks of Flapjacks] UVA - 120 Stacks of Flapjacks Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Submit Status Description Background Stacks and Queues are often considered the bread and butter of data s

Uva 110 - Meta-Loopless Sorts(!循环,回溯!)

题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=46  Meta-Loopless Sorts  Background Sorting holds an important place in computer science. Analyzing and implementing various so

uva 1175 Ladies&#39; Choice (稳定婚姻问题)

uva 1175 Ladies' Choice Background Teenagers from the local high school have asked you to help them with the organization of next year?s Prom. The idea is to find a suitable date for everyone in the class in a fair and civilized way. So, they have or

Searching Quickly UVA 123

说说:感觉这题目是做得越来越繁琐了.这道题基本上把接下来课设要做的英语词典的框架给做出来了.好像本题的解法就是所谓的倒排索引.先给你一系列的句子,其实就是一系列的词啦.当然里面要把一些词去掉.然后把剩下的每个词都做成索引.最后按字典序把所有词所在的句子都输出就可以了.我的做法是定义了一个结构index包含关键词和一个指针,该指针指向一个链表,链表中的每个节点包含了该关键词所在的句子的位置,以及该关键词在句子中的位置.然后读入词,若不是要忽略的词就判断该词是否已经在关键词表中,在则添加到相应关键词

UVA - 10474 - Where is the Marble? (基数排序)

UVA - 10474 Where is the Marble? Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on them. At the beginni

Volume 1. Elementary Problem Solving :: Sorting/SearchingUva 340,10420,10474,152,299,120,156,400,755

刘汝佳 算法入门 第一版 Uva题目集合(四) Uva 340 #include<stdio.h> #include<string.h> int h[1001][2],g[1001]={0}; int n,m=0,i,j,k,a,b,o; int main() { #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); freopen("output.txt","

Stacks of Flapjacks UVA 120

说明:这道题初读有点绕....开始我以为只是将一个序列的最大值放到最右边,把最小值放到最左边...所以就怎么也通不过啦.后来终于理解题意了,其实就是要你排个序,从左到右为从大到小.但是改变序列顺序的规则有些特殊,即只能将从最左边开始到某一位置构成的连续子序列进行对称翻转.如有序列:  2,4,9,5,7,6.我选择的位置是5所在的位置,翻转后序列就变为5,9,4,2,7,6.然后用类似于冒泡排序的方法.通过最多两次翻转可以得到最大值,然后放到右边.不断重复上述操作,即可得到一个有序序列. 题目:

UVA - 12532 Interval Product

http://acm.bnu.edu.cn/v3/problem_show.php?pid=27853 Interval Product Time Limit: 2000ms Memory Limit: 131072KB This problem will be judged on UVA. Original ID: 1253264-bit integer IO format: %lld Java class name: Main Prev Submit Status Statistics Di