国庆集训Day1】的更多相关文章

国庆集训 Day1 T2 生成图 现在要生成一张\(n\)个点的有向图.要求满足: 1.若有 a->b的边,则有 b->a 的边 2.若有 a->b 的边和 b->c 的边,则有 a->c 的边 3.至少有一个点没有自环. 求方案数模上\(m\) \(n≤2000,2≤m≤1,000,000,007\) 样例: input 2 5 output 3 有点难度的DP,首先需要明确的是在一个连通图中每一个点都有自环(样例可体现),所以有点没有自环当且仅当这一个点独立为一个联通块.…
牛客2018国庆集训 DAY1 D Love Live!(01字典树+启发式合并) 题意:给你一颗树,要求找出简单路径上最大权值为1~n每个边权对应的最大异或和 题解: 根据异或的性质我们可以得到 \(sum_{(u, v)}=sum_{(u, 1)} \bigoplus sum_{(v, 1)}\)那么我们可以预处理出所有简单路径上的异或值 对于路径上的最大权值来说,建图后,我们可以将边权进行排序,对于每一个权值为\(w_i(1-n)\)的连通块 现在我们已经得到了当前边权所在的连通块了,所以…
T1 统计数字 题目 [题目描述] 设 S(N ) 表示 N 的各位数字之和,如 S(484) = 4+8+4 = 16, S(22) = 2+2 = 4. 如果一个正整数满足 S(x*x) = S(x) *S(x),我们称之为 Rabbit N umber.比方说,22 就是一个 Rabbit N umber,因为 S(484) = S(22) *S(22). 现在,给出一个区间 [L, R],求在该区间内的 Rabbit N umber 的个数. [输入格式] 输入仅一行,为空格隔开的两个数…
T1 divide 题意: 有\(n\)个数 \(a_1, a_2,..., a_n\) 有m个数\(b_1, b_2,..., b_n\) 令\(a = a_1\times a_2\,\times ... \times \,a_n\) 令\(b = b_1\times\,b_2 \times\,...\,\times\,b_n\) 判断\(a\)是否是\(b\)的倍数 输入:\(n,m\) 输出:\(Yes / No\) 做法:就是个一简单的质因数分解 #include<cstdio> #i…
题目链接:https://ac.nowcoder.com/acm/contest/1099/I 点分治,计算路径数的时候,先将每个点到根的距离模2019,计算的时候就可以O(n)求出数目,对于模2019之后为0的进行特殊处理. #include<iostream> #include<algorithm> #include<vector> using namespace std; #define maxn 100005 #define inf 0x3f3f3f3f int…
目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 作为钦钦草原最绿的男人,杨某针每天都要开车巡视钦钦草原一圈. 钦钦草原由 n 个城市组成,m 条双向道路连接着它们.经过第 i 条道路要花费的时间是\(2^i\). 杨某针想要经过每条道路至少一次,在此基础上他想最小化他花费的时间.但作为…
牛客国庆集训派对Day6 A Birthday:https://www.nowcoder.com/acm/contest/206/A 题意: 恬恬的生日临近了.宇扬给她准备了一个蛋糕. 正如往常一样,宇扬在蛋糕上插了n支蜡烛,并把蛋糕分为m个区域.因为某种原因,他必须把第i根蜡烛插在第ai个区域或第bi个区域.区域之间是不相交的.宇扬在一个区域内同时摆放x支蜡烛就要花费x2的时间.宇扬布置蛋糕所用的总时间是他在每个区域花的时间的和. 宇扬想快些见到恬恬,你能告诉他布置蛋糕最少需要多少时间吗?  …
自闭集训 Day1 组合计数 T1 \(n\le 10\):直接暴力枚举. \(n\le 32\):meet in the middle,如果左边选了\(x\),右边选了\(y\)(且\(x+y\le B\)),那么对答案的贡献就是 \[ {B-x-y+n-1\choose n-1} \] 根据范德蒙德恒等式 \[ {a+b\choose n} =\sum_{i=0}^n {a\choose i}{b\choose n-i} \] 所以上面可以拆开成 \[ \sum_{i=0}^{n-1} {C…
自闭集训 Day1 数据结构 CF643G 用类似于下面的方法,搬到线段树上. 如何合并两个集合?先全部放在一起,每次删掉最小的\(cnt_i\),然后把其他所有的\(cnt\)都减去\(cnt_i\),直到还剩下\(k\)个. \(O(n)\)众数 如果众数出现次数大于\(n/2\),那么搞一个\(cnt\)和一个\(ans\).从左往右扫,如果与\(ans\)相同那么\(++cnt\),否则\(--cnt\).如果\(cnt<0\)那么更换\(ans\). 如果大于\(n/3\),那么搞两个…
LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set $ solution: $ 这一题的重点在于优先级问题,我们应该先保证总和最大,然后再保证某一个最小.于是我们分两部分贪心:(注意 $ tot $ 表示左右元素的异或和) 首先我们要让总和最大的话,我们只需要讨论 $ tot $ 的某一位为0的情况(如果为1,那么不管怎么分配两边的数都只能并且一定有一个数,使它这一位上含有1).对于 $ tot $ 的某一位为0的情况,我们肯定贪心的让两边都在这一位上含有…