题目链接

参考博客:

  http://blog.csdn.net/jinglinxiao/article/details/76165353

  http://blog.csdn.net/qq_31759205/article/details/76146845

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

//=========================================================
namespace IO {
    const int MX = 4e7; //1e7占用内存11000kb
    char buf[MX]; int c, sz;
    void begin() {
        c = ;
        sz = fread(buf, , MX, stdin);
    }
    inline bool read(int &t) {
        ')) c++;
        if(c >= sz) return false;
        ; , c++;
        ; c < sz &&  + buf[c] - ';
        if(flag) t = -t;
        return true;
    }
}
//=========================================================
;
;
LL fac[M+];                //阶乘
LL inv_of_fac[M+];        //阶乘的逆元
LL qpow(LL x,LL n)
{
    LL ret=;
    )
    {
        ) ret=ret*x%mod;
        x=x*x%mod;
    }
    return ret;
}
void init()
{
    fac[]=;
    ; i<=M; i++)
        fac[i]=fac[i-]*i%mod;
    inv_of_fac[M]=qpow(fac[M],mod-);
    ; i>=; i--)
        inv_of_fac[i]=inv_of_fac[i+]*(i+)%mod;
}
LL C(LL a,LL b)
{
    ||a<b) ;
    return fac[a]*inv_of_fac[b]%mod*inv_of_fac[a-b]%mod;
}
//=========================================================

struct node
{
    int l,r,id;
    bool operator<(const node& rhs)const
    {
        return l<rhs.l||l==rhs.l&&r>rhs.r;
    }
}a[M];

int mark,rear,n;
LL dfs(int l,int r)
{
    ;
    ;
    if(a[rear].l!=l||a[rear].r!=r)
    {
        mark=;
        ;
    }
    node cur=a[rear++];
    LL ret=C(cur.r-cur.l,cur.id-cur.l);
    ret=ret*dfs(cur.l,cur.id-)%mod;
    ret=ret*dfs(cur.id+,cur.r)%mod;
    return ret;
}

int main()
{
    init();
    ;
    IO::begin();
    while(IO::read(n))
    {
        ;i<=n;i++)    IO::read(a[i].l);
        ;i<=n;i++)    IO::read(a[i].r),a[i].id=i;
        sort(a+,a++n);
        mark=,rear=;
        printf(, n));
    }
}

hdu 6044 : Limited Permutation (2017 多校第一场 1012) 【输入挂 组合数学】的更多相关文章

  1. HDU 6044 - Limited Permutation | 2017 Multi-University Training Contest 1

    研究一下建树 : /* HDU 6044 - Limited Permutation [ 读入优化,笛卡尔树 ] | 2017 Multi-University Training Contest 1 ...

  2. hdu 6035:Colorful Tree (2017 多校第一场 1003) 【树形dp】

    题目链接 单独考虑每一种颜色,答案就是对于每种颜色至少经过一次这种的路径条数之和.反过来思考只需要求有多少条路径没有经过这种颜色即可. 具体实现过程比较复杂,很神奇的一个树形dp,下面给出一个含较详细 ...

  3. HDU 6044 Limited Permutation 读入挂+组合数学

    Limited Permutation Problem Description As to a permutation p1,p2,⋯,pn from 1 to n, it is uncomplica ...

  4. HDU 6044 Limited Permutation(搜索+读入优化)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6044 [题目大意] 给出两个序列li,ri,现在要求构造排列p,使得对于区间[li,ri]来说, ...

  5. HDU 6041 I Curse Myself(点双联通加集合合并求前K大) 2017多校第一场

    题意: 给出一个仙人掌图,然后求他的前K小生成树. 思路: 先给出官方题解 由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉.所以问题就变为有 M 个集合,每个集合里面都有一堆 ...

  6. hdu 5289 Assignment(2015多校第一场第2题)RMQ+二分(或者multiset模拟过程)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 题意:给你n个数和k,求有多少的区间使得区间内部任意两个数的差值小于k,输出符合要求的区间个数 ...

  7. hdu 6055 : Regular polygon (2017 多校第二场 1011) 【计算几何】

    题目链接 有个结论: 平面坐标系上,坐标为整数的情况下,n个点组成正n边形时,只可能组成正方形. 然后根据这个结论来做. 我是先把所有点按照 x为第一关键字,y为第二关键字 排序,然后枚举向量 (p[ ...

  8. HDU-6035 Colorful Tree(树形DP) 2017多校第一场

    题意:给出一棵树,树上的每个节点都有一个颜色,定义一种值为两点之间路径中不同颜色的个数,然后一棵树有n*(n-1)/2条 路径,求所有的路径的值加起来是多少. 思路:比赛的时候感觉是树形DP,但是脑袋 ...

  9. hdu 6047: Maximum Sequence (2017 多校第二场 1003)【贪心】

    题目链接 可以贪心写,先把b数组按从小到大的顺序排个序,根据b[i]的值来产生a[n+i] 借助一个c数组,c[i]记录,j从i到n,a[j]-j的最大值,再加上一个实时更新的变量ma,记录从n+1到 ...

随机推荐

  1. cenos 7 中firewalld开放服务端口

    转载 CentOS 7 为firewalld添加开放端口及相关资料   1.运行.停止.禁用firewalld 启动:# systemctl start  firewalld 查看状态:# syste ...

  2. 模拟赛DAY 2 T1江城唱晚

    [题目背景] 墙角那株海棠,是你种下的思念. 生死不能忘,高烛照容颜. 一曲江城唱晚,重忆当年坐灯前, 青衫中绣着你留下的线. ——银临<江城唱晚> [问题描述] 扶苏是个喜欢一边听古风歌 ...

  3. 三十五、robotframework中怎么将100转化成100.00

    1.将100转化成100.00

  4. 搭建spring项目,无法创建RequestMappingHandlerMapping异常

    异常详情: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMa ...

  5. VMware vSphere 虚拟化简介

    目录 目录 vSphere 简介 vSphere 提供的工具 vCenter vCenter 的功能 vCenter 管理界面上提供的操作功能 HOST CLUSTER TEMPLATE Virtua ...

  6. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_11_JDK9对集合添加的优化_of方法

    用了of后集合的长度不能再改变!!!!! set不允许有重复元素 所以会抛出异常 重复的数据删掉就不报错. 改变长度 同样会报错. Map的key不允许有重复

  7. JDK+Tomcat+Eclipse环境搭建过程记录

    这学期选了一门公选课叫网络开发工具与技术,主要学习用JSP语言构建网站.在配置环境的过程中遇到不少的坑,于是记录下来,希望能帮到大家. 系统环境:Win10 JDK版本:8u121, JAVA版本1. ...

  8. REACT--》fetch---基本使用

    [WangQI]---fetch---基本使用   一.fetch fetch是一种XMLHttpRequest的一种替代方案,在工作当中除了用ajax获取后台数据外我们还可以使用fetch.axio ...

  9. python+selenium元素定位之CSS学习01

    参考文档:https://www.w3school.com.cn/cssref/css_selectors.asp 选择器 例子 例子描述 CSS .class .intro 选择 class=&qu ...

  10. python-IDE的使用(小白先看)

    一.定义 IDE:集成开发环境(Integrated Development Environment) 二.常见的IDE工具: 1.VIM,经典的Linux下的文本编辑器 2.Emacs,LInux的 ...