hdu 6044 : Limited Permutation (2017 多校第一场 1012) 【输入挂 组合数学】
参考博客:
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) 【输入挂 组合数学】的更多相关文章
- HDU 6044 - Limited Permutation | 2017 Multi-University Training Contest 1
研究一下建树 : /* HDU 6044 - Limited Permutation [ 读入优化,笛卡尔树 ] | 2017 Multi-University Training Contest 1 ...
- hdu 6035:Colorful Tree (2017 多校第一场 1003) 【树形dp】
题目链接 单独考虑每一种颜色,答案就是对于每种颜色至少经过一次这种的路径条数之和.反过来思考只需要求有多少条路径没有经过这种颜色即可. 具体实现过程比较复杂,很神奇的一个树形dp,下面给出一个含较详细 ...
- HDU 6044 Limited Permutation 读入挂+组合数学
Limited Permutation Problem Description As to a permutation p1,p2,⋯,pn from 1 to n, it is uncomplica ...
- HDU 6044 Limited Permutation(搜索+读入优化)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6044 [题目大意] 给出两个序列li,ri,现在要求构造排列p,使得对于区间[li,ri]来说, ...
- HDU 6041 I Curse Myself(点双联通加集合合并求前K大) 2017多校第一场
题意: 给出一个仙人掌图,然后求他的前K小生成树. 思路: 先给出官方题解 由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉.所以问题就变为有 M 个集合,每个集合里面都有一堆 ...
- hdu 5289 Assignment(2015多校第一场第2题)RMQ+二分(或者multiset模拟过程)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 题意:给你n个数和k,求有多少的区间使得区间内部任意两个数的差值小于k,输出符合要求的区间个数 ...
- hdu 6055 : Regular polygon (2017 多校第二场 1011) 【计算几何】
题目链接 有个结论: 平面坐标系上,坐标为整数的情况下,n个点组成正n边形时,只可能组成正方形. 然后根据这个结论来做. 我是先把所有点按照 x为第一关键字,y为第二关键字 排序,然后枚举向量 (p[ ...
- HDU-6035 Colorful Tree(树形DP) 2017多校第一场
题意:给出一棵树,树上的每个节点都有一个颜色,定义一种值为两点之间路径中不同颜色的个数,然后一棵树有n*(n-1)/2条 路径,求所有的路径的值加起来是多少. 思路:比赛的时候感觉是树形DP,但是脑袋 ...
- hdu 6047: Maximum Sequence (2017 多校第二场 1003)【贪心】
题目链接 可以贪心写,先把b数组按从小到大的顺序排个序,根据b[i]的值来产生a[n+i] 借助一个c数组,c[i]记录,j从i到n,a[j]-j的最大值,再加上一个实时更新的变量ma,记录从n+1到 ...
随机推荐
- 【洛谷P1036 选数】
这个题显然用到了深搜的内容 让我们跟着代码找思路 #include<bits/stdc++.h>//万能头 ],ans; inline bool prime(int n)//最简单的判定素 ...
- ScheduledThreadPoolExecutor 源码分析
ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor 是能够在给定的延时之后.或周期性执行被提交任务的线程池 创建实例 /** * 线程池关闭 ...
- Delphi XE2 之 FireMonkey 入门(15) - 滤镜: 获取滤镜信息
滤镜类的继承关系: TObject -> TPersistent -> TFilter -> TShaderFilter -> { 具体的滤镜类 } //下面例子首先会用到 F ...
- spring boot配置项profiles active
结论:通用项配置在applicaton.yml,区别环境配置在application-{profile}.yml中 一直不知道这个参数要不要配,配了有什么用,今天搭一个工程来检验 此项作用:用来区分不 ...
- 类Random
/* * Random:产生随机数的类 * * 构造方法 * public Random();没有给种子,用的是默认种子,是当前时间的毫秒值 * public Random(long seed);使用 ...
- C# Thread3——前台线程后台线程
默认情况下,显示创建的线程都是前台线程,进程会等待内部所有的前台线程执行完才会结束退出 1.默认创建的线程都是前台线程 2.进程会等待所有的前台线程执行完而结束,如果还存在后台线程则会强行中断并且退出 ...
- 100 IncDec序列
IncDec序列 Description 给定一个长度为 n 的数列 a1,a2,-,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一. 求至少需要多少次操作才能使数列中 ...
- linux启动内核源码分析
内核的启动时从main.c这个文件里面的start_kernel函数开始的,这个文件在linux源码里面的init文件夹下面 下面我们来看看这个函数 这个函数很长,可以看个大概过去 asmlinkag ...
- vue—拖拽
- 多线程02-Join
; i < ; i++) { Console.WriteLine(i); } Co ...