SPOJ PHT【二分】+SPOJ INUM【最小/大值重复】
BC 两道其实都是水 没有完整地想好直接就码出事情。wa了一次以后要找bug,找完要把思路理的非常清楚
SPOJ PHT【二分】
#include<bits/stdc++.h>
using namespace std; int main()
{
long long n;
int T,CAS=1;
scanf("%d",&T);
while(T--)
{
scanf("%lld",&n);
long long left=0;
long long right=10000000;
while(left<right)
{
long long mid=left+(right-left+1)/(long long)2;
long long temp;
temp=(1LL+mid)*(1LL+mid)-1;
if(n>=temp)
left=mid;
else
right=mid-1;
}
printf("Case %d: ",CAS++);
printf("%lld\n",left);
}
return 0;
}
SPOJ INUM【最小/大值重复】
#include<bits/stdc++.h>
using namespace std;
typedef long long LL; const int N=1e5+10; int n; vector<LL>xs;
map<LL,LL>mp; LL get_min()
{
LL ans;
if(n==xs.size())
{
LL temp=1e18;
for(int i=1;i<xs.size();i++)
{
LL xx=xs[i]-xs[i-1];
if(temp>xx)
{
temp=xx;
ans=1;
}
else if(temp==xx)
ans++;
}
}
else
{
ans=0;
for(int i=0;i<xs.size();i++)
{
if(mp[xs[i]]>1)
ans+=mp[xs[i]]*(mp[xs[i]]-1)/2;
} }
return ans;
} LL get_max()
{
if(xs.size()==1)
{
LL xx=mp[xs[0]];
return xx*(xx-1)/2;
}
else
return mp[xs[0]]*mp[xs[xs.size()-1]];
} int main()
{
while(~scanf("%d",&n))
{
LL x;
xs.clear();
mp.clear(); for(int i=1;i<=n;++i)
{
scanf("%lld",&x);
if(!mp[x])
xs.push_back(x);
mp[x]++;
} if(n==1)
{
printf("0 0\n");
continue;
} sort(xs.begin(),xs.end()); printf("%lld %lld\n",get_min(),get_max()); }
return 0;
}
/*
3
1 2 2
*/
SPOJ PHT【二分】+SPOJ INUM【最小/大值重复】的更多相关文章
- hdu 1853 Cyclic Tour (二分匹配KM最小权值 或 最小费用最大流)
Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others)Total ...
- FPGA上如何求32个输入的最大值和次大值:分治
上午在论坛看到个热帖,里头的题目挺有意思的,简单的记录了一下. 0. 题目 在FPGA上实现一个模块,求32个输入中的最大值和次大值,32个输入由一个时钟周期给出.(题目来自论坛,面试题,如果觉得不合 ...
- 【洛谷】4180:【模板】严格次小生成树[BJWC2010]【链剖】【线段树维护最大、严格次大值】
P4180 [模板]严格次小生成树[BJWC2010] 题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说, ...
- 【LeetCode题解】530_二分搜索树的最小绝对值差
目录 [LeetCode题解]530_二分搜索树的最小绝对值差 描述 方法一.中序遍历二分搜索树 思路 Java 代码 Python 代码 [LeetCode题解]530_二分搜索树的最小绝对值差 描 ...
- 【bzoj1977】【严格次小生成树】倍增维护链上最大次大值
(上不了p站我要死了,侵权度娘背锅) Description 小 C 最近学了很多最小生成树的算法,Prim 算法.Kurskal 算法.消圈算法等等. 正当小 C 洋洋得意之时,小 P 又来泼小 C ...
- POJ2985 The k-th Largest Group[树状数组求第k大值+并查集||treap+并查集]
The k-th Largest Group Time Limit: 2000MS Memory Limit: 131072K Total Submissions: 8807 Accepted ...
- MATLAB寻找数组前k个大值
有时候我们需要寻找数组的前k个大值并按照顺序输出, 在C语言可以通过快速排序等算法,快速求得,这里用matlab写了一个比较简单实用的程序(适用于数组长度不是特别大的情况). function [va ...
- [CareerCup] 17.4 Maximum of Two Numbers 两数中的较大值
17.4 Write a method which finds the maximum of two numbers. You should not use if-else or any other ...
- PAT天梯赛练习题 L3-002. 堆栈(线段树查询第K大值或主席树)
L3-002. 堆栈 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有 ...
随机推荐
- C语言宏定义时#(井号)和##(双井号)作用
#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号. #define example(instr) prin ...
- kong
https://docs.konghq.com/install/centos/ wget https://bintray.com/kong/kong-community-edition-rpm/dow ...
- 阿里Java开发手册学习 3 MYSQL规约
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Exam 70-762 Developing SQL Databases
这个考试还是很有用的,教了很多有用的东西,不错,虽然考试需要很多钱,不过值的尝试.虽然用了sql server 这么多年但是对于事务.多并发的优化还是处于小学生的水平,通过这次考试争取让自己提一个档次 ...
- Hive与impala的对比测试实验
前面几篇随笔记录了我安装环境的一些笔记,环境ok以后,自然要看看impala到底性能如何,拿他来hive做做对比: 前面hive章节中,已经建立了一张名叫chengyeliang的table,该表的结 ...
- self = [super init]的解释
在Object-C中我们很多时候都会重写init方法.一般情况下我们都会这样写: -(instancetype)initWithDic:(NSDictionary *)dic{ if(self=[su ...
- Struts2中的redirect参数传递
在Action之间传递参数有如下方法: (方法一): Xml代码 1. <result name="topic" type="redirect">f ...
- IDEA eclipse 控制台日志输出到文件
eclipse IDEA
- (转)Java经典设计模式(2):七大结构型模式(附实例和详解)
原文出处: 小宝鸽 总体来说设计模式分为三大类:创建型模式.结构型模式和行为型模式. 博主的上一篇文章已经提到过创建型模式,此外该文章还有设计模式概况和设计模式的六大原则.设计模式的六大原则是设计模式 ...
- 万亿级日志与行为数据存储查询技术剖析——Hbase系预聚合方案、Dremel系parquet列存储、预聚合系、Lucene系
转自:http://www.infoq.com/cn/articles/trillion-log-and-data-storage-query-techniques?utm_source=infoq& ...