7
11
2016
11
2016
July 11th 考试改错+总结
T1 排列perm
给定一个1~n的排列P,并规定操作:
选择排列中任意一段长度为2*b的区间,交换前半部分与后半部分
操作若干次所得到的所有排列的集合中,求原排列P是字典序从小到大第几个。
一个全排列,每次交换相邻两个数,可以得到所有全排列。但b>1时不成立。相邻的两次相同的交换操作没有意义,但如果两次相同交换操作不相邻则可能产生新的排列。
b==1时:
已知全排列求名次:康托展开 树状数组O(nlogn)
已知名次求排列:康托逆展开
bzoj3301
1、题目都要看,暴力分要拿稳。这也是需要能力的。
7
9
2016
9
2016
July 9th考试改错+总结
惨淡的成绩,老师却从不奇怪我是不是哪里写挂了,或者评测有些问题,分数该更高点的。空着的座位,也好。爸爸十分费心想给我创造好的条件,无奈的方式换来的是预想到的不理解。。有那么一瞬间心碎,但一定会努力向前!
6
30
2016
30
2016
【合集】Splay练习
Splay的每个节点记录该节点对应子树的信息。
用Splay的提根操作达到了区间操作的目的。
区间翻转操作:
递归交换左右子树。只与节点编号相关的信息,不需要特别更新。
因为交换的过程相当于交换子节点指针t的过程,修改的只是父子节点的关系,没有修改子树本身的任何信息。
6
20
2016
20
2016
【bzoj4553】【Tjoi2016&Heoi2016】【DP】【CDQ分治】序列
题意:
给定若干字符串,第二个字符串开始的每个字符串都是由第一个字符串改变某一位的数得到的。
求最长的子序列,使得在所有字符串中均不降。
所有数字<=10^5
【对满足某条件的最长子序列dp==>矩形最大值+加点】