MT2041 三角形的个数

简介: MT2041 三角形的个数

c014bfc84ea34833842fa6ff08fc5cec.jpg

a54a11df678c4c029931a7e226ade47e.jpg

a5138577f04844e8a7d589988b4290d4.jpg

思路:找规律,推公式

0e13a99e7fc54b08a82a6d42937c4e5b.jpg

4等分:

       头朝上的三角形:

               边长为1:1+2+3+4=s1;

               边长为2:1+2+3=s2;

               边长为3:1+2=s3;

               边长为4:1=s4;

       即si=1+2+...+n-i+1=(n-i+2)*(n-i+1)/2

同理:头朝下的三角形:

               n=1:s=0;(1层)

               n=2:s=0+1;(2层)

               n=3:s=0+(1+2);(3层)

               n=4:s=0+1+(1+2+3);(4层)

               n=5:s=0+(1+2)+(1+2+3+4);

               n=6:s=0+1+(1+2+3)+(1+2+3+4+5);

       即f(n)=f(n-2)+(1+2+...+n-1)=f(n-2)+n*(n-1)/2

#include <bits/stdc++.h>
using namespace std;
int n;
int f(int n)
{
    if (n == 1)
        return 0;
    if (n == 2)
        return 1;
    return f(n - 2) + n * (n - 1) / 2;
}
int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int x;
        cin >> x;
        int sum0 = 0, sum1 = 0; // 记录头朝上和头朝下的三角形数
        for (int j = 1; j <= x; j++)
        {
 
            sum0 += (x - j + 1) * (x - j + 2) / 2; // 头朝上
        }
        sum1 = f(x); // 头朝下
        cout << sum0 + sum1 << endl;
    }
    return 0;
}


相关文章
|
人工智能 API 异构计算
AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署
AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署
1310 2
|
IDE 开发工具
Edge浏览器——如何设置跨域请求
Edge浏览器——如何设置跨域请求
975 0
List<Map<String, Object>>,Map<String,List<Map<String, Object>>>多方式循环遍历
List<Map<String, Object>>,Map<String,List<Map<String, Object>>>多方式循环遍历
288 0
|
机器学习/深度学习 缓存 人工智能
X-Anylabeling: 新一代自动标注工具
X-AnyLabeling:具备增强功能的高级自动标注解决方案
8557 0
X-Anylabeling: 新一代自动标注工具
|
测试技术 持续交付 数据安全/隐私保护
iOS真机安装WebDriverAgent图文详解
在做iOS自动化测试的时候,一般都需要确保手机上已经安装有WebDriverAgent应用,这个WDA应用可以是Airtest修改版、Appium修改版也可以是Facebook原版,今天我们以Appium修改版为例来进行说明,其他版本同样适用。
1529 0
iOS真机安装WebDriverAgent图文详解
VB语言基础重要知识点05
一、文件识别 看扩展名来识别VB中的常用文件: vbp扩展名:VB工程文件,这个文件可以用来组织项目文件结构。 exe扩展名:编译生成的应用程序文件,这个文件运行程序的。 frm扩展名:窗体文件,这个文件中保存着窗体文件的所有代码。
222 0
VB语言基础重要知识点05
|
机器学习/深度学习 存储 编解码
何恺明团队又出神作:将图像分割视作渲染问题,性能显著提升!
Facebook人工智能实验室何恺明团队提出一种高效、高质量的目标和场景图像分割新方法。他们开发了一个独特的视角,将图像分割视为一个渲染问题,提出PointRend神经网络模块。建立在现有的最先进的模型之上,PointRend可以灵活地应用于实例分割和语义分割任务。
416 0
何恺明团队又出神作:将图像分割视作渲染问题,性能显著提升!
|
弹性计算 关系型数据库 MySQL
使用PolarDB和ECS搭建门户网站
学习使用PolarDB和ECS搭建门户网站
使用PolarDB和ECS搭建门户网站
|
关系型数据库 Oracle
分区表 区间分区 散列分区 列表分区
oracle 11g 增加了新的分区类型,总结一下目前之前的分区表 区间分区 散列分区 列表分区 区间分区: create table gh_range_example( id varchar2(100), range_date date not n...
853 0