HDU6044 Limited Permutation[快速输入][分治]

WGCNA样本量不够怎么办?5种替代方案帮你解决小样本基因共表达分析难题 本文针对WGCNA样本量不足的问题,提供了5种科学替代方案,包括CEMiTool、参数调整、多组学数据整合、机器学习特征提取和公共数据利用。这些方法帮助研究者在小样本条件下仍能进行可靠的基因共表达分析,特别适用于罕见病和珍贵临床样本研究。 阅读详情

题意:给定i从1到n个区间左右端点,描述的第i个区间的最小值必须是第i个数字,问从1~n有多少种符合题意的排列。
题目提示输入使用快速的fread()
对于一个确定的区间li,ri,其中pi是其最小值为定数,其余的可能情况就可以按照组合数去组合放到两边,所以从1~n大区间开始分治,对于每个区间,使用stl::map记录区间的编号i。
对于用到的组合数结果,使用卢卡斯预处理出结果。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1e6+10;
const int mod = 1e9+7;
int n;
int l[N], r[N];
map<pair<int ,int>, int> mp;
LL ans;
LL fac[N], inv[N];
inline char nc()
{
    static char buf[100000],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}

template <class T>
inline bool scan_d(T & x)
{
    char c=nc();
    x=0;
    if(c==EOF)return false;
    for(; c>'9'||c<'0'; c=nc());
    for(; c>='0'&&c<='9'; x=x*10+c-'0',c=nc());
    return true;
}

void init()
{
    fac[0]=1;
    for(int i = 1; i < N; i++)
        fac[i] = (fac[i-1]*i) % mod;

    inv[0] = inv[1] = 1;
    for(int i=2; i<N; i++)
        inv[i]=(LL)(mod-mod/i)*inv[mod%i]%mod;
    for(int i=1; i<N; i++)
        inv[i]=(inv[i-1]*inv[i])%mod;
}

LL C(int n,int m)
{
    return fac[n]*inv[m]%mod*inv[n-m]%mod;
}

void dfs(int ll,int rr)
{
    if(ans==0 || rr<ll) return;
    int i = mp[make_pair(ll, rr)];
    if(i == 0)
    {
        ans=0;
        return;
    }
    if(ll == rr)return;
    int len = rr - ll;
    ans = (ans*C(len,i-ll)) % mod;
    dfs(ll, i-1);
    dfs(i+1, rr);
}
int main()
{
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    #endif // ONLINE_JUDGE
    init();
    for(int Case = 1; scan_d(n); ++Case)
    {
        mp.clear();
        for(int i = 1; i <= n; ++i)
            scan_d(l[i]);
        for(int i = 1; i <= n; ++i)
        {
            scan_d(r[i]);
            mp[make_pair(l[i], r[i])] = i;
        }
        ans = 1;
        dfs(1, n);
        printf("Case #%d: %I64d\n", Case, ans);
    }
    return 0;
}
PCIe 6.0实战指南:从链路训练到信号完整性的避坑手册 本文是一份针对PCIe 6.0硬件工程师的实战避坑指南。文章深入解析了从NRZ到PAM4调制带来的信号完整性挑战,详细拆解了链路训练(LTSSM)的复杂过程与调试方法,并提供了从信道仿真到实验室实测(如使用Keysight示波器进行眼图与误码率分析)的完整信号完整性闭环验证策略,帮助工程师解决高速率下的链路不稳定与降速问题。 阅读详情

相关推荐

从零开始:用RFSOC XCZU47DR搭建软件无线电开发环境(2023最新版)

本文详细介绍了如何使用Xilinx RFSoC XCZU47DR搭建高性能软件无线电(SDR)开发环境,涵盖硬件选型、开发环境配置、射频子系统校准及实战应用开发。特别针对2023年最新技术需求,提供从基础配置到高级优化的完整指南,助力科研人员和工程师快速掌握RFSoC开发技术。

weixin_42525005的博客 510

HDU6044 Limited Permutation (递归,预处理阶乘逆元)

Limited Permutation Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 680    Accepted Submission(s): 130 Problem Description As to

say_c_box的博客 1454

华为昇腾服务器npu中安装paddle,pytorch等环境,训练代码迁移适配等问题记录

参考文档:https://github.com/PaddlePaddle/PaddleCustomDevice/blob/develop/backends/npu/README_cn.md

qq_29220369的博客 4112

超级读入挂HDU(6044)

#include #include #include typedef long long LL; namespace fastIO { #define BUF_SIZE 100000 //fread -> read bool IOerror = 0; inline char nc() { static char buf[BUF_SIZE], *

nucshiyilang的博客 1012

FIddler+Proxifer 实现PC客户端抓包详细教程

FIddler+Proxifer 实现PC客户端抓包详细教程

森明帮大于黑虎帮的博客 1万+

手把手教你学基带SOC芯片(4.2)--基带soc芯片的存储器设计

基带 SoC 中的存储器设计需要综合考虑功耗、成本和性能等因素。SRAM 适合高速缓存,DRAM 适合主内存,Flash 存储器适合非易失性存储。通过优化存储单元设计、阵列布局和外围电路,可以提高存储器的性能和效率。

MHD0815的博客 350

百度之星2019 1001 度度熊与数字

题意:给出一个数字,求出其所有因数中,满足该因数也是这个数所有位上数相加之和的因数,的所有这些因数 思路:一道签到题做了半个多小时整个人都是懵逼的,首先从遍历n遍,然后遍历n/2遍,遍历n/p遍(p为除1外该数最小因数)。。。。1e9的数据大小无疑肯定是TLE的。。。。最后想想,TM的既然同时是n和n的各位和的因数,那遍历各位和次不就行了吗??? #include<iostream> ...

qq_42397248的博客 199

智能车图像处理12-进阶篇4--环岛辅助判断条件

主函数: 第6行: 含义是当前需要不在坡道和车库状态 第11-12行 : 寻找一下环岛的双断点(在辅助函数中) 第16-66行: 当左右线的方差满足一边很大,一边很小时,truepianfangflag /truepianfangflagforleft 置1,在环岛的判断中使用。 辅助函数: 双断点函数(左与右相似,以做为例): 第13-28行: 第一处断点 第29-40行: 第一处断点后 连续边线 第41-52行: 第一处连续后,第二处断点 第53-64行: 第二处断点后,第二处

taiyuezyh的博客 1万+

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

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6044 【题目大意】   给出两个序列li,ri,现在要求构造排列p,使得对于区间[li,ri]来说,   pi是区间中最小的值,且[li,ri]是满足pi是区间最小值的最大区间 【题解】   我们发现对于区间[L,R],我们可以按照Dfs序找到支配这个区间的pi, ...

weixin_30478757的博客 105

AUTOSAR进阶图解==>AUTOSAR_EXP_VFB

AUTOSAR虚拟功能总线(VFB)摘要 AUTOSAR虚拟功能总线(VFB)是汽车开放系统架构中的核心抽象概念,为分布式电子系统提供统一通信模型。VFB允许软件组件在不了解底层物理通信机制的情况下交互,通过运行时环境(RTE)实现组件间的数据交换。系统配置过程将抽象的VFB视图转换为具体实现,包括组件到ECU的映射和通信机制选择。VFB采用"last-is-best"语义进行数据通信,并支持模式管理机制,使组件能根据系统状态调整行为。此外,VFB还支持与非AUTOSAR系统的交互,通常

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 1115

高速特征金字塔多角度旋转模板匹配(工业零部件缺陷检测C++ Opencv版)

博主在性能较好的笔记本上测试算法全部执行效果大约为45ms,在一般配置的笔记本上博主在性能较好的笔记本上测试算法全部执行效果大约为130ms。下图即为实际检测效果。本文最后附有完整代码:Qt版和MFC版本(可直接运行)。...

认真努力,做一只会飞的毛毛虫。 5547

hdu 6044 Limited Permutation

题意:给你n个限制,让你求长度为n的排列列有多少种。每个限制描述为,从li 到 ri这段区间,ai为最小值。分析:对于一个描述为[1,n] 的限制,它所对应的位置一定是1到n的最小值也就是1,那么这个位置就把区间分成了两份。假设这个位置左边有k个,然后从剩下的n-1个数中选出k个放在左边,都是符合题意的。然后把两个小区间做同样的处理。就得到了答案。#include <cstdio> #include

cysjiang的博客 336

电源防反接保护电路全攻略实战A04

本文深入剖析了硬件设计中电源保护电路的关键技术与实战经验。文章指出,保护电路虽小但至关重要,通过对比分析二极管与MOSFET防反接方案,揭示了MOSFET在效率、温控方面的优势。针对过压保护,重点讲解了TVS二极管选型要点,强调钳位电压而非击穿电压才是保护核心。文章结合工业案例(如48V通信模块烧毁、5V系统MOSFET过热等),详细阐述了PCB布局规范、热设计路径等工程细节,并提供了USB接口ESD防护的完整选型方案。最后强调硬件设计必须考虑最坏工况,在成本与性能间找到平衡点,避免因小失大。

启芯硬件的博客 776

HDU 6044 Limited Permutation dfs + 组合数(读入挂)

传送门:HDU6044 题意:给出n个区间,对于第i个区间[li,ri]有li 一开始没看到题目中的if and only if,看人家的博客都看不懂。。后来翻到一篇使我醍醐灌顶的博客,点击打开链接 转载至下: 首先要理解题意:当前仅当li 因此对于P[i]一定有P[i]>P[li-1]且P[i]>P[ri+1],进一步说区间[li,ri](除了[1,n])一定被某个区间[lj,rj]包

WA是一笔财富 926

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HDU 6044 Limited Permutation (组合数+逆元)

Description As to a permutation p1,p2,⋯,pn from 1 to n, it is uncomplicated for each 1≤i≤n to calculate (li,ri) meeting the condition that min(pL,pL+1,⋯,pR)=pi if and only if li≤L≤i≤R≤ri for each 1≤L

小坏蛋_千千 867

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HDU 6044

题意略。 思路: I.对于整个区间a1,....,an,必然有一个区间[1,n]与之对应,因为a1,...,an是1,...,n的一个排列,所以在[1,n]中定然有一个最小的数字1, 如果最大的区间[l,r]长度比[1,n]小,那么我们可以知道在[l,r]之外的数字是依然大于1的,这使得1这个数字没有合法的地方可放。 II.起于1左端的区间不可能终于1的右端。 III.数字1左端的部分类...

weixin_30848775的博客 145

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HDU-6044 Limited Permutation(计数)

传送门:点这里~题意:对于有n个元素的全排列的合法性定义为:有n个区间,对于第i个区间[li,ri]有li&lt;=i&lt;=ri,对于任意1&lt;=L&lt;=i&lt;=R&lt;=n,当前仅当li&lt;=L&lt;=i&lt;=R&lt;=ri时P[i]=min(P[L],P[L+1],...,P[R])。现在给出序列和相应的区间,问区间是否合法?题解:首先要理解题意:当前仅当li&l...

十分残念的博客 2380

HDU - 6044 - Limited Permutation(fread输入挂+计数)

题目链接:HDU - 6044 - Limited Permutation题意是给定 nn 个区间 [li,ri][l_i,r_i] 。pip_i 为 [L,R][L,R] 中最小的数字当且仅当 li≤L≤i≤R≤ril_i \leq L \leq i \leq R \leq r_i 。求出有多少种排列满足上述要求。对于一个区间 [li,ri][l_i,r_i] ,pip_i 是其中最小的数,因此区

On the way 1185

HDU 6044 Limited Permutation 想法

Limited Permutation Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1714    Accepted Submission(s): 463 Problem Description As to

black_miracle的博客 554

HDU 6044& 2017年多校训练第一场 1012题

多校训练第一场1022题 Problem Description As to a permutation  from  to , it is uncomplicated for each  to calculate  meeting the condition that  if and only if  for each . Given the posit

DTearth的博客 908

hdu 6044 hdu 6305 笛卡尔树

hdu6044 题意:给出每个点是某段区间的最大值,问构造一个1到n的排列,有多少种符合要求的。 做法:用笛卡尔树,如果对于一个序列,最大值可以把序列分成两段,左边一段和右边一段,然后在对这两段进行分割,,,最大值连接左右子段的最大值,就可以得到一颗树,这棵树有两个性质,左边的点比根的下标小,有点的点比跟的下标大。跟的值是子树中最大的,这就刚好符合笛卡尔树的性质,然后就可以利用题目中给出的信息...

zstu_zy的博客 374

【2019百度之星初赛二A题 HDU 6674 --- 度度熊与数字】

【2019百度之星初赛二A题 HDU 6674 --- 度度熊与数字】 Description 度熊发现,1, 3 以及 9 这三个数字很神奇,它们的所有的倍数的每位数字的和一定是自己的倍数。例如说: 54 是 3 的倍数,同时 5+4=9 也是 3 的倍数。在另一个例子 666 是 9 的倍数,同时 6+6+6=18 也是 9 的倍数。 度熊又发现,除了 1, 3, 9 以外的的正整数,虽然...

来日浅谈的博客 656

HDU - 6044

题目链接:HDU - 6044 分治区间,对于当前区间可以分成两边计算。 特判无解的情况。 AC代码: #pragma comment(linker, /STACK:102400000,102400000) #pragma GCC optimize("-Ofast","-funroll-all-loops") #include<bits/stdc++.h> //#define int long long using namespace std; const int N=1e6+10,mod=

青烟绕指柔的博客 427

HDU6674度度熊与数字(水题)

Problem Description 度熊发现,1, 3 以及 9 这三个数字很神奇,它们的所有的倍数的每位数字的和一定是自己的倍数。例如说: 54 是 3 的倍数,同时 5+4=9 也是 3 的倍数。在另一个例子 666 是 9 的倍数,同时 6+6+6=18 也是 9 的倍数。 度熊又发现,除了 1, 3, 9 以外的的正整数,虽然并不满足"所有的倍数的每位数字的和一定是自己的倍数",但也...

马角的逆袭的博客 769

hdu 6044 dfs+组合数

Problem Description As to a permutation p1,p2,⋯,pn from 1 to n, it is uncomplicated for each 1≤i≤n to calculate (li,ri) meeting the condition that min(pL,pL+1,⋯,pR)=pi if and only if li≤L≤i

扬帆起航 383

HDU 6044 Limited Permutation dfs 统计

地址http://acm.hdu.edu.cn/showproblem.php?pid=6044题意给出n,(li,ri),(1<=i<=n),(1<=n<=106)n, (l_i, r_i), (1 <= i <= n), (1 <= n <= 10^6),问合法排列的方案数,一个合法的排列满足对li<=L<=i<=R<=ril_i <= L <= i <= R <= r_i,总有min(pL,p

Brassica_的菜园 928
上一篇: F(x) [数位DP]
下一篇: HDU5972Regular Number [shiftand][字符串]
Qer_
博客等级 码龄11年 34粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值