解题:HAOI 2015 按位或】的更多相关文章

题面 Min-Max容斥:对于集合S $min(S)=\sum_{s∈S}(-1)^{|s|+1}max(s)$ $max(S)=\sum_{s∈S}(-1)^{|s|+1}min(s)$ 那么这个题就比较板子了,$min(s)$就是$s$任意一位有值的期望,也就是某个数字和$s$有交 不太好求?再容斥一下转化成求$s$没交的,也就是补集,这是个子集和,可以FWT或者我不会的FMT #include<cmath> #include<cstdio> #include<cstri…
Description 题库链接 刚开始你有一个数字 \(0\) ,每一秒钟你会随机选择一个 \([0,2^n-1]\) 的数字,与你手上的数字进行或( \(\text{or}\) )操作.选择数字 \(i\) 的概率是 \(p_i\) .保证 \(0\leq p_i\leq 1\) , \(\sum_{i=0}^{2^n-1}p_i=1\) .问期望多少秒后,你手上的数字变成 \(2^n-1\) . \(1\leq n\leq 20\) Solution 不妨假设第 \(i\) 秒后状态为 \…
1963. [HAOI 2015] 树上操作 ★★★☆   输入文件:haoi2015_t2.in   输出文件:haoi2015_t2.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 有一棵点数为N的树,以点1为根,且树点有权值.然后有M个操作,分为三种: 操作1:把某个节点x的点权增加a. 操作2:把某个节点x为根的子树中所有点的点权都增加a. 操作3:询问某个节点x到根的路径中所有点的点权和. [输入格式] 第一行两个整数N,M,表示点数和操作数. 接下来一…
树链剖分裸题: 树剖点这里:传送门 代码: #include<bits/stdc++.h> #define sight(c) ('0'<=c&&c<='9') #define LL long long #define gc nc #define add(x,y) x+=(y) #define L(x) (x&-x) #define eho(x) for(int i=head[x];i;i=net[i]) #define N 100007 #define ab…
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a . 操作 3 :询问某个节点 x 到根的路径中所有点的点权和. Input 第一行包含两个整数 N, M .表示点数和操作数.接下来一行 N 个整数,表示树中节点的初始权值.接下来 N-1  行每行三个正整数 fr, to , 表示该树中存在一条边 (fr, to) .再接下…
Description 题库链接 给出一棵 \(n\) 个节点的树,边有权值.让你将树上 \(k\) 个点染黑,剩余 \(n-k\) 个点染白.染色后记一种染色方案的价值为黑点间两两距离和以及白点间两两距离和.求最大价值. \(0\leq k\leq n\leq 2000\) Solution 定义状态 \(f_{u,i}\) 表示以 \(u\) 为根的子树中选出了 \(i\) 个黑点的子树中最大价值. 转移的话就是考虑当前节点和枚举的儿子间的边被计算了几次. 树上背包复杂为 \(O(n^2)\…
[题目链接] 点击打开链接 [算法] 树链剖分 子树的DFS序是连续的一段! [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 100010 struct Edge { int to,nxt; } e[MAXN*]; int i,opt,n,m,q,x,y,val,tot,timer; int dfn[MAXN],pos[MAXN],head[MAXN],size[MAXN], son[MAXN],top[MAXN],…
题目 树剖裸题,这个题更可以深刻的理解树剖中把树上的节点转换为区间的思想. 要注意在区间上连续的节点,一定是在一棵子树中. #include <bits/stdc++.h> #define int long long #define ls left, mid, root << 1 #define rs mid + 1, right, root << 1 | 1 #define N 600100 using namespace std; int n, m, rot, mo…
目录 写在前面 一类反演问题 莫比乌斯反演 快速莫比乌斯变换(反演)与子集卷积 莫比乌斯变换(反演) 子集卷积 二项式反演 内容 证明 应用举例 另一形式 斯特林反演 第一类斯特林数 第二类斯特林数 反演公式 最值反演( \(\text{min-max}\) 容斥) 公式 证明 拉格朗日插值法 简介 求解 自然数的幂的前缀和 问题提出 问题解决 代码实现 写在前面 这是继数论和组合计数类数学相关与多项式类数学相关后的第三篇数学方面内容总结.主要记录自己近期学习的一些数学方法.内容比较杂,同时也起…
报同步赛的时候出了些意外.于是仅仅能做一做"滞后赛"了2333 DAY1 T1离线+离散化搞,对于相等的部分直接并查集,不等部分查看是否在同一并查集中就可以,code: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int t,n; int father[200001]; struct hp{ i…