数学:给你长度1~n的线段 组成三角形最长边长度不超过你的n三角形有多少个
来源:互联网 发布:返利 淘宝 购物车 编辑:程序博客网 时间:2024/04/30 03:38
Triangle Counting
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
- You are given n rods of length 1, 2…, n. You have to pick any 3 of them and build a triangle. How many distinct triangles can you make? Note that, two triangles will be considered different if they have at least 1 pair of arms with different length.
- 输入
- The input for each case will have only a single positive integer n(1<=n<=1000000). The end of input will be indicated by a case with n<1. This case should not be processed.
- 输出
- For each test case, print the number of distinct triangles you can make.
- 样例输入
580
- 样例输出
322
- 来源
- UVA
- 上传者
TC_李远航
思路:
常规思路是模拟
但是时间复杂度将会是(o^3)明显超时
所以我们猜一定是有规律的,从数学角度开始分析
设三角形最长边为x,(其他y,z) 最多有c(x)个三角形
那么y+z>x
x-y<z<x
所以当y=1是误解0 y=2 一个解 y=3 三个解.....
0+1+2+3+....+(x-2)
总共:(x-2)*(x-1)/2
但是这里计算了y=z的情况而且每个三角形算了两次
(y=z的情况) y=x/2+1开始 (x-1)-(x/2+1)+1=x/2-1 不难发现x为奇数情况是x/2 偶数情况是x/2-1 so→(技巧)(x-1)/2避免奇偶讨论
于是 c(x)=((x-1)(x-2)/2-(x-1)/2)/2
题目问题的是最长边长不超过n的三角形有多少个 so F(n)=F(n-1)+c(n);
#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;long long a[1000005];int main(){ int n; a[1]=a[2]=a[3]=0; for(long long i=4;i<1000005;i++) a[i]=a[i-1]+((i-1)*(i-2)/2-(i-1)/2)/2; while(~scanf("%d",&n)) { if(n<=0) break; printf("%lld\n",a[n]); }}
1 0
- 数学:给你长度1~n的线段 组成三角形最长边长度不超过你的n三角形有多少个
- hdu4466 将长度为n线段瓜分成若干个相似三角形,有多少种分法(划分dp)
- HDU5784(n个点组成多少钝角三角形,然而无论什么三角形都是同理的)
- Triangle Counting(n范围内能组成多少个三角形)
- 打印由0-n组成的三角形
- 有n根棍子,棍子的长度为ai。想从中选出三个组成周长尽可能唱的三角形。
- 华为上机题:求N个字符串的最长公共子串,字符串长度不超过255。
- 数学问题 30个点组成多少个三角形
- n行数字组成的数字三角形详解
- 给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素
- ACM----三角形(有n根棍子,棍子i的长度为ai。)
- 有n个1-9的互不重复的数字,能组成多少个互不相同且无重复数字的n-1位数?都是多少?
- n个三角形最多可以构成多少个区域
- n!的尾数有多少个零?
- N!的末尾有多少个0?
- n!的尾数有多少个零?
- 线段组成三角形的概率问题
- 求N的阶乘N!末尾有多少个零
- 【BZOJ3886】【Usaco2015 Jan】Moovie Mooving 状态压缩 动态规划
- Java 8新特性探究(十一)Base64详解
- Android实现简单字符驱动程序及测试
- 工作笔记——TOOLTIPS解决思路和射线
- jquery复选框练习
- 数学:给你长度1~n的线段 组成三角形最长边长度不超过你的n三角形有多少个
- Toast重复显示的问题
- SharePoint 2013 共同编辑Office文档设置(work,excel,PPT等等)
- HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
- VS 莫名其妙弹出 “遇到不适当参数” 问题的解决
- HDU 1251 统计难题
- 项目管理经验分享
- 数字证书原理(转)
- java线程池使用及设计