传送门:http://tyvj.cn/Problem_Show.aspx?id=1729文艺平衡树From admin背景 Background此为平衡树系列第二道:文艺平衡树描述 Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,...
分类:
其他好文 时间:
2014-07-22 00:25:35
阅读次数:
248
题意:
n个数字一开始排成一串 有两个指针L和R 指向了这串数字的一个区间的端点 现在有7种操作
1、使一个指针左移
2、使一个指针右移
3、在L后插入一个数字X
4、在R前插入一个数字X
5、删除L所指元素
6、删除R所指元素
7、翻转[L,R]区间
问 m次操作后 整串数字是什么样的
思路:
splay经典维护区间的操作 区间更新(翻转操作) 删除节...
分类:
其他好文 时间:
2014-07-20 22:12:53
阅读次数:
337
双向链表注意:如果算法是最后处理翻转情况时,注意指令4翻转后1,2两个指令也要翻转处理; 指令3 中交换盒子要注意两个盒子相邻的情况 1 #include 2 #include 3 using namespace std; 4 5 int ri[100010],le[100010]; 6 ...
分类:
其他好文 时间:
2014-07-19 17:15:13
阅读次数:
154
题意:给你一个3*3的翻转模版,深色部分表示翻转,浅色部分不变。然后你可以在r*c的矩形里依照模版进行翻转,要求所有点亮所有块。输出最小的步骤。思路:有一点比较好想。每个块至多被翻转一次,翻两次的效果是一样的。这样可以搜索,大约2^25,会超时。考虑剪枝。对于每次翻转,只会影响与它临近的几个块,也就...
分类:
其他好文 时间:
2014-07-19 00:31:44
阅读次数:
278
UIButton *downButtonOne = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, self.bounds.size.width, 50)]; [downButtonOne setImage:[UIImage imageNamed...
分类:
其他好文 时间:
2014-07-18 18:34:16
阅读次数:
191
UVA 10294 - Arif in Dhaka (First Love Part 2)
题目链接
题意:给定n个珠子,t种颜色, 问能组成几个项链和手镯(手镯能翻转,项链不能)
思路:利用Burnside求解,推理出旋转的循环个数是gcd(i, n),翻转的分为奇偶情况考虑
代码:
#include
#include
const int N = 30;
in...
分类:
其他好文 时间:
2014-07-18 15:12:41
阅读次数:
215
题意:
一个充满0和1的矩形 最多将k个数字翻转 问 最少翻转几个数字可以使所有0或1的连通块都是矩形 如果不可能输出-1
思路:
首先 如果确定了一行 那么整个矩形就确定了
因为在最后的状态中 每一行要么与确定的行完全一致 要么完全相反 这才能保证连通块都是矩形
然后 本题k很小 因此可以分类讨论
如果 max(n,m)k 那么至少有一行或者一列是没有被修改的 那么可以枚举...
分类:
其他好文 时间:
2014-07-18 12:25:56
阅读次数:
189
给n*m的0/1矩阵,q次操作,每次有两种:1)将x,y位置值翻转 2)计算以(x,y)为边界的矩形的面积最大值
(1?≤?n,?m,?q?≤?1000)...
分类:
其他好文 时间:
2014-07-17 16:12:24
阅读次数:
217
【程序员编程艺术】学习记录1:左旋转字符串之指针翻转法
题目:左旋转字符串
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(n)
思路一、暴力移位法
//暴力移位法
void leftshiftone(char *s, ...
分类:
其他好文 时间:
2014-07-17 11:06:47
阅读次数:
216
题意:
将一列数字排序 排序规则是 每次找到最小值的位置loc 将1~loc所有数字颠倒 然后删掉第一位 直到排好序 排序要求是稳定的
思路:
这题要做的是 寻找区间最小值位置 翻转区间 的操作 因此可以想到用splay
只需要每个节点记录一个small 就可以实现找到最小值位置
翻转区间操作就是将splay的超级头转到最上面使之成为根 再把loc转到根下面 这时根的右儿子的左儿子就是需要翻转的区间 用一个rev延迟更新 然后将loc转到最上面是指成为根 删掉根 如此循环...
分类:
其他好文 时间:
2014-07-17 10:53:28
阅读次数:
217