day 1
Problem 1. 魔卡少女
题意:动态维护区间内所有子序列的异或和的和,单点修改。
解法:先做一个序列的异或前缀和
Si=Ai⊕Si−1
,于是查询就变成了询问
[l,r]
内的
∑i<jSj⊕Si
。注意到元素的大小只有
1000
,也就是不超过10个二进制位,这样我们可以维护每个位在区间内的个数,开10棵线段树,每次查询就是查询区间内0和1的个数然后乘一下,修改
Ap=x
的话就看新元素和旧元素每个位上有没有变化,如果有就对对应位的线段树上的
[p+1,n]
区间将0和1的个数交换一下即可。时间复杂度
O(n+10mlogn)
。
Problem 2.不稳定的传送门
题意:太麻烦了不说了。
解法:设
fi
表示第
i
个点到终点的最小期望代价。假设现在已经选了一些门并按照最优顺序走了,然后要判断走下一个门是否可以更优。设下一个门能够走到
Problem 3.寻宝
题意:太麻烦了不说了。
解法:先拓扑排序一次判断那些点是有用的,然后按照分数规划的模型二分答案
t
,设两个权值分别是
Problem 4.地图
题意:给一个矩阵,矩阵上的某些点是不知道状态的,计算使得给定(或者自己定)的三个点联通的方案数。
解法:无脑插头DP,状态存联通块的最小表示法,直接枚举每个位置填什么然后直接转移即可。
day2
Problem 1.染色大战
题意:???
解法:无脑博弈记忆化大爆搜,状态压缩下棋盘的局面,记忆化一下,然后爆搜枚举,当前状态要转移到下一个对手最劣状态就可以了。
Problem 2.QT与泰剧
题意:求
[l,r]
内和
r
模3同余且不完全由
解法:数位DP,设
f[i][j][k]
表示第
i
位取
Problem 3.项链
题意:太麻烦了不说了。
解法:将原串复制一次接到后面之后,做一次manacher,设原串长度为
Problem 4.小学生奥数
题意:求
∑ni=1i−1modpk
,其中
p≤105
。
解法:太长了新开一篇文。
http://blog.csdn.net/GEOTCBRL/article/details/50725904
//留坑待填