相信功不唐捐。
11
2016
July 11th 考试改错+总结
T1 排列perm
给定一个1~n的排列P,并规定操作:
选择排列中任意一段长度为2*b的区间,交换前半部分与后半部分
操作若干次所得到的所有排列的集合中,求原排列P是字典序从小到大第几个。
一个全排列,每次交换相邻两个数,可以得到所有全排列。但b>1时不成立。相邻的两次相同的交换操作没有意义,但如果两次相同交换操作不相邻则可能产生新的排列。
b==1时:
已知全排列求名次:康托展开 树状数组O(nlogn)
已知名次求排列:康托逆展开
bzoj3301
1、题目都要看,暴力分要拿稳。这也是需要能力的。
9
2016
July 9th考试改错+总结
惨淡的成绩,老师却从不奇怪我是不是哪里写挂了,或者评测有些问题,分数该更高点的。空着的座位,也好。爸爸十分费心想给我创造好的条件,无奈的方式换来的是预想到的不理解。。有那么一瞬间心碎,但一定会努力向前!
30
2016
【合集】Splay练习
Splay的每个节点记录该节点对应子树的信息。
用Splay的提根操作达到了区间操作的目的。
区间翻转操作:
递归交换左右子树。只与节点编号相关的信息,不需要特别更新。
因为交换的过程相当于交换子节点指针t的过程,修改的只是父子节点的关系,没有修改子树本身的任何信息。
19
2016
【NOI模拟赛#4 T2】Zbox loves stack
题意:
有n个栈,要求支持如下操作:
*.把第l个栈到第r个栈都压入一个元素x
*.把第l个栈到第r个栈都弹出栈顶(若栈为空则无视)
*.询问第s个栈的第k个元素是多少(栈顶为第一个元素)
神(he)奇(he)的数据范围= =:(时限4s)
对于10%的数据,n<=5000,q<=5000
对于30%的数据,n<=100000,q<=30000
对于另外10%的数据,保证没有t=1的操作
对于另外10%的数据,所有t=0的操作满足l=r
对于另外10%的数据,所有t=1的操作满足l=r
对于另外10%的数据,所有t=2的操作满足k=1
对于另外10%的数据,保证不会输出"Error"
对于100%的数据,n<=1000000,q<=100000,所有输入的数在[0,2^31-1]之间
16
2016
【bzoj1783】【Usaco2010 Jan】【博弈】Taking Turns
题意:
一排数,两个人轮流取数,保证取的位置递增,每个人要使自己取的数的和尽量大,求两个人都在最优策略下取的和各是多少。