牛客周赛 Round 77
题目链接:牛客周赛 Round 77
A. 时间表
tag:签到
B. 数独数组
tag:签到
Description:给定n个数,每个数的范围为1-9,问能否经过排列,使其每个长度为9的连续子数组都包含1-9这9个数字。
Solution:手模发现,前面一定是每个数字都出现,且次数相同,最后后面再放一些数字只出现一次。 故只要判断数字的最少次数和最多次数差距不大于1即可。
C. 小红走网格
tag:gcd
Solution:上下和左右是独立的,根据裴蜀定理ax + by | gcd(a, b)。
void solve(){
int x, y, a, b, c, d;
cin >> x >> y >> a >> b >> c >> d;
int t1 = gcd(a, b), t2 = gcd(c, d);
if (y % t1 == 0 && x % t2 == 0){
cout << "YES\n";
}
else{
cout << "NO\n";
}
}
D. 隐匿社交网络
tag:并查集 + 位运算
Solution:按位进行运算,将这一位为1的账号使用并查集进行合并。
void solve(){
int n;
cin >> n;
DSU dsu(n + 1);
vector<int> a(n + 1);
for (int i = 1; i <= n; i ++){
cin >> a[i];
}
for (int i = 0; i < 63; i ++){
int t = -1;
for (int j = 1; j <= n; j ++){
if (a[j] >> i & 1){
if (t == -1)
t = j;
else{
dsu.merge(t, j);
}
}
}
}
int ans = 1;
for (int i = 1; i <= n; i ++){
ans = max(ans, dsu.size(i));
}
cout << ans << endl;
}
E. 1or0
tag:线段树
F. 计树
tag:思维
Solution:考虑以u为目标lca的答案,num[i]记录以i为根的子树包含的目标节点的个数。
- 遍历u的子结点,已经遍历过的目标节点数为x,那么当前节点的贡献为x * num[i]。
- 当自己是目标节点时,x为1。
void solve(){
int n;
cin >> n;
vector g(n + 1, vector<int>());
vector<int> flag(n + 1);
for (int i = 1; i < n; i ++){
int a, b;
cin >> a >> b;
g[a].pb(b);
g[b].pb(a);
}
int ans = 0;
int k;
cin >> k;
for (int i = 0; i < k; i ++){
int x;
cin >> x;
flag[x] = true;
}
vector<int> num(n + 1); // 记录每棵子树下有多少个目标节点
function<void(int, int)> dfs1 = [&](int u, int fa){
if (flag[u])
num[u] ++;
for (auto v : g[u]){
if (v == fa)
continue;
dfs1(v, u);
num[u] += num[v];
}
};
dfs1(1, 0);
vector<int> cnt(n + 1);
function<void(int, int)> dfs2 = [&](int u, int fa){
int x = 0;
if (flag[u]){
cnt[u] ++;
x = 1;
}
for (auto v : g[u]){
if (v == fa)
continue;
cnt[u] += x * num[v] * 2;
x += num[v];
dfs2(v, u);
}
};
dfs2(1, 0);
for (int i = 1; i <= n; i ++){
cout << cnt[i] << " ";
}
}
牛客周赛 Round 77的更多相关文章
- 牛客周赛11TG B-弹钢琴
链接:https://ac.nowcoder.com/acm/contest/941/B来源:牛客网 题目描述 春希想听和纱弹钢琴! 为了阻止异变的发生,Pi将钢琴魔改了 钢琴上有 N 个键,每个键有 ...
- 牛客OI周赛9-提高组题目记录
牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...
- 牛客OI周赛8-提高组A-用水填坑
牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...
- 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)
链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- 牛客OI周赛7-提高组 A 小睿睿的等式
链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...
- 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)
链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道 ...
- 牛客OI周赛7-普及组 解题报告
出题人好评. 评测机差评. A 救救喵咪 二位偏序.如果数据范围大的话直接树状数组,不过才1000就\(O(n^2)\)暴力就ok了. #include <bits/stdc++.h> s ...
- 牛客OI周赛2-提高组
A.游戏 链接:https://www.nowcoder.com/acm/contest/210/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...
- 牛客OI周赛10-普及组-A眼花缭乱的街市-(加速+二分)
https://ac.nowcoder.com/acm/contest/901/A 很简单的一道题,全场只有20+AC,卡时间.新学了cin加速语法和数组二分查找的函数调用. 知道有个读写挂,可以加速 ...
- 牛客OI周赛11-普及组 B Game with numbers (数学,预处理真因子)
链接:https://ac.nowcoder.com/acm/contest/942/B 来源:牛客网 Game with numbers 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C+ ...
随机推荐
- QOJ 5020. 举办乘凉州喵,举办乘凉州谢谢喵
QOJ 5020. 举办乘凉州喵,举办乘凉州谢谢喵 飞天数据结构. 思路 设 \(f[u][k]\) 为 \(u\) 子树内距离 \(u\) 小于等于 \(k\) 的点的个数,\(g[u][k]\) ...
- 简述GoLang优势与生态
开门见山,一睹golang的风采 性能优势 部署运维成本低 编码格式统一:测试简单 1. 性能优势 Go 语言被称为是:"21世纪的C语言",虽然这个帽子戴的有点高,不妨这里给大家 ...
- kali 安装 shodan
声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无 ...
- js 计算过去和未来的时间距离现在多少天
计算传入的任意一时间.计算出这个时间距离现在还有多少天!或者计算过去的时间距离现在已经过去了多少天! 返回值有两种! 1.负值 代表过去了多少天 2.正值 代表距离设定的时间还有多少天 说明:距离设定 ...
- solon 集成 kafka-clients
使用 kafka-clients 原本是比较简单的事情.但有些同学习惯了 spring-kafka 后,对原始 java 接口会陌生些.会希望有个集成的示例. <dependency> & ...
- codeforces 1978 D. Elections
题目链接 https://codeforces.com/problemset/problem/1978/D 题意 对于每个测试用例,共有 \(n\) 个人,每个人的号码分别是 \(1,2,...,n\ ...
- 【Amadeus原创】华为一键强制关闭后台应用的终极解决方法
华为手机速度是快,用起来很顺手,但是最让人头疼的,就是紧急情况开会,我音乐关不了. 上划把全部应用删掉,也没用. 经过一阵子摸索,发现终极办法: 1, 打开华为自带的 手机助手- 应用启动管理 2, ...
- flutter问题汇总
Text文字居中 Text( 'You will need to post a photo before you can play!', textAlign: ...
- Flutter null safety 无法运行
Flutter空安全问题 在pub上有一些库导入之后无法运行,这是因为健全的空安全 解决方法 1.在命令行中添加参数 flutter run --no-sound-null-safety 2.在IDE ...
- 常用bat代码
清除空文件夹 | 清理空文件夹 | 删除空文件夹 @echo off for /f "tokens=*" %%i in ('dir/s/b/ad^|sort /r') do rd ...