摘要:
Code: 阅读全文
摘要:
Code: 阅读全文
摘要:
Code: 阅读全文
摘要:
显然,这是一道动归题。 我们发现,每次交换时只可能交换不同的字母(交换同类字母显然是没有意义的)。那么每次交换等同于将 111 个 "j""j""j" 变为 "z""z""z",一个 zzz 变为 "j&quo 阅读全文
摘要:
在一棵树上,我们要求点 $(u,v)$ 之间路径的第$k$大数。 对于点 $i$ ,建立 $i$ 到根节点的一棵前缀主席树。 简单容斥后不难得出结果为$sumv[u]+sumv[v]−sumv[lca]−sumv[fa[lca]]$ 其他的和主席树是一样的。 Code: 阅读全文
摘要:
挺裸的,没啥可讲的。不带修改的主席树裸题Code:#include#includeusing namespace std;const int maxn = 500000 + 5;int n, m ,root[maxn];struct Chair_Tree{... 阅读全文
摘要:
Code: 阅读全文
摘要:
Code:#include using namespace std;const int maxn=4000005;const int R=4000002;const int N=4000002;long long sumv[maxn... 阅读全文
摘要:
Code:#includeusing namespace std;typedef long long ll;const int maxn=10000000+1;long long mod;ll fac[maxn];ll inv[maxn];ll an... 阅读全文
摘要:
显然,横纵坐标要互质才能被看到。 处理出与横坐标 $i$互质的纵坐标的个数,求一遍前缀和即可。 阅读全文