UVa 11401 三角形的个数】的更多相关文章

题意:由1,2,3...n组成的序列中找三个数,且以这三个数为变长能组成三角形,求这样的三角形个数. 思路:当每次输入n时重新都计算一遍会TLE...先预处理,将结果存入ans数组. 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<queue> #include<algorithm> #include<cma…
// uva 11401 Triangle Counting // // 题目大意: // // 求n范围内,任意选三个不同的数,能组成三角形的个数 // // 解题方法: // // 我们设三角巷的最长的长度是c(x),另外两边为y,z // 则由z + y > x得, x - y < z < x 当y = 1时,无解 // 当y = 2时,一个解,这样到y = x - 1 时 有 x - 2个 // 解,所以一共是0,1,2,3....x - 2,一共(x - 2) * (x - 1…
统计无向图中三角形的个数,复杂度m*sqrt(m). #include<stdio.h> #include<vector> #include<set> #include<math.h> #include<algorithm> using namespace std; #define LL long long vector<]; set<LL> st; ], link[], ]; int main(void) { LL ans,…
http://blog.csdn.net/highacm/article/details/8629173 题目大意:计算从1,2,3,...,n中选出3个不同的整数,使得以它们为边长可以构成三角形的个数. 思路:用一般的方法需要三重循环,时间复杂度为O(n^3),肯定超时,因此可用数学的方法对问题进行分析.设最大边长为x的三角形有c(x)个,另外两边长分别为y,z,则可得x-y<z<x:固定x枚举y,计算个数0+1+2+...+(x-2)=(x-1)(x-2)/2.上面的解包含了y=z的情况,…
LeetCode:有效三角形的个数[611] 题目描述 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 注意: 数组长度不超过1000. 数组里整数的范围为 [0, 1000] 题目分析 Java题解 class Solution { public int triangleNumber(int[] nums) {…
有效三角形的个数 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 注意: 数组长度不超过1000. 数组里整数的范围为 [0, 1000]. 思路 我们都知道,要想构成三角形,只需三角形中两条最短边之和大于最长边即可. 基于这样的原理,我们可以先将数组从小到大进行排序.将数组排序后,我们可以这样想,固定某一个数,…
611. 有效三角形的个数 611. Valid Triangle Number 题目描述 LeetCode LeetCode LeetCode611. Valid Triangle Number中等 Java 实现 import java.util.Arrays; class Solution { public int triangleNumber(int[] nums) { int count = 0, len = nums.length; Arrays.sort(nums); for (i…
611. 有效三角形的个数 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 注意: 数组长度不超过1000. 数组里整数的范围为 [0, 1000]. class Solution { public int triangleNumber(int[] nums) { Arrays.sort(nums); int r…
题目链接:https://uva.onlinejudge.org/external/114/11401.pdf 题意:1~n个数里面挑3个不同的数,组成一个三角形.求方案数. 分析: 令最长的边为X,那么他能所组成的三角形个数为C(X),其余两条边是Y,Z; 但是,这并不是答案,因为里面有y=z的情况: 这里都有一个:总共有x-1-x/2 + 1 -1 个y=z; 而且,当我的y=2,z=x-1时,最后面的z=x-1,y=2也算了一遍. 于是: 然后递推求和. #include <bits/st…
You are given n rods of length 1,2, . . . , n. You have to pick any 3 of them and build a triangle. Howmany distinct triangles can you make? Note that, two triangles will be considered different if they haveat least 1 pair of arms with different length…