题目链接

题目背景

上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来。

题目描述

有n根木棒,现在从中选4根,想要组成一个正三角形,问有几种选法?

输入格式:

第一行一个整数n
第二行n个整数,a1,a2,……an(0

输出格式:

一行一个整数,对1e9+7取模

输入输出样例

输入样例#1:

4 1 1 2 2

输出样例#1:

1

说明

对于30%的数据 N<=5000
对于100%的数据 N<=100000

Code

组合排列题

#include <iostream>
#include <cstdio>#define C1(num) (num)
#define C2(num) ((num)*((num)-1)/2)
#define Mod 1000000007using namespace std;int n;
long long num[5005];
long long sum;int main()
{scanf("%d",&n);int using_t;for(int i=1;i<=n;i++){scanf("%d",&using_t);num[using_t]++;}for(int i=2;i<=5000;i++){for(int j=1;j<=i/2;j++)
//由于题目要求4根火柴棒,所以j只能到i/2,j+j=i。{int k=i-j;long long nowans=1;if(k!=j){if(num[i]>=2 && num[j]>=1 && num[k]>=1){nowans*=(C2(num[i]) % Mod);nowans%=Mod;nowans*=(C1(num[j]) % Mod);nowans%=Mod;nowans*=(C1(num[k]) % Mod); nowans%=Mod;sum+=nowans;}}else{if(num[i]>=2 && num[j]>=2){nowans*=(C2(num[i]) % Mod);nowans%=Mod;nowans*=(C2(num[j]) % Mod);nowans%=Mod;sum+=nowans;}}sum%=Mod;}}printf("%d",sum);
} 

洛谷P3799 妖梦拼木棒相关推荐

  1. 洛谷[P3799 妖梦拼木棒] {暴力枚举} 奋斗的珂珂~

    洛谷[P3799 妖梦拼木棒] {暴力枚举} 题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 n 根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法? 答案 ...

  2. 洛谷 P3799 妖梦拼木棒【枚举/组合数学】

    题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 nnn 根木棒,现在从中选 444 根,想要组成一个正三角形,问有几种选法? 答案对 109+710^9+7109+7 ...

  3. 洛谷-P3799 妖梦拼木棒

    题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 nn 根木棒,现在从中选 44 根,想要组成一个正三角形,问有几种选法? 答案对 10^9+7109+7 取模. 输入格 ...

  4. 【题解】【算法】- 洛谷 - P3799 妖梦拼木棒(组合数学)

    题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 n 根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法? 答案对 109 + 7 取模. 输入格式 第一行一 ...

  5. 洛谷P3799 妖梦拼木棒 题解

    //简单的思路:四根必有两根相同,所以咱们就先选两根组合成第三根,确定另外相同的两根的长度 //分为两种情况,一.预选两根相同长度.二.预选两根不同长度. //所有情况是预选*(确定的另外两根) #i ...

  6. 洛谷 P3799 妖梦拼木棒

    题目 这道题主要考组合数学,一开始我没注意数据范围,傻乎乎地模拟,结果复杂度爆炸10个TLE.这道题是算出来的. 思路是用一个栈把相同长度个数超过2的木棍用栈保存下来,同时用一个数组存下所有长度木棍的 ...

  7. [luogu P3799] 妖梦拼木棒

    [luogu P3799] 妖梦拼木棒 题目描述 解决过程 思路 代码 感想 题目描述 点击此处查看题目描述 解决过程 暴力不多阐述,很显然是无法AC的 解决此题需要用到组合数 思路 这道题要求拼成等 ...

  8. P3799 妖梦拼木棒——枚举+组合数学

    妖梦拼木棒 题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 nnn 根木棒,现在从中选 444 根,想要组成一个正三角形,问有几种选法? 答案对 109+710^9+7 ...

  9. 洛谷 P3797 妖梦斩木棒 解题报告

    P3797 妖梦斩木棒 妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力. 题目描述 有一天,妖梦正在练习剑术.地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的\(n\)段.现在这个木棒可以看做 ...

最新文章

  1. android开机启动代码
  2. TCP为什么是3次握手?
  3. 华为eNSP和SecureCRT连接乱码问题
  4. HTTP协议基础知识点点滴滴
  5. Comperhend the OP-sizeof deeply!
  6. 串口调试助手-打开报错
  7. SpringCloud 搭建项目环境、创建 Dept 微服务、客户端调用微服务
  8. 2022将至,前端程序员们应该一起放个烟花庆祝一下,走起
  9. JS之字符串连接方法join
  10. Http协议之报文·方法·状态码
  11. 29 FI配置-财务会计-外币评估-分配到评估范围和会计核算原则
  12. python print输出字符串报错
  13. 07. (附加)用两个队列实现栈(C++版本)
  14. Java项目案例-猜数小游戏和多级菜单系统.....
  15. 火狐firebug和firepath插件安装方法
  16. Windows下LaTeX安装教程与新手入门
  17. 第一次的爬虫小试(爬取网页文本)
  18. pcie总线与cpci总线_PCI和CPCI
  19. HP打印机 定时打印激活打印机(针对某些打印机需要激活才能打印的情况)
  20. 强化学习-Q-Learning算法

热门文章

  1. JS instanceof用法
  2. 记一次k8s的pod间网络无法访问解决
  3. python中判断生肖和星座哪个准_生肖与星座配对,生肖和星座配对,哪个准啊
  4. 低调做人是步入社会的必然要求
  5. 微博拿下NBA,互联网巨头布局体育产业如何“绕开”版权费?
  6. 头条号三农领域原创视频日赚1000,自媒体领域选择哪个好?
  7. NOI2019退役记
  8. solidworks安装问题:安装管理程序无法在此注册表位置生成注册表项: HKLM\Software\Wow6432Node\SolidWorks
  9. Github下载加速最简单方法
  10. Discuz!论坛运营之增加创始人的方法