当前位置: 首页 > article >正文

M. Triangle Construction

题目链接:Problem - 1906M - Codeforces

题目大意:给一个 n 边形, 每一个边上有a[ i ] 个点, 在此多边形上求可以连的三角形有多少个, 每个点只能用一次。

输入:

第一行是一个整数 N ( 3 ≤ N ≤ 200000 )。

下面一行由 N 个整数 ai ( 1 ≤ ai ≤ 2⋅1e9 组成。)

                                        数学, 贪心

1.三个点就可以连成一个三角形

2.三角形肯定不能在一条边上。 贪心:当最大数量的一条边上的点mx,mx * 2比其他边的数量的总和还要大, 那么贪心的想,该最大的一条边对每个三角形贡献两个点。

#include <bits/stdc++.h>
using namespace std;

using i64 = long long;
using i128 = __int128;
using ui64 = unsigned long long;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);

    int n;
    cin >> n;
    i64 mx = 0;
    i64 sum = 0;
    for(int i=0; i<n; i++) {
        i64 t;
        cin >> t;
        mx = max(mx, t);
        sum += t;
    }

    if((sum - mx) * 2 <= mx) { //特殊情况
        cout << sum - mx << "\n";
    }else{
        cout << sum / 3 << "\n";//结论
    }
    return 0;
}

感谢你的观看与点赞, 欢迎大佬指正。


http://www.kler.cn/a/531662.html

相关文章:

  • 算法题(56):旋转链表
  • LabVIEW如何有效地进行数据采集?
  • DeepSeek超越ChatGPT的能力及部分核心原理
  • 数据 类型
  • (CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
  • 吴恩达深度学习——有效运作神经网络
  • 注解与反射基础
  • 巧妙利用数据结构优化部门查询
  • Nginx 命令行参数
  • 深入探讨DICOM医学影像中的WADO服务及其具体实现
  • 内核定时器1-普通定时器
  • 浅谈线段树
  • 【Linux】25.进程信号(2)
  • 语言月赛 202412【正在联系教练退赛】题解(AC)
  • 电动汽车常见概念
  • e2studio开发RA2E1(5)----GPIO输入检测
  • Deepseek 数据蒸馏、芯片禁售引发中美AI 之战
  • 嵌入式学习---蜂鸣器篇
  • LeetCode:53.最大子序和
  • 数据 类型
  • 【LeetCode 刷题】回溯算法(3)-子集问题
  • 基于脉冲响应不变法的IIR滤波器设计与MATLAB实现
  • 10.8 LangChain Output Parsers终极指南:从JSON解析到流式处理的规范化输出实践
  • 【R语言】环境空间
  • 【最后203篇系列】006 -使用ollama运行deepseek-r1前后端搭建
  • Java中的常见对象类型解析