BZOJ 4104 [Thu Summer Camp 2015]解密运算
来源:互联网 发布:java private class 编辑:程序博客网 时间:2024/06/09 19:09
恩。。夏令营。。
#include <cstdio>#include <algorithm>using namespace std;const int N = 200001;#define FOR(i, j, k) for (i = j; i <= k; i ++)int a[N], b[N], c[N], d[N], e[N];bool cmp(int x, int y) { if (a[x] != a[y]) return a[x] < a[y]; else if (b[x] != b[y]) return b[x] < b[y]; else return x < y;}int main() { int i, n, m, x = 0; scanf("%d%d", &n, &m); FOR(i,0,n) scanf("%d", &a[i]), b[i] = a[i], c[i] = i; sort(b, b + n + 1); sort(c, c + n + 1, cmp); FOR(i,0,n) d[c[i]] = i; for (i = n - 1; i >= 0; i--) e[i] = a[x], x = d[x]; FOR(i,0,n-1) printf("%d ", e[i]); return 0;}
4104: [Thu Summer Camp 2015]解密运算
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 155 Solved: 94
[Submit][Status][Discuss]
Description
对于一个长度为N的字符串,我们在字符串的末尾添加一个特殊的字符"."。之后将字符串视为一个环,从位置1,2,3,...,N+1为起点读出N+1个字符,就能得到N+1个字符串。
比如对于字符串“ABCAAA”,我们可以得到这N+1个串:
ABCAAA.
BCAAA.A
CAAA.AB
AAA.ABC
AA.ABCA
A.ABCAA
.ABCAAA
接着我们对得到的这N+1个串按字典序从小到大进行排序(注意特殊字符“.”的字典序小于任何其他的字符)结果如下:
.ABCAAA
A.ABCAA
AA.ABCA
AAA.ABC
ABCAAA.
BCAAA.A
CAAA.AB
最后,将排序好的N+1个串的最后一个字符取出,按照顺序排成一个新的字符串,也就是上面这个表的最后一列,就是加密后的密文“AAAC.AB”。
请通过加密后的密文求出加密前的字符串。
Input
第一行有两个整数N,M,分别表示加密前的字符串长度和字符集大小,其中字符用整数1,2,3,...,M编号,添加的特殊字符“."用0编号。
第二行为N+1个整数,表示加密后的字符串。
Output
输出仅一行,包含N个整数,用空格隔开,依次表示加密前字符串中每个字符的编号。
Sample Input
6 3
1 1 1 3 0 1 2
1 1 1 3 0 1 2
Sample Output
1 2 3 1 1 1
HINT
#i (i=1~4) N=5*(i+1) M<=3
#5~6 N,M<=50 字符串中字符互不相同
#7~8 N,M<=1000 字符串中字符互不相同
#9~12 N,M<=1000
#13~#20 N,M<=200000
0 0
- BZOJ 4104 [Thu Summer Camp 2015]解密运算
- bzoj 4104: [Thu Summer Camp 2015]解密运算
- bzoj 4104: [Thu Summer Camp 2015]解密运算 乱搞
- BZOJ 4104: [Thu Summer Camp 2015]解密运算
- 4104: [Thu Summer Camp 2015]解密运算
- BZOJ4104 [Thu Summer Camp 2015]解密运算
- 【bzoj4104】[Thu Summer Camp 2015]解密运算 乱搞
- bzoj 4103: [Thu Summer Camp 2015]异或运算
- BZOJ 4103: [Thu Summer Camp 2015]异或运算
- BZOJ 4105: [Thu Summer Camp 2015]平方运算
- [BZOJ4105][Thu Summer Camp 2015]平方运算
- BZOJ 4103 [Thu Summer Camp 2015]异或运算 可持久化Trie
- 【BZOJ 4103】[Thu Summer Camp 2015]异或运算 可持久化trie树
- bzoj 4103: [Thu Summer Camp 2015]异或运算 可持久化trie
- 4103: [Thu Summer Camp 2015]异或运算
- bzoj4103[Thu Summer Camp 2015]异或运算
- 4103: [Thu Summer Camp 2015]异或运算
- 【bzoj4103】 【Thu Summer Camp 2015】【异或运算】【可持久化trie】
- JAVA中获取当前系统时间
- mark
- Storm/Cassandra集成错误:NoSuchMethodError: concurrent.Futures.withFallback
- 触发JVM进行Full GC的情况及应对策略
- 组件------BroadcastReceiver
- BZOJ 4104 [Thu Summer Camp 2015]解密运算
- Objective-C之KVC、KVO
- javascript常用的正则表达式
- HTML 5 <input> placeholder 属性
- 【iOS】去掉Tabbar顶部线条
- 文章标题
- Android Design - Photoshop 基本配置(1) - 画布大小
- Android,App 常用图标尺寸规范
- TweenMax 三(实例)