小b有一个仅包含非负整数的数组a,她想知道有多少个三元组(i,j,k),满足i<j<k且a[i],a[j],a[k]可能作为某个三角形的三条边的边长。

收起

输入

第一行输入一个正整数n,表示数组a中元素个数;
第二行n个非负整数,表示a中元素,以空格隔开;
其中0<n≤1000,a中任意元素a[i]满足0≤a[i]≤1000。

输出

输出一个数,表示满足题意的三元组个数

输入样例

4
2 2 3 4

输出样例

3排序,然后枚举两个边,找满足条件的第三条边的个数。代码:
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>using namespace std;
int n;
int s[1000];
int main() {scanf("%d",&n);for(int i = 0;i < n;i ++) {scanf("%d",&s[i]);}sort(s,s + n);int ans = 0;for(int i = 1;i < n - 1;i ++) {for(int j = 0;j < i;j ++) {int l = i,r = n - 1;while(l < r) {int mid = (l + r + 1) / 2;if(s[mid] >= s[i] + s[j]) r = mid - 1;else l = mid;}ans += l - i;}}printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/8023spz/p/10891183.html

51nod 2497 数三角形相关推荐

  1. 一本通1655数三角形

    1655:数三角形 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个.下图为 4×4 的网格上 ...

  2. 组合计数——车的放置(逆元)+数三角形+序列统计(lucas定理)

    通用传送门:https://www.acwing.com/activity/content/16/ 思路:设C(a,b)为从a中取出b个的组合数,设A(a,b)从a中选出b个进行排列的排列数. 对于题 ...

  3. 组合数学——数三角形

    数三角形 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个. 下图为 4×4 的网格上的一个三角形. 注意:三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数 m 和 ...

  4. 2023NHOI数三角形题解

    第五题数三角形(e.cpp)[题目描述]已知一个包含n个非负整数的数组a,要从中选出三个数作为三角形的三条边的边长,有多少种不同的选法.注意:要组成三角形需要满足的条件是任意两边之和大于第三边.[输入 ...

  5. bzoj3505 / P3166 [CQOI2014]数三角形

    P3166 [CQOI2014]数三角形 前置知识:某两个点$(x_{1},,y_{1}),(x_{2},y_{2})\quad (x_{1}<x_{2},y_{1}<y_{2})$所连成 ...

  6. P3166 [CQOI2014]数三角形(组合数学)

    P3166 [CQOI2014]数三角形(组合数学) 整点三角形个数. 正难则反,求出总方案和共线三角形方案数即可. 总方案:C((n+1)(m+1),3)C((n+1)(m+1),3)C((n+1) ...

  7. 计蒜客NOIP模拟赛 数三角形

    数三角形 题目描述 刚刚上高中的洁洁在学习组合数学的过程中遇到一道麻烦的题目,她希望你能帮助她解决.给定一张无向完全图 G,其中大部分边被染成蓝色,但也有一些边被染成红色或者绿色.现在,洁洁需要给这张 ...

  8. 数三角形 (组合数学+分类讨论)

    数三角形 [Link](信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn)) 题意 给定一个 n × m n\times m n×m的网格,请计算三点都在格点上的三角形共有多少个. 题解 ...

  9. BZOJ 3505 [Cqoi2014]数三角形(组合数学)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3505 [题目大意] 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个. 注 ...

最新文章

  1. 列式存储 V.S. 行式存储
  2. weeklyblogging_20100805PM
  3. DL之BM:BM的前世今生
  4. channelread0会被调用两次_值得一看:C#同步方法中如何调用异步方法?
  5. nessus rpm 安装_CentOS8.0下查看已安装的软件位置
  6. “城迷”:黑白梦与精神逃离
  7. [图] DevOps:提速从研发到交付流程
  8. linux上的web服务器搭建
  9. Oracle中ascii为0的陷阱
  10. Tomcat虚拟根目录与虚拟目录
  11. buffer pool mysql_理解Mysql中的Buffer pool
  12. 为什么接口在设计时所有的方法一般都要抛异常?
  13. 3.3 Spark概述
  14. Verilog 常规数据定义
  15. flex3提示mysql2_flex3+struts2+spring2+hibernate3+mysql(在web项目里面建flex,而不是flex工程)...
  16. 【清风建模】数学建模论文写作小技巧
  17. 行人重识别论文阅读12-Bi-directional Exponential Angular Triplet Loss for RGB-Infrared Person ReID
  18. (转)Java程序员注意——扼杀性能的 10 个常见 Hibernate 错误
  19. 一键刷入twrp_红米Note8Pro最简单一键获取ROOT权限教程-管理自启更省电
  20. wiresshark抓包

热门文章

  1. 推荐阅读:变异检测到底应该用什么软件?
  2. SpringMVC处理自定义异常,通过读取配置文件把错误信息显示在前台页面
  3. Java——容器(Set)
  4. Office365-----Skype for business
  5. MPLS TE基本配置-IS-IS
  6. DynamicMethodHelper R2 2012-08-14 DynamicMethod ILGenerator.Emit
  7. 如何读取超大文本文件
  8. p_re 实验数据库ViPER和ETHZ的下载地址和实验评价标准
  9. eclipse卸载插件小记
  10. Nutch爬虫引擎使用分析