题目描述

把大三角形的每条边n等分,将对应的等分点连接起来(连接线分别平行于三条边),这样一共会有多少三角形呢?编程来解决这个问题。
输入输出格式
输入格式:
第一行为整数t(≤100),表示测试数据组数;接下来t行,每行一个正整数n(≤500)。
输出格式:
对于每个n,输出一个正整数,表示三角形个数。
输入输出样例
输入样例#1:
3
1
2
3
输出样例#1:
1
5
13
说明
n(≤500),t(≤100)

分析

这道题一眼望去就觉得是一道要找规律的题,而我又太懒,不想理论推导,所以暴力直接打表,表如下

1 2 3 4 5 6 7 8 9
1 5 13 27 48 78 118 170 235

通过分析表我们看不出什么,那么我们看他们的差,4,8,14,21,30,40,52,65,觉得有些意思,再做差,4,6,7,9,10,12,13,感觉快出来了,再做差,2,1,2,1,2,1,好,规律找出来了我们可预先计算出最后一组数组,在从后往前推,直至推到初始数列即可,再在询问时O(1)输出即可;时间:0ms。

#include<bits/stdc++.h>
using namespace std;
long long a1[600],a2[600],a3[600],a4[600],t,n;
int main(){memset(a1,0,sizeof(a1));memset(a2,0,sizeof(a2));memset(a3,0,sizeof(a3));memset(a4,0,sizeof(a4));a3[1]=a2[1]=4,a4[1]=1;for(int i=1;i<=499;i+=2) a1[i]=2,a1[i+1]=1;for(int i=2;i<=500;i++) a2[i]=a2[i-1]+a1[i-1];for(int i=2;i<=500;i++) a3[i]=a3[i-1]+a2[i-1];for(int i=2;i<=500;i++) a4[i]=a4[i-1]+a3[i-1];scanf("%lld",&t);while(t--){scanf("%lld",&n);printf("%lld\n",a4[n]);}return 0;
}

luogu2807三角形计数相关推荐

  1. nvGRAPH三角形计数和遍历示例

    nvGRAPH三角形计数和遍历示例 #include " stdlib.h" #include" inttypes.h" #include" stdi ...

  2. P2807 三角形计数(c++)

    题目背景 三角形计数(triangle) 递推 题目描述 把大三角形的每条边n等分,将对应的等分点连接起来(连接线分别平行于三条边),这样一共会有多少三角形呢?编程来解决这个问题. 输入格式 第一行为 ...

  3. 69 三角形计数(Triangle Count)

    文章目录 1 题目 2 解决方案 2.1 思路 2.2 时间复杂度 2.3 空间复杂度 3 源码 1 题目 题目:三角形计数(Triangle Count) 描述:给定一个整数数组,在该数组中,寻找三 ...

  4. hdu4609 3idiots 三角形计数 FFT

    直接上代码 #include <iostream> #include <cstdio> #include <cmath> #include <cstring& ...

  5. spark的数三角形算法_数据算法 Hadoop Spark大数据处理技巧 PDF 下载

    相关截图: 资料简介: 本书介绍了很多基本设计模式.优化技术和数据挖掘及机器学习解决方案,以解决生物信息学.基因组学.统计和社交网络分析等领域的很多问题.这本书还概要介绍了MapReduce.Hado ...

  6. NYOJ-491 幸运三角形

    幸运三角形 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 话说有这么一个图形,只有两种符号组成('+'或者'-'),图形的最上层有n个符号,往下个数依次减一,形成倒置的 ...

  7. 符号三角形问题(回溯)

    [cpp] view plaincopy /*回溯法解符号三角形问题 问题描述: 如下图是由14个"+"和14个"-"组成的符号三角形, 2个同号下面都是&qu ...

  8. 符号三角形 回溯法 pta

    符号三角形的 第1行有n个由"+"和"-"组成的符号 ,以后每行符号比上行少1个,2个同号下面是"+",2个异 号下面是"-&qu ...

  9. 算法设计与分析第5章 回溯法(二)【回溯法应用】

    第5章 回溯法 5.2 应用范例 1.0-1背包问题 有n件物品和一个容量为c的背包.第i件物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和 ...

最新文章

  1. 1833: [ZJOI2010]count 数字计数
  2. hexo的yelee主题本地搜索故障
  3. 基于.net standard 的动态编译实现
  4. Spring MVC Boot Cloud 技术教程汇总
  5. Linux ct获取本机ip,linux ip命令
  6. 【项目经验】之线程基本知识
  7. centos5.5 下面 lnmp环境遇到的小问题
  8. python判断英文字母_python判断字符串是否包含字母
  9. java集成常用数组操作的类(比之前的集成度高点)
  10. android studio 安装sdk和android,请问android studio怎么安装sdk
  11. 袁玉玮:简介人工智能在基金界的应用现状 (二)卖方交易员被冲击
  12. Java核心技术卷1 如何阅读?
  13. 北斗导航 | 两个地面站之间的多跳卫星通信链路(附matlab代码)
  14. linux下查看文件描述符,linux下文件描述符的查看及分析
  15. 图像检索:颜色聚合向量(CCV)及matlab实现
  16. 利用接口检查日期是否为法定节假日
  17. minus subtract deduct这三个单词的区别
  18. Laravel artisan常用命令集锦
  19. Centos 桌面卡死解决办法,不关闭程序重启桌面
  20. LDA的python实现之模型参数训练

热门文章

  1. 研究生日迹-201710月
  2. MySQL清空数据库表数据
  3. 熟悉Linux开发环境
  4. 几何向量:Gerstner
  5. 合一信息技术(北京)有限公司诉被告北京百度网讯科技有限公司侵犯著作权纠纷一案判决书
  6. USB总线专题(五)——Mass storage 设备相关知识
  7. 新一轮融资惹外界热议 闪送能否担当即时配送领头羊重任?
  8. Java课程设计-随机组卷程序(仅仅包含选择题)
  9. 轮廓系数--聚类分析
  10. 从哲学层面浅谈计算机学习方法论