博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
康拓展开和逆康拓展开
阅读量:4332 次
发布时间:2019-06-06

本文共 2165 字,大约阅读时间需要 7 分钟。

复杂度O(\(n^2\))的会tle(看数据就知道了)(虽然某题解说可以,不知道是不是后期加强了数据

然而我还是写了O(\(n^2\))的

#include 
typedef long long LL;LL f[1000010];const LL mod = 998244353;int a[1000010], b[1000010];int main() { f[0] = 1; for(int i = 1; i < 1000005; i++) f[i] = f[i-1] * i % mod; int n; while(~scanf("%d", &n)) { for(int i = 0; i < n; i++) { scanf("%d", &a[i]); b[a[i]] = 0; } LL ans = 1, cnt; for(int i = 0; i < n; i++) { cnt = 0; for(int j = 1; j < a[i]; j++) { if(b[j] == 0) cnt++; } b[a[i]] = 1; ans = ans % mod + cnt * f[n - i - 1]; } printf("%lld\n", ans % mod); } return 0;}

下面这个是树状数组实现的,复杂度O(nlogn) (能过)

#include 
typedef long long LL;LL f[1000010];const LL mod = 998244353;int a[1000010], n, bit[1000010];void add(int i, int x) { while(i <= n) { bit[i] += x; i += i & (-i); }}int query(int i) { int res = 0; while(i > 0) { res += bit[i]; i -= i & (-i); } return res;}int main() { f[0] = 1; for(int i = 1; i < 1000005; i++) f[i] = f[i-1] * i % mod; scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d", &a[i]); add(a[i], 1); } LL ans = 1, cnt; for(int i = 1; i <= n; i++) { add(a[i], -1); cnt = query(a[i]); ans = ans % mod + cnt * f[n - i]; } printf("%lld\n", ans % mod); return 0;}

逆康拓展开O(\(n^2\))

#include 
#include
int main() { int n, k, f[15], b[15]; f[0] = 1; for(int i = 1; i < 11; i++) f[i] = f[i-1] * i; while(~scanf("%d %d", &n, &k)) { memset(b, 0, sizeof(b)); k--; for(int i = n - 1; i >= 0; i--) { int ans = k / f[i], cnt = 0; for(int j = 1; j <= n; j++) { if(cnt == ans && b[j] == 0) { b[j] = 1; printf("%d ", j); break; } if(b[j] == 0) cnt++; } k = k % f[i]; } printf("\n"); } return 0;}

复杂度更低的我还不会 呜呜我好菜

转载于:https://www.cnblogs.com/fanshhh/p/11329750.html

你可能感兴趣的文章
#error#错误原因:Cannot find executable for CFBundle 0x8ad60b0 (not loaded)
查看>>
【JavaScript】浅析javaScript和HTML与unicode字符集的关系
查看>>
Eclipse快捷键大全(转载)
查看>>
BI 底座——数据仓库技术(Data Warehouse)
查看>>
python的面向对象-类的数据属性和实例的数据属性相结合-无命名看你懵逼不懵逼系列...
查看>>
ACM学习历程—BestCoder 2015百度之星资格赛1004 放盘子(策略 && 计算几何)
查看>>
nginx代理服务
查看>>
HDU5183 hash 表
查看>>
Ambari修改主页面方法
查看>>
javascript学习笔记
查看>>
Nginx自带的变量
查看>>
[编程珠玑]取样问题
查看>>
PHP sprintf() 函数
查看>>
003为什么shell的配置文件那么繁琐?
查看>>
python面向对象
查看>>
腾讯2019实习面试题
查看>>
stm32_CAN总线知识(转)
查看>>
USB 协议分析之 HID 设备(转)
查看>>
寒假训练——搜索 K - Cycle
查看>>
idea中deployment点击加号没有出现artifact
查看>>