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【最小/大值重复】的更多相关文章

  1. hdu 1853 Cyclic Tour (二分匹配KM最小权值 或 最小费用最大流)

    Cyclic Tour Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others)Total ...

  2. FPGA上如何求32个输入的最大值和次大值:分治

    上午在论坛看到个热帖,里头的题目挺有意思的,简单的记录了一下. 0. 题目 在FPGA上实现一个模块,求32个输入中的最大值和次大值,32个输入由一个时钟周期给出.(题目来自论坛,面试题,如果觉得不合 ...

  3. 【洛谷】4180:【模板】严格次小生成树[BJWC2010]【链剖】【线段树维护最大、严格次大值】

    P4180 [模板]严格次小生成树[BJWC2010] 题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说, ...

  4. 【LeetCode题解】530_二分搜索树的最小绝对值差

    目录 [LeetCode题解]530_二分搜索树的最小绝对值差 描述 方法一.中序遍历二分搜索树 思路 Java 代码 Python 代码 [LeetCode题解]530_二分搜索树的最小绝对值差 描 ...

  5. 【bzoj1977】【严格次小生成树】倍增维护链上最大次大值

    (上不了p站我要死了,侵权度娘背锅) Description 小 C 最近学了很多最小生成树的算法,Prim 算法.Kurskal 算法.消圈算法等等. 正当小 C 洋洋得意之时,小 P 又来泼小 C ...

  6. POJ2985 The k-th Largest Group[树状数组求第k大值+并查集||treap+并查集]

    The k-th Largest Group Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 8807   Accepted ...

  7. MATLAB寻找数组前k个大值

    有时候我们需要寻找数组的前k个大值并按照顺序输出, 在C语言可以通过快速排序等算法,快速求得,这里用matlab写了一个比较简单实用的程序(适用于数组长度不是特别大的情况). function [va ...

  8. [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 ...

  9. PAT天梯赛练习题 L3-002. 堆栈(线段树查询第K大值或主席树)

    L3-002. 堆栈 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有 ...

随机推荐

  1. MVC入门——列表页

    创建控制器UserInfoController using System; using System.Collections.Generic; using System.Linq; using Sys ...

  2. 零基础学python-2.18 异常

    这一节说一下异常except 继续沿用上一节的代码.我有益把文件名称字搞错.然后在结尾部分加上异常捕捉: try: handler=open("12.txt")#在这里我特别将文件 ...

  3. EasyDarwin开源流媒体服务器性能瓶颈分析及优化方案设计

    EasyDarwin现有架构介绍 EasyDarwin的现有架构对网络事件的处理是这样的,每一个Socket连接在EasyDarwin内部的对应存在形式就是一个Session,不论是RTSP服务对应的 ...

  4. 使用JavaScript获取浏览器UserAgent

    可以在浏览器地址栏输入about:version来查看UserAgent等信息 但是在Win10系统,本人亲测,IE和Edge用这样的方式都获取不到信息 在我惯用的QQ浏览器上倒是可以获取到 为了能方 ...

  5. LLVM的总结

    LLVM 写在前面的话:无意中看到的LLVM的作者Chris Lattner相关的介绍和故事,觉得很有意思就贴上来,如果不感兴趣,可以直接跳入下一章. 关于LLVM 如果你对LLVM的由来陌生,那么我 ...

  6. 锁定xcode api 文档

    1, 打开终端2, 前往Xcode.app, 命令: cd /Applications/Xcode.app 3, 把头文件修改为只读, 命令: sudo chown -hR root:wheel Co ...

  7. querySelectorAll和getElementsBy 系列比较

    querySelectorAll 相比下面这些方法有什么区别? (1)getElementsByTagName (2)getElementsByClassName (3)getElementsByNa ...

  8. 数据结构之 线性表---单链表操作A (删除链表中的指定元素)

    数据结构上机测试2-1:单链表操作A Time Limit: 1000MS Memory limit: 4096K 题目描述 输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据 ...

  9. ffmpeg full help

    Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile ...

  10. c++变量定义

    float **a 表示a是一个“指针的指针”,也可以理解为是一个二维数组的指针,***a具有类似的解释,可以理解为是一个三维数组的指针.