原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=3301

康拓展开和逆展开的模板题。

#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 21
using namespace std;inline int read(){register int x(0),f(1); register char c(getchar());while(c<'0'||'9'<c){ if(c=='-') f=-1; c=getchar(); }while('0'<=c&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}long long mul[maxn];
int n,m,num[maxn];inline void recontor(long long rank){bool vis[maxn]={0};rank--;for(register int i=1;i<=n;i++){int t=rank/mul[n-i],j;for(j=1;j<=n;j++) if(!vis[j]){if(t<=0) break;t--;}printf("%d ",j),vis[j]=true;rank%=mul[n-i];}puts("");
}
inline long long contor(){long long ans=1;for(register int i=1;i<=n;i++){int tot=0;for(register int j=i+1;j<=n;j++) if(num[i]>num[j]){tot++;}ans+=tot*mul[n-i];}return ans;
}int main(){n=read(),m=read();mul[0]=1;for(register int i=1;i<=n;i++) mul[i]=mul[i-1]*i;for(register int i=1;i<=m;i++){char op; cin>>op;if(op=='P'){long long rank; scanf("%lld",&rank);recontor(rank);}else{for(register int i=1;i<=n;i++) num[i]=read();printf("%lld\n",contor());}}return 0;
}

转载于:https://www.cnblogs.com/akura/p/11309841.html

[USACO2011 Feb] Cow Line相关推荐

  1. 【BZOJ】3301: [USACO2011 Feb] Cow Line(康托展开)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3301 其实这一题很早就a过了,但是那时候看题解写完也是似懂非懂的.... 听zyf神犇说是康托展开, ...

  2. [BZOJ] 3301: [USACO2011 Feb] Cow Line

    康拓展开/逆展开 模板 #include<algorithm> #include<iostream> #include<cstdio> #define int lo ...

  3. 康托展开与逆康托展开(bzoj 3301: [USACO2011 Feb] Cow Line)

    康拓展开: 已知序列a1, a2, a3, -, an是1~n的一个排列,求这是1~n全排列中,第几小的排列? ans = ,其中F(i)表示后面n-i个数中比当前小的数的个数 例如 n = 5,序列 ...

  4. 【BZOJ】【3301】【USACO2011 Feb】Cow Line

    康托展开 裸的康托展开&逆康托展开 康托展开就是一种特殊的hash,且是可逆的-- 康托展开计算的是有多少种排列的字典序比这个小,所以编号应该+1:逆运算同理(-1). 序列->序号:( ...

  5. 贪心  POJ - 3617 ​​​​​​​Best Cow Line

    Best Cow Line POJ - 3617 FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of ...

  6. P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)

    P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希) 洛谷上这道水题丧心病狂地把数据范围加到了500000 普通的做法肯定A不了了, ...

  7. BZOJ 1631: [Usaco2007 Feb]Cow Party【最短路】

    1631: [Usaco2007 Feb]Cow Party [题目描述] 传送门 题解 正向建边,从X开始刷一趟SPFA,然后反向建边,从X刷一趟SPFA,最后两次的答案加和就可以了. 代码如下 # ...

  8. POJ 3617 Best Cow Line 贪心算法

    Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26670 Accepted: 7226 Descri ...

  9. POJ 3617 Best Cow Line(最佳奶牛队伍)

    POJ 3617 Best Cow Line Time Limit: 1000MS Memory Limit: 65536K [Description] [题目描述] FJ is about to t ...

最新文章

  1. 设置nginx 防止上传恶意脚本
  2. 普华基础软件笔试_普华“2018上海市软件和集成电路产业发展专项资金项目”成功验收...
  3. Axios——Axios封装DEMO
  4. 实验8.2 指针与字符串 7-2 字符串排序
  5. VUE学习和开发中的注意点总结(一),便于回顾(不断完善补充。)
  6. wxpython如何分开界面和运行代码_如何调试wxPython Demon源代码及几个细节
  7. “一切即代码”究竟意味着什么?
  8. 32个设计非常精美的国外网站作品范例(下篇)
  9. FL Studio软件隐藏优惠码分享,音乐制作必备,创作无限可能!
  10. SQL 如何将视图转换成表
  11. 探讨【IGE】的源代码【二】。
  12. Java高并发编程详解系列-Volatile关键字
  13. ParaView Volume MHD
  14. [转载]坐标系统与投影变换_-刘艳红-_新浪博客
  15. Java教学视频全集,活见久
  16. ubuntu下安装nccl具体教程
  17. getUserMedia API及HTML5 调用手机摄像头拍照
  18. 泰课在线夜猫的贪食蛇
  19. 智慧城市专家指导东区项目
  20. [白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall) 和 F值(F-Measure)

热门文章

  1. 计算机中的类型,计算机中各种件文的类型及其作用.doc
  2. pythontk界面显示函数中的变量值_简单易学,西门子触摸屏3种修改变量值的方法!博图Wincc V14组态...
  3. mysql 知识_关于mysql基础知识的介绍
  4. 金融数据分析与挖掘实战 4.2 Matplotlib(二)
  5. 想学习UI设计,培训的话需要多少钱?
  6. 如何规划前端工程师职业发展路线?
  7. C语言三目运算符用法详解
  8. php案例纠错,PHP编程纠错指南
  9. jsonhelper java_JSON和JAVA的POJO的相互转换
  10. 重启手机出现机器人加一个叹号_解决win10上不了网出现红叉,网卡驱动异常代码56的问题...