UVA11525 Permutation 逆康托展开

传送门

文章目录

  • 题意:
  • 思路:

题意:

在这里插入图片描述

思路:

逆康托展开板子

// Problem: UVA11525 Permutation
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/UVA11525
// Memory Limit: 0 MB
// Time Limit: 3000 ms
// 
// Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#include<random>
#include<cassert>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid ((tr[u].l+tr[u].r)>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=1000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n;
int a[N];
struct Node {int l,r;int cnt;
}tr[N<<2];void pushup(int u) {tr[u].cnt=tr[L].cnt+tr[R].cnt;
}void build(int u,int l,int r) {tr[u]={l,r};if(l==r) {tr[u].cnt=1;return;}build(L,l,Mid); build(R,Mid+1,r);pushup(u);
}void change(int u,int pos) {if(tr[u].l==tr[u].r) {tr[u].cnt=0;return;}if(pos<=Mid) change(L,pos);else change(R,pos);pushup(u);
} int query(int u,int cnt) {if(tr[u].l==tr[u].r) return tr[u].l;if(tr[L].cnt>cnt) return query(L,cnt);else return query(R,cnt-tr[L].cnt);
}int main()
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);int _; scanf("%d",&_);while(_--) {scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&a[i]);build(1,1,n);for(int i=1;i<=n;i++) {int pos=query(1,a[i]);change(1,pos);printf("%d%c",pos,i==n? '\n':' ');}}return 0;
}
/**/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure 上使用 Windows Server Core 运行 ASP.NET Core 网站

点击上方蓝字关注“汪宇杰博客”导语微软智慧云 Azure 上虽然早就有 App Service 这种完全托管的 PaaS 服务可以让我们分分钟建网站。但是不自己配一下环境&#xff0c;就不能体现技术含量&#xff0c;容易被说微软的人都只会点鼠标。年轻的时候不敲命令&#xff0c;什么时候可…

Codeforces Round #285 (Div. 2) D. Misha and Permutations Summation 康托展开 + 线段树

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 首先肯定不能模n!n!n!&#xff0c;所以考虑先将a,ba,ba,b做一个逆康托展开&#xff0c;得到a′,b′a,ba′,b′数组&#xff0c;以及a′b′sumabsuma′b′sum数组&#xff0c;让后我们可以通…

「PowerBI」使用TabularEditor进行PowerBIDeskTop模型开发最佳实践

前面系列文章介绍的场景&#xff0c;设定的工具使用对象是Sqlserver和Azure 的SSAS数据模型开发&#xff0c;其实TabularEditor亦可以有限度地使用在PowerBIDeskTop的模型开发上&#xff0c;本文简单介绍下其最佳的使用场景。PowerBIDeskTop模型不同于Sqlserver的SSAS模型虽然大…

E:Modular Stability(组合数)

Modular Stability 思路 (((xmoda1)moda2)……modak−1)modak(((xmodp1)modp2)……modpk−1)modpk(((x \mod a_1) \mod a_2) …… \mod a_{k - 1}) \mod a_{k} (((x \mod p_1) \mod p_2) …… \mod p_{k - 1}) \mod p_{k}(((xmoda1​)moda2​)……modak−1​)modak​(((xmodp…

E:K-periodic Garland(DP)

思路 每个点我们有两种决策&#xff0c;其值为0或1&#xff1a; 如果点我们放置0的话&#xff0c;我们有其前一位数字是零&#xff0c;或者其前一位数字是一。 如果这个点我们放置1的话&#xff0c;我们有其前面是按照每k个数字都出现一次1的排列&#xff0c;也有可能其前面…

Codeforces Round #740 (Div. 2) F. Top-Notch Insertions 线段树 / 平衡树 + 组合数学

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 考虑最终的序列是什么鸭子的&#xff0c;首先序列肯定单调不降&#xff0c;也就是a1≤a2≤a3≤...≤ana_1\le a_2\le a_3\le ...\le a_na1​≤a2​≤a3​≤...≤an​&#xff0c;显然不可…

沃尔玛招聘.NET软件工程师

做为码农, 你可能会知道BAT, 微软, google, oracle, facebook等公司, 然而你知道沃尔玛吗? 在最新公布的2019年世界500强里(http://www.fortunechina.com/fortune500/c/2019-07/22/content_339535.htm?沃尔玛领先阿里巴巴181名.百度不是世界500强沃尔玛领先T公司236名沃尔玛领…

E:Three Blocks Palindrome(hard and easy)(树状数组 ? 前缀和?)

Three Blocks Palindrome (hard version) 思路 考虑到每个数字的范围是12001 ~ 2001 200&#xff0c;于是我们可以通过枚举两侧的元素来寻找最优答案。 我们有一个贪心策略&#xff0c;两侧都以我们枚举的元素作为结尾点&#xff0c;假如我们当前枚举的数字是1&#xff0c;于…

Codeforces Round #731 (Div. 3) G. How Many Paths? dfs + 拓扑 + 思维

传送门 题意&#xff1a; 给你一张nnn个点mmm条边的图&#xff0c;让你对每个点确定一个编号&#xff0c;规则如下&#xff1a; (1)(1)(1) 对于不能到的点编号为000。 (2)(2)(2) 对于只有一条路径能到这个点的点编号为111。 (3)(3)(3) 对于有不止一条路径能到这个点的点编号为…

.NET Core 3.0深入源码理解HttpClientFactory之实战

写在前面前面两篇文章透过源码角度&#xff0c;理解了HttpClientFactory的内部实现&#xff0c;当我们在项目中使用时&#xff0c;总会涉及以下几个问题&#xff1a;HttpClient超时处理以及重试机制HttpClient熔断器模式的实现HttpClient日志记录与追踪链接下来我们将从使用角度…

F:Maximum White Subtree(树形dp)

Maximum White Subtree 思路 如果考虑其覆盖范围只会到其子树上&#xff0c;不会到其父节点上的话(假设的情况)&#xff0c;这道题就非常好写了&#xff0c;就是一个简单的自底向上传递的树形dpdpdp。所以我们还要考虑的就是连接其父节点&#xff0c;因此我们只需要再进行一个…

树莓派 + Windows IoT Core 搭建环境监控系统

前言&#xff1a;Windows IoT 是微软为嵌入式开发板设计的一种物联网操作系统&#xff0c;运行Windows UWP&#xff08;C# 开发&#xff09;&#xff0c;可以设计出丰富的交互界面&#xff0c;驱动GPIO&#xff0c;连接一些传感器做有意思的事&#xff0c;本文详细介绍如何使用…

CF1547F Array Stabilization (GCD version) st表 + 尺取/二分

传送门 题意&#xff1a; 思路&#xff1a; 容易发现&#xff0c;我们将所有aaa都除上所有aaa的gcdgcdgcd&#xff0c;实际上就是让你求一个最小的lenlenlen&#xff0c;对于所有iii&#xff0c;gcd(ai,ai1,...,ailen−1)1gcd(a_i,a_{i1},...,a_{ilen-1})1gcd(ai​,ai1​,...…

Gauss高斯消元——模板

就是线性代数的初等行变化&#xff1a; 倍加。倍乘。交换行。 #include <bits/stdc.h> #define mp make_pair #define pb push_backusing namespace std;typedef long long ll; typedef pair<int, int> pii; typedef unsigned long long ull;const double pi ac…

.net持续集成测试篇之Nunit文件断言、字符串断言及集合断言

使用前面讲过的方法基本上能够完成工作中的大部分任务了,然而有些功能实现起来还是比较麻烦的,比如说字符串相等性比较不区分大小写,字符串是否匹配某一正则规则,集合中的每一个(某一个)元素是否符合特定规则等,Nunit提供了一些特定的方法用来实现一些用普通断言比较难以实现的…

Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)

Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况&#xff1a; ac/ba c / bac/b这个时候两个的单价是相同的&#xff0c;如果b1b 1b1&#xff0c;也就是aca cac&#xff0c;无论买多少数量的东西&#xff0c;这两个的价格都是一样的&…

Technocup 2020 - Elimination Round 2 E. Rock Is Push dp

传送门 文章目录题意&#xff1a;思路题意&#xff1a; 给你一个nmnmnm的方格&#xff0c;你初始在(1,1)(1,1)(1,1)点&#xff0c;有些位置有箱子&#xff0c;你可以走到某个位置向你的方向推动这个箱子&#xff0c;箱子不能出界&#xff0c;问你走到(n,m)(n,m)(n,m)有多少种方…

HttpClientFactory 使用说明 及 对 HttpClient 的回顾和对比

在 C# 中&#xff0c;平时我们在使用 HttpClient 的时候&#xff0c;会将 HttpClient 包裹在 using 内部进行声明和初始化&#xff0c;如&#xff1a;using(var httpClient new HttpClient()){ }至于为什么&#xff1f;无外乎是&#xff1a;项目代码中就是这样写的&#xf…

Codeforces Round #653 (Div. 3)(A, B, C, D, E1详解)

Codeforces Round #653 (Div. 3) Required Remainder Thinking(binary search) 既然是找最大值问题&#xff0c;我又懒得去推式子&#xff0c;于是我直接就上了一个二分&#xff0c;二分写法比结论稍微繁琐了一点吧&#xff0c;但是还是挺好想的。 根据题意&#xff0c;我们…

记录用友T+接口对接的心酸历程

前言&#xff1a;公司的业务主要是对接财务系统做单据传输或者凭证处理的&#xff0c;难免少不了和各大财务软件做数据对接&#xff0c;其中当然是必须通过接口来传递数据了。于是乎&#xff0c;用友T的版本来了&#xff0c;对接的工作自然是我来做&#xff0c;可没想到就是这样…