题目连接:hdu_5719_Arrange

题意:

给你1-n这 n个数,设一个排列的第i个数为Ai, Bi为A1到Ai的最小值,Ci为C1到Ci的最大值,问你有多少种排列方式,然后输出取模后的答案

题解:

最开始没注意每个数只能用一次,操蛋!这个条件太隐藏了,我们从1到n位开始扫,并且维护一个区间还剩多少数没有用,然后用乘法计数就是最终的答案,注意一些导致答案为0的条件即可

 #include<cstdio>
#define F(i,a,b) for(int i=a;i<=b;i++) const int mod=,N=1e5+;
int a[N],b[N]; int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
F(i,,n)scanf("%d",a+i);
F(i,,n)scanf("%d",b+i);
if(a[]!=b[])puts("");
else{
int ma=a[],mi=a[],sq=;
long long ans=;
F(i,,n){
if(a[i]>b[i]){ans=;break;}
if(a[i]>mi||b[i]<ma){ans=;break;}
if(a[i]<mi&&b[i]>ma){ans=;break;}
if(a[i]<mi){sq+=mi-a[i]-,mi=a[i];continue;}
if(b[i]>ma){sq+=b[i]-ma-,ma=b[i];continue;}
if(sq==){ans=;break;}
ans=ans*sq%mod,sq--;
}
printf("%lld\n",ans);
}
}
return ;
}

hdu_5719_Arrange(脑洞题)的更多相关文章

  1. 图论(KM算法,脑洞题):HNOI 2014 画框(frame)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABPoAAANFCAIAAABtIwXVAAAgAElEQVR4nOydeVxTV/r/n9ertaJEC4

  2. Poj3484-Showstopper(二分脑洞题)

    Description Data-mining huge data sets can be a painful and long lasting process if we are not aware ...

  3. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛C. Sum【脑洞题】

    限制:1000ms 32768K Define the function S(x) for xx is a positive integer. S(x) equals to the sum of al ...

  4. 数据结构(脑洞题,BIT):COGS 2394. 比赛

    比赛 时间限制:1 s   内存限制:256 MB [题目描述] n(n≤100000)个人编号为0到n-1,每人都有一个能力值,大小在0到n-1之间,各不相同,他们之间有c场比赛,每场比赛指定一个区 ...

  5. AT2165 Median Pyramid Hard 二分答案 脑洞题

    无论再来多少次也不可能想到的写法. 二分一个最小的顶端值\(k\),大于设为\(1\)小于等于设为\(0\),可以证猜出来(你跟我说这可以?)如果存在两个连在一起的0/1那么它们会一直往上跑,还可以很 ...

  6. Gym - 101149K Revenge of the Dragon 脑洞题,样例题

    http://codeforces.com/gym/101149/problem/K 题意:题目贼长,但其实是个脑筋急转弯... 题解:题目要求某图形面积.该图形只有一个自由度,就是起点与终点距离x. ...

  7. 很好的脑洞题:dfs+暴力 Gym - 101128A Promotions

    http://codeforces.com/gym/101128 题目大意:给你一个a,b,e,p.有e个点,p条有向边,每条边为(x,y),表示x->y,每次我们都取出一个入度为0的,并且一次 ...

  8. UVA 5986 - Wizarding Duel 超级脑洞题

    给出n个人,每个人两两比赛一场,一共有C(n,2)场比赛,现在给出一个榜,问其是否合法.不合法的话,就改成合法,输出最小需要改的变化. 分数一定是C(n,2)的了, 不和法的情况,比如0,0,2,是不 ...

  9. hdu 5976 Detachment 脑洞题 猜结论

    题目链接 题意 将\(x\)拆成\(a_1+a_2+...+\)的形式,且\(a_1\lt a_2\lt...\),使得\(a_1*a_2*...\)取到最大值 思路 大胆猜结论. 首先拆分的形式中肯 ...

随机推荐

  1. Python基础(四)-集合

    补充: 数据类型分类: 1.按照数据可变不可变: 可变:列表.字典 不可变:数字.字符串.元组 x={':1} print(id(x)) x.update({':2}) print(x) print( ...

  2. mac中eclipse安装openExplore插件

    插件地址:https://github.com/samsonw/OpenExplorer/downloads 将下载的jar包放入下面地址:应用程序->eclipse.app,右击->打开 ...

  3. C++ 使用string一行一行读取文件

    c++ 读取文件中的一行一行数据 通用模板: std::ifstream in(dictpath); if(!in) { std::cout << __DATE__ << &q ...

  4. Oracle字符串操作[转:http://www.cnblogs.com/xd502djj/archive/2010/08/11/1797577.html]

    ORACLE 字符串操作 1 字符串连接   SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select ...

  5. NEU OJ 1649 GMZ’s Pretty Number

    先来一次线性素数筛,把1到10000000的素数都筛选出来,然后暴力跑一遍所有可能的值,打个表,查询的时候o(1)效率出解. #include<cstdio> #include<cs ...

  6. win8删除无线网络其中的一项配置

    netsh wlan delete profile name="无线名称"

  7. java中的静态代码块等执行顺序

    http://www.cnblogs.com/naruto469/p/3608459.html public class Print { 2 3 public Print(String s){ 4 S ...

  8. device-mapper: multipath: Failing path recovery【转载】

      digoal 2016-04-05 10:09:42 浏览180 评论0 摘要: 由于扇区损坏导致多路径设备failed. 现象如下 :  # dmesg : device-mapper: mul ...

  9. springmvc权限拦截器

    配置文件spring-servlet.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  10. Linux查询系统配置常用命令

    系统 # uname -a               # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue   # 查看操作系统版本# cat /proc/cpuinfo  ...