题意

给定一个整数n,有多少种方法可以从1、2、3、、、n中选择元素构成三角形?

分析

我们设三角形的三边长度分别为x, y, z,若我们假设x是最长边,,因为我们规定了x是最长边,所以根据加法原理,这些三角形和其他x构成的三角形一定是不一样的,我们设以x为最长边构成三角形的数量为c(x)。
根据三角形的性质我们不难得出x - y < z < x,当y = 1时 z有0个解,当y = 2 时 z有1个解 。。。当y等于x - 1时 z 有 x - 2 个解,总共数量是: (x−2)(x−1)2 \dfrac{(x - 2)(x - 1)} { 2}但是这些解中还存在一些重复的情况和不合法的情况(y == z),最后我们推导出我们的结果为: 12((x−1)(x−2)2−(x−1−floor(x2))) \dfrac{1}{2}(\dfrac{(x - 1)(x - 2)}{2}-(x - 1 - floor(\dfrac{x}{2})))。

c++
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
const int maxn = 1000000 + 10;
long long f[maxn], n;
void init(){memset(f, 0, sizeof(f));for(long long  i = 3; i < maxn; i++){f[i] = f[i - 1] + ((i - 1) * (i - 2) / 2 - (i - 1 - i / 2)) / 2;}
}
int main(int argc, const char * argv[]) {init();while(scanf("%lld", &n) != EOF){if(n < 3) break;printf("%lld\n", f[n]);}return 0;
}

小结

问题还是要一步一步从例子开始研究,重要的不是最后能不能搞的出来,而是在不断的研究过程中对问题本身认识的加深和研究问题能力的提高

数三角形Triangel Counting UVa 11401()相关推荐

  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. 【计算几何】【极角序】【二分】bzoj1914 [Usaco2010 OPen]Triangle Counting 数三角形

    极角排序后枚举每个点,计算其与原点连线的左侧的半平面内的点与其组成的三角形数(二分/尺取),这些都不是黄金三角形. 补集转化,用平面内所有三角形的个数(C(n,3))减去这些即可. 精度很宽松,几乎不 ...

最新文章

  1. 烂泥:haproxy学习之手机规则匹配
  2. Attention is All You Need?LSTM提出者:我看未必
  3. 笔记本建立wifi热点!(主要针对XP)【直播】
  4. 连接LilyPad之Linux平台的驱动
  5. wget下载阿里云oss的文件报错403
  6. mfc 饼图绘画_绘画技能干货 | 【人体头颈】的绘画技巧(三)(内含母亲节抽奖公布)...
  7. linux编程两个子进程,Linux中fork同时创建多个子进程的方法
  8. DetachedCriteria和Criteria的使用方法
  9. 蓝桥杯 ADV-20 算法提高 交换Easy
  10. Mapping Text to Knowledge Graph Entities using Multi-Sense LSTMs
  11. 小明刚刚看完电影《第39级台阶》离开电影院的时候,他数了一下礼堂前的台阶,刚好是39级 站在台阶前,他突然又想到了一个问题 如果我每步只能迈上一个或者两个台阶,先迈左脚,然后左右交替,也就是说一共
  12. Spring源码下载及安装
  13. 工程师应用计算机考试题型,IE工程师考试试题
  14. 如何使用Bootbox ?
  15. android4k分辨率,4k手机有哪些 4k分辨率是多少【图文】
  16. 基于LPC1114的闪烁小灯
  17. 眼睛里10年的“肉芽”长大了,这究竟是怎么回事?
  18. 面试系统设计_如何进行系统设计面试
  19. 公司宣传片拍摄文案怎么写?
  20. 快传号视频批量上传,禁止转载!

热门文章

  1. FreeRTOS的学习(六)——系统时钟
  2. 杭州游~西湖,灵隐寺,西溪湿地,印象西湖
  3. 【DOTA】目标检测数据集介绍与使用
  4. 一些markdown的操作
  5. 人工智能技术在智能音箱中的应用:智能语音识别与智能交互
  6. easyswoole环境配置
  7. 完美解决Non-terminating decimal expansion; no exact representable decimal result.异常
  8. JS基础语法,if分支
  9. Vikinger v1.9.3汉化版WordPress模板主题
  10. 面向大数据的隐私保护