2019 牛客国庆集训day1 2019 点分治】的更多相关文章

题目链接: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…
2019牛客国庆集训派对day5 I.Strange Prime 题意 \(P=1e10+19\),求\(\sum x[i] mod P = 0\)的方案数,其中\(0 \leq x[i] < p - a[i]\) 做法 神仙容斥,太妙啦 首先考虑存在\(a[i] = 0\)时,其它数可任意选 枚举哪些位置违反条件进行容斥 列出式子发现,这简直就是二项式分解! 但当所有位置都违反时,不存在可能的解,所以需要把它剪掉,这也就是数据小于1e5的原因,简直太神奇了!…
链接:https://ac.nowcoder.com/acm/contest/1099/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K Special Judge, 64bit IO Format: %lld 题目描述 输入描述: 输出描述: For each test case, print an integer which denotes the result. 示例1 输入 复制 3 2 1 1 2 2 3 1 2 1 1…
链接:https://ac.nowcoder.com/acm/contest/1112/J来源:牛客网 题目描述 Bobo 有一个三角形和一个矩形,他想求他们交的面积. 具体地,三角形和矩形由 8 个整数 x1,y1,x2,y2,x3,y3,x4,y4x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4x1​,y1​,x2​,y2​,x3​,y3​,x4​,y4​ 描述. 表示三角形的顶点坐标是 (x1,y1),(x1,y2),(x2,y1)(x_1, y_1), (x_…
链接:https://ac.nowcoder.com/acm/problem/52800来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K Special Judge, 64bit IO Format: %lld 题目描述 给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量: 1. 1≤a≤n,1≤b≤m 2. a×b 是 2016 的倍数. 输入描述: 输入包含不超过 30 组数据.每组数据包含两个整数 n,…
链接:https://ac.nowcoder.com/acm/contest/1099#question A:可知符合条件的图中间肯定存在一个由1构成的矩形,找到由1构成矩形的边界,判断出现的1的数量等不等于矩形的面积即可. #include<bits/stdc++.h> using namespace std; ][]; int main() { int n, m; while(cin >> n >> m) { , x2 = ; , y2 = ; ; ;i <…
题目链接: 解法: 先建n颗平衡树,合并的时候将a中最右的结点翻转到根节点,b中最左的结点翻转到根节点,对合并后的根节点进行标记. #include <bits/stdc++.h> using namespace std; #define ls(p) p << 1 #define rs(p) p << 1 | 1 ; int n, m, cnt; int rt[M]; struct node{ ], val, cnt, sz, lazy; }spl[M]; bool i…
C 存每个值存在的位置,枚举末尾的值,再枚举前面的值,哈希二分出最长相同的,即剩下的为不同的 D \(f_{i,j,k}\)为前i位,最后一个3因子在j,次因子在k G bitset处理有多少位置符合的,有多少不符合的,然后按子集套即可…
题目链接: 题意:有n个点,n-1条单向边,每个点都销售一类商品 问从点1开始走,买第一样商品类型为x,买第二样商品类型为y,问不同有序对<x,y>的数量 解法: col[i]表示这个点的商品类型 last[col[i]]表示从1到点i过程中,点i的商品类型上次出现的时候的点的父亲 vis[col[i]]表示从1到点i过程中,点i的商品类型经过次数 num[i]表示从1到点i过程中不同商品类型数量和 每次扫到新的点v时,(u为v的父亲) num[u] - num[last[col[v]]]就是…
E. Grid 大意: 给定$n\cdot m$个点的图, 初始无边, $q$个操作, $(1,a,b)$表示第$a$列到第$b$列全连起来, $(2,a,b)$表示把第$a$行到第$b$行全连起来, 每次操作后输出连通块个数. 直接用$set$暴力模拟即可. 还有一种线段树做法, 设一共$a$行连通, $b$列连通, 可以发现答案是$nm-a(m-1)-b(n-1)+max(0,(a-1)(b-1))$, 可以用线段树维护$a$和$b$即可 #include <iostream> #incl…
题意:https://ac.nowcoder.com/acm/contest/1111/D 问你先减二x次的情况下,最少减几次3. 思路: %3不为0的要先减2,然后%3为0的要先减大的(比如9 3 3 会比3 3 9 更优) #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <cstdio>//sprintf islower isupper #include <cstdlib>//malloc exit…
题意:https://ac.nowcoder.com/acm/contest/1109/C 问你有几个x满足A,B集合都能XOR出x. 思路: 就是线性基求交后,有几个基就是2^几次方. #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <cstdio>//sprintf islower isupper #include <cstdlib>//malloc exit strcat itoa system(&…
题意:https://ac.nowcoder.com/acm/contest/1107/J n个点的完全图编号0-n-1,第i个点的权值为2^i,原先是先手选取一些边,然后后手选取一些点,满足先手选取的所有边对应的两点至少要有一个,并且总的权值和最少,现在给你后手选取的点得权值和,求先手选取边的方案数(就是先手选取完一些边,要求后手选一些点使所有边都被覆盖到并且权值和最小,现在告诉你后手的权值和问你先手的取法方案数) 思路: 因为权值是二进制的形式给的,所以对应1的位置即对应的这个点也选了,对于…
A(模拟): #include <bits/stdc++.h> using namespace std; const int inf = 0x3f3f3f3f; const double eps = 1e-6; const int N = 2e5+7; typedef long long ll; const ll mod = 1e9+7; using namespace std; int a[N]; ll suf[N]; int main(){ ios::sync_with_stdio(fal…
牛客国庆集训派对Day6 A Birthday:https://www.nowcoder.com/acm/contest/206/A 题意: 恬恬的生日临近了.宇扬给她准备了一个蛋糕. 正如往常一样,宇扬在蛋糕上插了n支蜡烛,并把蛋糕分为m个区域.因为某种原因,他必须把第i根蜡烛插在第ai个区域或第bi个区域.区域之间是不相交的.宇扬在一个区域内同时摆放x支蜡烛就要花费x2的时间.宇扬布置蛋糕所用的总时间是他在每个区域花的时间的和. 宇扬想快些见到恬恬,你能告诉他布置蛋糕最少需要多少时间吗?  …
链接:https://www.nowcoder.com/acm/contest/201/L 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097152K Special Judge, 64bit IO Format: %lld 题目描述 Eagle Jump公司正在开发一款新的游戏.Hifumi Takimoto作为其中的员工,获得了提前试玩的机会.现在她正在试图通过一个迷宫. 这个迷宫有一些特点.为了方便描述,我们对这个迷宫建立平面直…
链接:https://ac.nowcoder.com/acm/contest/201/L来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097152K Special Judge, 64bit IO Format: %lld 题目描 Eagle Jump公司正在开发一款新的游戏.Hifumi Takimoto作为其中的员工,获得了提前试玩的机会.现在她正在试图通过一个迷宫. 这个迷宫有一些特点.为了方便描述,我们对这个迷宫建立平面直角坐标…
牛客G: 给定大小为N的数组a[],给定M组关系,让你重排a[],使得sum{M队关系的绝对值之差}最小.首先将a排序,然后依次把a填入数组. 假设i在二进制下有x个1,用dp[i]更新dp[i|(1<<j)],表示的是,将a[x+1]填在第j个位置.注意到a[]已经排序了,那么a[x]的贡献就是:+之前填的个数*a[x]-没填的个数*a[x]: #include <bits/stdc++.h> using namespace std; typedef long long ll;…
链接:https://www.nowcoder.com/acm/contest/204/J 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bit IO Format: %lld 题目描述 某个 QQ 群里一共有 n 个人,他们的编号是 1..n,其中有一些人本质上是复读机. 小 A 发现,如果一个人的本质是复读机,那么他每次发的消息一定跟群里的上一条消息一样,特别地第一个发消息的人一定不是复读机. 现在小 A 搞到了…
链接:https://www.nowcoder.com/acm/contest/204/I 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bit IO Format: %lld 题目描述 小 A 有一棵长的很奇怪的树,他由 n 条链和 1 个点作为根构成,第 i 条链有 ai 个点,每一条链的一端都与根结点相连. 现在小 A 想知道,这棵长得奇怪的树有多少非空的连通子树,你只需要输出答案对 998244353 取模的…
链接:https://www.nowcoder.com/acm/contest/201/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bit IO Format: %lld 题目描述 算术是为数不多的会让Kuon感到棘手的事情.通常她会找Haku帮忙,但是Haku已经被她派去买东西了.于是她向你寻求帮助. 给出一个关于变量x,y的不定方程,显然这个方程可能有多个整数解.Kuon想知道如果有解,使得最小的一组整数解…
A    矩阵乘法 思路: 1° 牛客机器太快了,暴力能过. #include <bits/stdc++.h> using namespace std; #define N 5000 int n, p, m; ], b[][N], ans[N][N]; void Run() { while (scanf("%d%d%d", &n, &p, &m) != EOF) { ; i <= n; ++i) ; j <= p; ++j) scanf(…
链接:https://www.nowcoder.com/acm/contest/205/B来源:牛客网 题目描述 终于活成了自己讨厌的样子. 听说多听电音能加快程序运行的速度. 定义一个数列,告诉你a0,a1,m0,m1,c,定义an=m0an-1+m1an-2+c对所有n≥ 2. 求 输入描述: 第一行一个整数T(1≤ T≤ 1000),表示数据组数.每组数据一行7个整数a 0 ,a 1 ,m 0 ,m 1 ,c,M,k,保证1≤ M≤ 10 18 ,0≤ a 0 ,a 1 ,m 0 ,m 1…
链接:https://www.nowcoder.com/acm/contest/206/B来源:牛客网 题目描述 恬恬有一个nx n的数组.她在用这个数组玩游戏: 开始时,数组中每一个元素都是0. 恬恬会做某些操作.在一次操作中,她可以将某一行的所有元素同时加上一个值,也可以将某一列的所有元素同时加上一个值. 在几次操作后,一个元素被隐藏了.你能帮助她回忆隐藏的数是几吗? 输入描述: 第一行一个整数n(1≤ n≤ 1000).接下来n行每行n个整数表示数组a.第(i+1)行的第j个元素表示a i…
链接:https://www.nowcoder.com/acm/contest/205/G来源:牛客网 题目描述 终于活成了自己讨厌的样子. 充钱能让你变得更强. 在暖婊这个游戏里面,如果你充了x元钱,那么你能获得10x个钻石.同时暖婊也有m档VIP,如果你往暖婊里面充了ai个钻石,那么你能成为第i档贵族用户.当你成为第i档贵族用户之后,那么你可以获得的优惠. 你需要k件材料合成衣服,其中第i件材料原价为di个钻石,你一共需要ci件这种材料.当你获得p的优惠时,这个材料的真实价格为. 请问栗子米…
链接:https://ac.nowcoder.com/acm/contest/204/H来源:牛客网 题目描述 给定一棵 n 个点的树,其中 1 号结点是根,每个结点要么是黑色要么是白色 现在小 Bo 和小 Biao 要进行博弈,他们两轮流操作,每次选择一个黑色的结点将它变白,之后可以选择任意多个(可以不选)该点的祖先(不包含自己),然后将这些点的颜色翻转,不能进行操作的人输 由于小 Bo 猜拳经常输给小 Biao,他想在这个游戏上扳回一城,现在他想问你给定了一个初始局面,是先手必胜还是后手必胜…
题目链接 \(Description\) 给定\(n,m,C\)及大小为\((n+1)(m+1)\)的矩阵\(c[i][j]\).平面上有\((n+1)(m+1)\)个点,从\((0,0)\)编号到\((n,m)\). 在任意时刻,你可以选择在当前点\((x,y)\)获取任意实数个单位的能量,获取每一单位需花费时间\(c[x][y]\): 也可以选择从一个点移动到另一个点,花费的能量是移动路线的欧几里得距离(只可以沿与坐标轴平行或与坐标轴夹角\(45^{\circ}\)的方向走),不花费时间.…
B. Attack on Titan 链接 #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #include<cmath> #include<cctype> #include<set> #include<queue> #include<vector> #include<map> using…
A    Tobaku Mokushiroku Kaiji 水. #include <bits/stdc++.h> using namespace std; ], b[]; void Run() { while (scanf("%d", a) != EOF) { ; i < ; ++i) scanf("%d", a + i); ; i < ; ++i) scanf("%d", b + i); printf(], b[])…
题目描述 阿尔比恩王国(the Albion Kingdom)潜伏着一群代号“白鸽队(Team White Pigeon)”的间谍.在没有任务的时候,她们会进行各种各样的训练,比如快速判断一个文档有没有语法错误,这有助于她们鉴别写文档的人受教育程度. 这次用于训练的是一个含有n个括号的文档.括号一共有m种,每种括号都有左括号和右括号两种形式.我们定义用如下的方式定义一个合法的文档: 1.一个空的字符串是一个合法的文档. 2.如果A,B都是合法的文档,那么AB也是合法的文档. 3.如果S是合法的文…