摘要: 1 n d v相当于给$a[x]+=v[\gcd(x,n)=d]$\[\begin{eqnarray*}&&v[\gcd(x,n)=d]\\&=&v[\gcd(\frac{x}{d},\frac{n}{d})=1]\\&=&v\sum_{k|\gcd(\frac{x}{d},\frac{n}{d})... 阅读全文
posted @ 2015-01-07 19:38 Claris 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 注意到集结操作相当于合并一些点于是我们可以使用并查集对于每一行、每一列维护一个链表,储存里面的点查询x时,在并查集中找到x的祖先u,此时x的坐标就是u的坐标然后扫描u所在行列的链表,依次删除每个点,并把这些点合并成一个新点,同时计算贡献对于修改操作,可以看作是分离,新建一个点代表修改后的点,然后对于... 阅读全文
posted @ 2015-01-07 17:35 Claris 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 对于每个位置求出L[i]表示左边最大的j,满足从j开始到i-1中存在第一个子序列R[i]表示右边最小的j,满足从j开始到i-1中存在第二个子序列然后枚举颜色是相遇点的位置,如果L[i]左边、R[i]右边存在一样的颜色,则可行#include#define N 1000010inline void r... 阅读全文
posted @ 2015-01-07 17:09 Claris 阅读(616) 评论(0) 推荐(0) 编辑