首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
loj #6247. 九个太阳
】的更多相关文章
loj #6247. 九个太阳 k次单位根 神仙构造 FFT求和原理
LINK:九个太阳 不可做系列. 构造比较神仙. 考虑FFT的求和原理有 \(\frac{1}{k}\sum_{j=0}^{k-1}(w_k^j)^n=[k|n]\) 带入这道题的式子. 有\(\sum_{i=0}^n\frac{1}{k}\sum_{j=0}^{k-1}(w_k^j)^iC(n,i)\) 颠倒求和符号 二项式定理合并即可klogn求. k次单位根在mod 998244353时就是 \(\frac{mod-1}{k}\) code //#include<bits/stdc++.h…
loj #6247. 九个太阳
求 $\sum\limits_{i=1}^n [k | i] \times C_n^i$ 膜 $998244353$ $n \leq 10^{15},k \leq 2^{20}$ $k$ 是 $2$ 的正整数次方 sol: “不看题解拿头做” 系列 考虑构造一个序列 $a_i$ 满足只有 $[k|i]$ 时是 $1$,其它时候是 $0$ 之后就开始神仙了起来 构造 $k$ 次单位根 $\omega _k = g^{\frac{p-1}{k}}$,发现 $\frac{1}{k} \times \s…
[BZOJ 5252][LOJ 2478][九省联考2018] 林克卡特树
[BZOJ 5252][LOJ 2478][九省联考2018] 林克卡特树 题意 给定一个 \(n\) 个点边带权的无根树, 要求切断其中恰好 \(k\) 条边再连 \(k\) 条边权为 \(0\) 的边重新连成一棵树, 最大化新树上某条路径的权值和. \(0\le k<n\le 3\times 10^5\). 边权的绝对值不超过 \(1\times 10^6\). 提示: 题目并不难 题解 当时场上做这题的时候根本不知道有wqs二分这种高端套路...看到提示之后果断跑路了qaq... 首先切断…
[LOJ #2473] [九省联考2018] 秘密袭击coat
题目链接 洛谷. LOJ,LOJ机子是真的快 Solution 我直接上暴力了...\(O(n^2k)\)洛谷要\(O2\)才能过...loj平均单点一秒... 直接枚举每个点为第\(k\)大的点,然后\(dp\)出方案数统计答案就好了. \(f[i][j]\)\(dfs\)下去的时候表示考虑到\(i\),有\(j\)个大于\(i\)的点的方案数,此时没有考虑儿子. 然后回溯的时候从叶子节点把儿子的影响加回来就好了. #include<bits/stdc++.h> using namespac…
[LOJ] 分块九题 4
https://loj.ac/problem/6280 区间修改,区间求和. 本来线段树的活. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cstdio> #include<cctype> #include<cmath> using namespace std; typedef long long ll; const int MAXN=500005…
[LOJ] 分块九题 3
https://loj.ac/problem/6279 区间修改,区间查询前驱. TLE无数,我觉得这代码最精髓的就是block=1000. 谜一样的1000. 两个启示: 块内可以维护数据结构,比如set 可以换换块大小,自造数据测试时间 //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<algorithm> #include<cstring> #include&…
[LOJ] 分块九题 2
https://loj.ac/problem/6278 区间修改,查询区间第k大. 块内有序(另存),块内二分. 还是用vector吧,数组拷贝排序,下标搞不来.. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> #i…
[LOJ] 分块九题 1
https://loj.ac/problem/6277 区间修改,单点查询. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cstdio> #include<cctype> #include<cmath> using namespace std; const int MAXN=500005; inline int read_d(){ int ret=…
[LOJ] 分块九题 8
区间查询数值+整体赋值 维护tag代表整个区间被赋成了tag[i] 用pushdown操作,而不是修改了再check. 不压缩代码了,调起来心累,长点有啥不好. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cmath> #include<cctype> #include<cstdio> using namespace std; inline int…
[LOJ] 分块九题 7
区间加法,区间乘法,单点查询. 洛谷线段树2 屡清加法乘法的关系,定义答案为 a*mut+add 对于整块: 新的乘w,mut和add都要乘w 新的加w,add加w //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cmath> #include<cstdio> #include<cctype> using namespace std; inline i…