uva11401:Triangle Counting

题目读不清楚的下场就是多做两个小时...从1-n中任选3个不重复数字(不重复啊!!坑爹啊!)问能组成三角形的有多少个,

显然1~n能组成的三角形集合肯定包括了1~n-1所能组成的三角形,所以假如have[i-1]为1~n-1组成的三角形数目,have[i]只要计算:含有长度为n的边的三角形数目+have[i-1] 就行了

然后分一下类就行了,1~n/2为一块,n/2+1~n为一块,因为有一条边必须为n,剩下两条边要么都在第二块,要么分别在第一第二块,在把n分奇偶讨论下很容易就得到公式了

 1 #include <iostream>
 2 #include <string.h>
 3 #include <cstdio>
 4 #include <queue>
 5 #include <vector>
 6 #include <cstring>
 7 #include <algorithm>
 8 #include <math.h>
 9
10 #define SIGMA_SIZE 26
11 #pragma warning ( disable : 4996 )
12
13 using namespace std;
14 typedef long long LL;
15 //typedef unsigned long long uLL;
16
17 inline LL LMax(LL a,LL b)    { return a>b?a:b; }
18 inline LL LMin(LL a,LL b)    { return a>b?b:a; }
19 inline int Max(int a,int b) { return a>b?a:b; }
20 inline int Min(int a,int b) { return a>b?b:a; }
21 inline int gcd( int a, int b ) { return b==0?a:gcd(b,a%b); }
22 inline int lcm( int a, int b ) { return a/gcd(a,b)*b; }  //a*b = gcd*lcm
23 const long long INF = 0x3f3f3f3f3f3f3f3f;
24 const int inf  = 0x3f3f3f3f;
25 const int mod  = 7;
26 const int maxk = 5005;
27 const int maxn = 1e6+5;
28
29 int num[maxn];
30 LL have[maxn];
31
32 void init()
33 {
34     //have[1] = 1; have[2] = 2;
35     bool test = true;            //true表示奇数,false表示偶数
36
37     have[3] = 0;
38     LL tmp;
39     for ( LL i = 4; i <= (LL)1e6; i++ )
40     {
41         LL t = i/2;
42         if (!test)
43         {
44             have[i] = t*(t-1) + have[i-1];
45             test = !test;
46         }
47         else
48         {
49             have[i] =  (t-1)*(t-1) + have[i-1];
50             test = !test;
51         }
52     }
53 }
54
55 int main()
56 {
57     init();
58
59     int x;
60
61     while ( ~scanf("%d", &x) && x >= 3 )
62         printf( "%lld\n", have[x] );
63     return 0;
64 }

View Code

转载于:https://www.cnblogs.com/chaoswr/p/8893647.html

uva11401:Triangle Counting 递推 数学相关推荐

  1. uva11401 Triangle Counting

    题目大意: 给出1~n的数, 求出能组合成三角形的三个数有多少组, 每组内的数都要不一样. /*设x是最大的边, 其余的为y,z; 根据三角形性质有: x>y+z 和 x-y < z &l ...

  2. Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)...

    Codeforces 1106F Lunar New Year and a Recursive Sequence (数学.线性代数.线性递推.数论.BSGS.扩展欧几里得算法) 哎呀大水题..我写了一 ...

  3. [Leetcode][第1025题][JAVA][除数博弈][数学][递推]

    [问题描述][中等] [解答思路] 1. 数学证明 找规律 时间复杂度:O(1) 空间复杂度:O(1) 2. 递推 时间复杂度:O(N) 空间复杂度:O(1) class Solution {publ ...

  4. HDOJ 4466 Triangle 递推

    1.当b=c时,a至少为1,所以c<=(n-1)/2 而a<=b 所以n-2*c<=c =>c>=n/3; 故共有(n-1)/2-(n/3)+(n/3?0:1)种. 2. ...

  5. POJ 3046 Ant Counting(递推,和号优化)

    计数类的问题,要求不重复,把每种物品单独考虑. 将和号递推可以把转移优化O(1). f[i = 第i种物品][j = 总数量为j] = 方案数 f[i][j] = sigma{f[i-1][j-k], ...

  6. 数列递推(牛客练习赛83)(数学、分块)

    数列递推 给定f(0)f(0)f(0),定义fn=∑i=1nf(nmodi)f_n = \sum\limits_{i = 1} ^{n} f_{(n \mod i)}fn​=i=1∑n​f(nmodi ...

  7. HDU-4278 Faulty Odometer 数学递推 || 八进制

    题意 这个里程表当走到3或8的时候就会跳过 给我们这个里程表上显示的数字 让我们求这个里程表的真实数据是多少 分析 由于 3 和 8 不存在 那么就相当于一个八进制数 但是这个八进制中3 是写作4 8 ...

  8. Triangle Counting【数学】

    Triangle Counting UVA - 11401 题目传送门 题目大意:输入一个整数n,求在1到n中选取三条边能够组成多少种三角形. AC代码: #include <cstdio> ...

  9. 51nod 13831048 整数分解为2的幂 [递推]【数学】

    题目连接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1048 ---------------------------- ...

最新文章

  1. 计算机的桌面教案,《认识计算机桌面》教案-20210608141312.pdf-原创力文档
  2. jquery遍历集合数组标签
  3. es6 依赖循环_探索 JavaScript 中的依赖管理及循环依赖
  4. JAVA四种基本排序总结
  5. 百度seo排名点击器_SEO整站优化思路 - 百度seo排名点击
  6. Oracle优化笔记
  7. WebLogic应用部署之配置不需要应用名直接访问(配置默认应用)
  8. 高通增加Adsp log( 三十)
  9. 【预训练模型】预训练语言模型的前世今生之风起云涌
  10. JAVA获取汉字拼音首字母
  11. 《数据结构与面向对象程序设计》第二、三周学习总结
  12. 新年新气象,重新出发
  13. ES系列:字段类型不对时,如何保存文档到索引
  14. Nordic Homekit开发--Homekit广播数据解析
  15. 抖音中的视频怎么使用手机录制 安卓手机录屏软件哪个好
  16. 扔掉“铁饭碗”、靠脑白金翻盘,如今 60 岁的史玉柱“重返一线”改游戏
  17. 【LaTeX】LaTeX打取整符号
  18. ijkplayer编译生成aar,支持https,rtsp,录制与截图
  19. 简历中的项目经历怎么写?
  20. ubuntu20.04 开启休眠(hibernate)功能的成功解决以及各种尝试的过程全记录

热门文章

  1. linux ssh motd 颜色,ubuntu ssh登录的时候motd被打印了两次
  2. 网易mumu模拟器adb连接配置
  3. 【愚公系列】2022年02月 U3D全栈班 005-Unity引擎视图
  4. visio修改默认字体
  5. Huffman文件压缩之文件夹压缩
  6. 博大考神》2006版之Word2003题库版操作提示
  7. java实现word(docx)在线编辑(word转html,html转word)——解读document.xml结构
  8. 讲一下创业公司的技术架构演进
  9. 2020版影视制作学习路线图(含大纲+视频+工具+书籍+面试)
  10. 抖音账号如何打造,抖音直播带货怎么做:国仁楠哥