首页 > 其他分享 >洛谷题单指南-数学基础问题-P1866 编号

洛谷题单指南-数学基础问题-P1866 编号

时间:2024-04-07 16:14:56浏览次数:21  
标签:指南 P1866 int 洛谷题 Mn 选法 long M1

原题链接:https://www.luogu.com.cn/problem/P1866

题意解读:N个整数M1~Mn,对每个整数Mi,选取1~Mi之间的一个数,使得N个数都不一样的选法。

解题思路:

将M1~Mn由小到大排序,

第1个的选法有M1种

第2个的选法有M2-1种

第3个的选法有M3-2种

......

第n个选法有Mn-n+1种

全部相乘取模即可。

注意:如果第i个Mi- i + 1 <= 0,说明无法满足N个不一样的数

相乘时可能超int,注意long long

100分代码:

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

const int N = 1005, MOD = 1e9 + 7;

int n, m[N];
long long ans = 1;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> m[i];
    sort(m + 1, m + n + 1);
    for(int i = 1; i <= n; i++)
    {
        if(m[i] - i + 1 <= 0) //如果出现可选数小于等于0,表示无法满足每个都不同编号
        {
            ans = 0;
            break;
        }
        ans = ans * (m[i] - i + 1) % MOD;
    } 
    cout << ans;
    return 0;
}

 

标签:指南,P1866,int,洛谷题,Mn,选法,long,M1
From: https://www.cnblogs.com/jcwy/p/18119241

相关文章

  • NodeJs进阶开发、性能优化指南
    相信对于前端同学而言,我们去开发一个自己的简单后端程序可以借助很多的nodeJs的框架去进行快速搭建,但是从前端面向后端之后,我们会在很多方面会稍显的有些陌生,比如性能分析,性能测试,内存管理,内存查看,使用C++插件,子进程,多线程,Cluster模块,进程守护管理等等NodeJs后端的知识,在这里为大......
  • 远程连接与Linux基础使用指南
    1.远程连接与Linux基础使用指南1.远程连接排错详解1.0 Vmware小技巧挂起:把正在运行的虚拟机暂停,这样好处就是虚拟机不用关机。快照:给虚拟机当前状态拍摄一个保存节点,这个保存的节点可以用于恢复。可以在开机,挂起,关机状态拍摄。1.1现象关键提示:Connectionfaile......
  • 洛谷题单指南-数学基础问题-P1017 [NOIP2000 提高组] 进制转换
    原题链接:https://www.luogu.com.cn/problem/P1017题意解读:负进制数的转换。解题思路:下面给出两种思路1、枚举法从数据范围来看,∣n∣≤37336,因此,可以对该r进制的数进行枚举,每一次枚举,都计算r进制数对应的十进制数是否和n相等,相等则输出该r进制数。主要问题就是要解决r进制......
  • #小白学Go-01# 学完Go指南感受,对比一下Go与其他语言
    本人以前是C/C++和Python选手,因为以后的工作需要用到Go,所以只好从零开始学习Go。本篇记录一下刚看完Go指南的感受,可能理解还不到位。总体感受学完Go指南给我最大的感觉就是,在变量定义方面很像Pascal,在函数、结构体、方法方面很像C,虽然没有C++中类的概念,但是通过方法可以实现类似......
  • 洛谷题单指南-数学基础问题-P1100 高低位交换
    原题链接:https://www.luogu.com.cn/problem/P1100题意解读:将32位二进制数的高低16位交换位置。解题思路:给定无符号整数a,假设二进制高16为h,低16位为l,即a表示为hl,a>>16得到0h,a<<16得到l0,两者相加即得到lh,交换完毕。需要注意的是,无符号整数的表示是unsignedint,如果是int,......
  • 洛谷题单指南-数学基础问题-P1469 找筷子
    原题链接:https://www.luogu.com.cn/problem/P1469题意解读:找到落单的整数,其他整数都可以配对。解题思路:利用异或的特性:1、整数和自己异或x^x=02、任何数和0异或x^0=x因此,将所有数异或起来,结果就是落单的整数。100分代码:#include<bits/stdc++.h>usingnamespa......
  • 洛谷题单指南-数学基础问题-P1143 进制转换
    原题链接:https://www.luogu.com.cn/problem/P1143题意解读:进制转换的模版题,n进制转10进制,10进制转m进制。解题思路:1、对于n进制数转10进制,如abcd转10进制,根据定义是a*n^3+b*n^2+c*n+d,在程序中迭代处理:for(inti=0;i<s.length();i++)dec=dec*n+s[i]需要注......
  • 爬虫之数据神器7---Peewee性能优化技巧指南(1)
    前言继续上一章:https://hsnd-91.blog.csdn.net/article/details/137412359        Peewee是一个流行的Python对象关系映射(ORM)库,它提供了简洁而强大的数据库操作功能。然而,在处理大型数据集或高并发情况下,Peewee的性能可能会受到影响。为了帮助开发人员充分利用Peewee......
  • 洛谷题单指南-图的基本应用-P1983 [NOIP2013 普及组] 车站分级
    原题链接:https://www.luogu.com.cn/problem/P1983题意解读:由于“如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠”。因此,在始发站和终点站之间,能停靠的车站都是级别较高的,没有停靠的车站都是级别较低的,计算最少有多少个不同级别。解题思路:......
  • 2-38. 第二场景的绘制指南
    制作室内所需要的素材室内的瓦片家具记得家具的锚点要设置在底部开始实际制作室内将相机改成黑色创建02.Home场景注意从01.Field场景中拷贝相关的对象项目相关代码代码仓库:https://gitee.com/nbda1121440/farm-tutorial.git标签:20240406_2027......