C/C++ 求凸多边形对角线交点个数(洛谷原创题)
注:看了一眼大家的解答,大概都是组合排列或是数学几何方法推导从而解答,这里提供一个比较单调的解题方法。
解题思路:
这里我打了一个表
n 交点
2 = 0
3 = 0
4 = 1
5 = 5
6 = 15
7 = 35
8 = 70
... ...
对数列每相邻两项作差
得到
a[3]-a[2] = 0
a[4]-a[3] = 1
a[5]-a[4] = 4
a[6]-a[5] = 10
a[7]-a[6] = 20
a[8]-a[7] = 35
而后再做差得到
1
3
6
10
15
然后再做差——此时规律已经浮出水面啦!
1
2
3
4
5
...
所以,类似的这种题都可以坚持不懈做差找规律...
根据以上思路代码如下
C++:
#include<iostream>
using namespace std;
long long a[1000], a1[1000], a2[1000], a3[1000];
int main() {long long N;cin >> N;for (int i = 1; i <= N - 3; i++)a1[i] = i;for (int i = 2; i <= N - 2; i++)for (int j = 1; j <= i - 1; j++)a2[i] += a1[j];for (int i = 3; i <= N - 1; i++)for (int j = 1; j <= i - 1; j++)a3[i] += a2[j];for (int i = 4; i <= N; i++)for (int j = 1; j <= i - 1; j++)a[i] += a3[j];cout << a[N];return 0;
}
C:
#include<cstdio>
long long a1[1000];
long long a2[1000];
long long a3[1000];
int main()
{long long n;scanf("%lld",&n);int t=0;for(int i=1;i<=n;i++){a1[i]=a1[i-1]+i;//这里生成1,3,6,10序列}for(int i=1;i<=n;i++){a2[i]=a2[i-1]+a1[i];//这里生成1,4,10,20序列}for(int i=1;i<=n;i++){a3[i]=a3[i-1]+a2[i];//这里生成答案序列:1,5,15,35}printf("%lld",a3[n-3]);return 0;
}
C/C++ 求凸多边形对角线交点个数(洛谷原创题)相关推荐
- 求子集元素之和(洛谷P2415题题解,Java语言描述)
题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...
- 求最小连续和(洛谷P1614题题解,Java语言描述)
题目要求 P1614题目链接 分析 既然是要求最小连续和,那就需要存储连续的M个数据,还需要保存最小的和以及当前的和. 先开循环,把M和数据读入M长度数组中,保存好数据,完成求和. 接下来就是后续处理 ...
- 顺序结构|洛谷原创:多边形对角线
题目描述: 对于一个 n个顶点的凸多边形,它的任何三条对角线都不会交于一点.请求出图形中对角线交点的个数. 例如,六边形: 输入格式 输入只有一行一个整数 n,代表边数. 输出格式 输出一行一个整数代 ...
- 信息学奥赛一本通 1311:【例2.5】求逆序对 | 1237:求排列的逆序数 | OpenJudge NOI 2.4 7622:求排列的逆序数 | 洛谷 P1908 逆序对
[题目链接] ybt 1311:[例2.5]求逆序对 ybt 1237:求排列的逆序数 OpenJudge NOI 2.4 7622:求排列的逆序数 洛谷 P1908 逆序对 ybt 1311,123 ...
- 2021寒假——洛谷刷题计划(35题)
(希望大家不要Copy) AC:Accept,程序通过. CE:Compile Error,编译错误. PC:Partially Correct,部分正确. WA:Wrong Answer,答案错误. ...
- 洛谷日常刷题(洛谷官方题单 思路+详解)
目录 前言 非官方题单的题 P1141 01迷宫 1-4 递推与递归 P1255 数楼梯 1002 [ NOIP 2002 普及组]过河卒 P1044 [NOIP2003 普及组] 栈 P1028 [ ...
- 洛谷刷题C语言:Even? Odd? G、The Robot Plow G、pb的游戏(1)、询问学号、cover
记录洛谷刷题QAQ 一.[USACO09OCT]Even? Odd? G 题目描述 Bessie's cruel second grade teacher has assigned a list of ...
- 洛谷千题详解 | P1008 [NOIP1998 普及组] 三连击【C++、Java、Python语言】
博主主页:Yu·仙笙 专栏地址:洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析: C++源码: Java源码: Python源码: ----------------------- ...
- 洛谷刷题C语言:距离函数、闰年展示、计算阶乘、猴子吃桃、培训
记录洛谷刷题QAQ 一.[深基7.例1]距离函数 题目描述 给出平面坐标上不在一条直线上三个点坐标 (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_ ...
最新文章
- labview在2048中添加时间滚动条_Axure 教程:不可见滚动条的页面滚动效果
- OpenGL纹理矩阵,alpha混合和丢弃
- php+mysql+into_PHP+Mysql 如何实现数据库增删改查
- 不爱读书怎么办?用这个新奇的方法,熟知137亿年来的地球通史
- Hello, Android 快速入门
- java新手笔记3 运算符循环
- STL(五)——slist/list链表
- vue的computed单向绑定(如淘宝的购物车中使用)
- MongoDB集群架构 调整,增加延迟备份节点服务器,删除仲裁节点(9)
- Atitit 软件项目系统托盘图标解决方案
- [ openwrt ] 添加一个通过GPIO控制的LED
- 常见的计算机查询语言,利用SQL语句查询SCCM常用报表
- Apache 服务器特点
- java计算机毕业设计体检系统源码+系统+数据库+lw文档
- 【PAT】 1020 发邮件(错排问题)详解
- PYTHON开发对接短信语音验证码接口
- 商务与经济统计 笔记
- 好不容易说明白AQS,面试官却还要我说应用场景,我只好又讲了CountDownLatch ~~~
- QQ签名资料特殊字符大全
- 人工智能教你识别口红色号