12 2018 档案

摘要:题意:带修改的区间第k大 题解:树状数组套主席树,开n个主席树,用树状数组维护,先离散化,然后动态开点按权值插入到树状数组访问到的节点,然后修改也是同样的修改,查询需要在主席树上二分,同时维护树状数组所访问的那些节点,在主席树上跑即可 // pragma GCC optimize(2) // pra 阅读全文
posted @ 2018-12-20 21:58 walfy 阅读(163) 评论(0) 推荐(0)
摘要:题意:给两个排列,2种操作1,查询两个区间a和b一样的值个数,2,交换b的两个值 题解:树套树,先把a变成1到n的排列,对b做相同的变换,然后问题就变成了查询区间lb,rb中la到ra的个数,带修改可以树状数组套主席树,需要内存回收 // pragma GCC optimize(2) // prag 阅读全文
posted @ 2018-12-20 21:50 walfy 阅读(202) 评论(0) 推荐(0)
摘要:题意:区间mex 题解:主席树维护,按权值插入,维护区间最小值,第x颗线段树,区间l,r表示l到r在1到x出现最后的最早一个是哪个位置 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // p 阅读全文
posted @ 2018-12-15 15:01 walfy 阅读(177) 评论(0) 推荐(0)
摘要:题意:给定xy数组求 $\sum_{i=0}^{n 1}(x_i+y_{(i+k)\modn}+c)^2$ 题解:先化简可得 $n c^2+2 \sum_{i=0}^{n 1}x_i y_i+\sum_{i=0}^{n 1}x_i^2+y_i^2 2 \sum_{i=0}x_i y_{(i+k)\m 阅读全文
posted @ 2018-12-14 20:22 walfy 阅读(191) 评论(0) 推荐(0)
摘要:``` //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pragma GCC optimize(4) //#pragma GCC optimize("unroll-loops") //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-... 阅读全文
posted @ 2018-12-13 20:43 walfy 阅读(137) 评论(0) 推荐(0)
摘要:题意:求$\sum_{i_1=1}^m\sum_{i_2=1}^m...\sum_{i_n=1}^mgcd(i_1,i_2,...i_n)$ 题解:$\sum_{d=1}^md\sum_{i_1=1}^m...\sum_{i_n=1}^m[(i_1,...i_n)==d]$ $=\sum_{d=1} 阅读全文
posted @ 2018-12-12 17:15 walfy 阅读(223) 评论(0) 推荐(0)
摘要:题意:求数组的k次前缀和,取模 题解:ntt,构造k 1的前缀和,然后ntt,k 1次第i位的前缀和是C(k 1+i,i) // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma 阅读全文
posted @ 2018-12-10 19:54 walfy 阅读(200) 评论(0) 推荐(0)
摘要:求:$\sum_{i=1}^n\sum_{j=1}^m\mu(gcd(i,j))^2$ 化简可得$\sum_{i=1}^{min(n,m)}{\lfloor \frac{n}{i} \rfloor}{\lfloor \frac{m}{i} \rfloor}\sum_{d|i}\mu(d)^2 \mu 阅读全文
posted @ 2018-12-05 16:00 walfy 阅读(367) 评论(0) 推荐(0)