您的位置:首页 > 其它

2016-5-25授课(3)

2016-05-27 23:02 225 查看

数据结构

T1

http://www.cnblogs.com/showson/p/4496039.html

T2

description

给定N个正整数

对于一个询问\((l,r)\),你需要求出\(\max(A_i\ xor\ A_{i+1}\ xor\ A_{i+2} ... xor\ A_j)\),其中\(l \leqslant i \leqslant j \leqslant r\)

\(N \leqslant 12000, M \leqslant 6000\)

强制在线

solution

求前缀和以后即变为求区间里两个数的异或最大值。

分块维护即可

T3 CF163E

description

给你一些串,有串的出现和消失两个操作,动态查询一个串的子串有多少个出现了

solution

在AC自动机的fail树上点修改链询问。

T4 [Noi2011]阿狸的打字机

solution

离线之后在AC自动机的fali树上点修改,子树询问。

T5 [Sdoi2013]森林

solution

启发式合并+主席树

图论

T1 CF274D

description

给你一个\(n \times m\)矩阵,矩阵的每个元素是\(1...9\)或者\(-1\)

你需要选择一个列的排列,使得矩阵的每行去掉\(-1\)之后是单调非降的

\(n \times m \leqslant 10^5\)

solution

拓扑排序,需要加入中间点防止边数过多。

T2 2016清华校赛 B

description

有一个n*m的未知矩阵R,矩阵的每个元素都是0到k的整数

有c个约束条件,每个约束条件是以下的一种

\(1.R(x_1,y_1)+R(x_2,y_2)<S\)

\(2.R(x_1,y_1)+R(x_2,y_2)>S\)

其中\(|x_1-x_2|+|y_1-y_2|=1\)

你需要输出,是否满足所有条件的矩阵,如果有,是否唯一

solution

由于是二分图,所以可以变为差,转化为查分约束系统。

据说解是否唯一可以通过跑最大解和最小解来判断(跑最长路和最短路)。

T3 CF160D

description

给定n个点m条边

询问每条边属于以下哪种情况

1.一定在最小生成树上

2.可能在最小生成树上

3.一定不在最小生成树上

solution1

在做kruskal的时候考虑一组权值相同的边。

若一条边两个端点已经在一个联通块,则一定不在最小生成树上。

否则有可能在,特别的,如果是桥则一定在。

和bzoj1016的思路基本一致

solution2

先求出最小生成树

则最小生成树上的边有可能在,不放先假设他们一定,之后再作修正。

考虑剩下的边,若它加入以后形成的环的最大值小于它,那么一定不在,等于它的话所有等于它的边都应该被标记为可能。

打标记有两种思路,一种是倍增数组,一种是类似树形dp.

T4 SPOJ - COMPANYS

description

给你一个带权无向图,每条边非白即黑,

现要构造一个生成树使得恰有K条白色的边,使权值和最小

solution

二分无限制的最小生成树和有限制的最小生成树的差,均摊到每个白色的边上。

T5 [Sdoi2010]星际竞速

。。。看错题了,确实是有上下届的费用流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: