今年参加省选,纯属看题 + 感受气氛,虽然不知道明年的自己是否还行走在这条坎坷的路上。
给定 n 和 X0,X1,...,Xn-1,求解 Y0,Y1,...,Yn-1,其中:
f(x) 等于把 x 写成二进制后 1 的个数,比如说:
f(0)=0 , f(1)=1 , f(4)=1 , f(7)=3
其中 表示二进制下的按位异或运算。
请依次输出 Y0,Y1,...,Yn-1 对 取模的结果。
At the children's day, the child came to Picks's house, and messed his house up. Picks was angry at him. A lot of important things were lost, in particular the favorite sequence of Picks.
Fortunately, Picks remembers how to repair the sequence. Initially he should create an integer array a[1], a[2], ..., a[n]. Then he should perform a sequence of m operations. An operation can be one of the following:
Can you help Picks to perform the whole sequence of operations?
感觉老是在博客上写计划没什么意思,而且写点总结和题解应该也有助于加深印象,所以从今天开始要频繁更新了~
今天听yxj讲了一整天的序列相关,东西真是太多了,我想应该要把这些东西好好消化一下= =
首先是莫队算法。
莫队算法是对于一个长度为n的序列A(A1,A2...An),m个询问{L,R},回复(AL,AR)中随机取出两个数相同的概率。(题目详情请见BZOJ2038小Z的袜子)
其思想这里不再赘述,请见论文。。。
据说曼哈顿MST实现的现在并不常用了,而分块是比较常用的思想。
复杂度:O(n sqrt(n)log n)
T1:统计满足Ai mod Ci != 0且Ai & Ai+1 = 0的序列Ai数量。
Hint:20%的数据 N=10,M=2;另有40%的数据N=50,M=5;剩余的数据N=50,M=15。
Solutions:
20分算法:暴力搜索即可;
60分算法:据说还有暴力方法可以拿到60分。
100分算法:学长推倒出了神奇的矩阵:可以用于表示出对于序列中的第k个元素取i值d[i] = j,j为可行方案数量。
如图所示是一个4*4的该矩阵,横行i表示第k个元素可以取的i值d[i],纵列表示取d[i]时产生的解的数量,现在要做的实际上是通过这样一个4*4的子矩阵利用Dp求出一个2^m*2^m的矩阵。
Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com