FFT,NTT,FWT模板

-------------"<<T<<endl;int len=2;for(i=1;(1<<i)<(n+m-1);i++)len<<=1;getrev(i);solve('P',len,n,m);solve('S',len,n,m);s


HDU3949 XOR(线性基)

HDU3949 XOR(线性基)题目:给你$n$个数,从其中随便取任意数问你第$k$小的异或和是多少。题解:这题是线性基的应用之一。我们知道一个集合的线性基可以异或出这个集合的所有异或和,并且方法唯一。对于一个数x能否被异或出来,我们可以这样做,假设x的最高位为r,那么在线性基里面找到最高为也为r的


codeforces1093 G_Multidimensional Queries

codeforces1093 GMultidimensional Querieshttps://codeforces.com/contest/1093/problem/G题意:给你n个k维空间上的点,定义两点间距离为他们的曼哈顿距离,有两个操作:1.把第i个点换成另一个点b2.查询第i个点到第j个点


CodeForces1036 F Relatively Prime Powers(莫比乌斯容斥)

CodeForces1036 F Relatively Prime Powers(莫比乌斯容斥)传送门题意:对于一个数$x$,它可以表示成$x=2*3*5^....$现在如果一个数$a$是好数它满足$gcd(e_1,e_2,....)=1$,问你2到n有多少个数是好数。题解:对于这题,我们可以很快想


CodeForces_937C Save Energy!(贪心)

http://codeforces.com/gym/101532/problem/A题意给定长度为n的数,要求求所有子区间内的数进行与运算(&)的和;解题报告对于一个数来说变成二进制的后可以变成二进制数位之和,例如:7=120+1*21+12^2; 11=120+1*21+023+1*24


CodeForces1024 Petya and Array(cdq分治_树状数组)

CodeForces1024 Petya and Array(cdq分治/树状数组)传送门题意:给你长度为n的序列,问你有多少个子区间和小于等于$t$题解:这题其实就是树状数组求逆序对的推广。树状数组是肯定可以做的,我这里用了cdq分治的方法做了(感觉难敲了挺多)。#include<bits/


CodeForces_919D Substring(拓扑排序+记忆化搜索(dp))

http://codeforces.com/problemset/problem/919/D题意:就是让你输入n字母,并且有m个关系都是a指向b的格式的,然后题目说路的价值是指一条路中字母最大的重复次数,问你最大是多少。解题思路:一开始的时候是想直接用记忆化搜索的,后来发现要判断是否成环,这里两种判


codeforces gym102471 C Dirichlet k-th root

codeforces gym102471 C Dirichlet k-th root题目:有$g=f^k$,其中这里的乘指的是狄利克雷乘积。现在,已知g求f(f不一定为积性函数)题解:有$g(n)=fk(n)$对于这种公式,首先我们应该想到两种方法,一种是$g{\frac{1}}(n)=f(n)$,