题目链接:牛客周赛 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的更多相关文章

  1. 牛客周赛11TG B-弹钢琴

    链接:https://ac.nowcoder.com/acm/contest/941/B来源:牛客网 题目描述 春希想听和纱弹钢琴! 为了阻止异变的发生,Pi将钢琴魔改了 钢琴上有 N 个键,每个键有 ...

  2. 牛客OI周赛9-提高组题目记录

    牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...

  3. 牛客OI周赛8-提高组A-用水填坑

    牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...

  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 ...

  5. 牛客OI周赛7-提高组 A 小睿睿的等式

    链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...

  6. 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)

    链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道 ...

  7. 牛客OI周赛7-普及组 解题报告

    出题人好评. 评测机差评. A 救救喵咪 二位偏序.如果数据范围大的话直接树状数组,不过才1000就\(O(n^2)\)暴力就ok了. #include <bits/stdc++.h> s ...

  8. 牛客OI周赛2-提高组

    A.游戏 链接:https://www.nowcoder.com/acm/contest/210/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...

  9. 牛客OI周赛10-普及组-A眼花缭乱的街市-(加速+二分)

    https://ac.nowcoder.com/acm/contest/901/A 很简单的一道题,全场只有20+AC,卡时间.新学了cin加速语法和数组二分查找的函数调用. 知道有个读写挂,可以加速 ...

  10. 牛客OI周赛11-普及组 B Game with numbers (数学,预处理真因子)

    链接:https://ac.nowcoder.com/acm/contest/942/B 来源:牛客网 Game with numbers 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C+ ...

随机推荐

  1. P3523 POI2011 DYN-Dynamite

    P3523 POI2011 DYN-Dynamite 小 trick,加双倍经验. 思路 使 \(dis\) 的最大值最小,可以想到二分 \(dis\),然后根据 \(dis\) 判断可行性. 那么可 ...

  2. apache做负载均衡器 配置

    将Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是: 1 )轮询均衡策略的配置 进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入: Proxy ...

  3. LALR语法分析表

    LALR语法分析表 1.LALR(向前看-LR)技术 2.在实践中常用,分析表比规范LR分析表小 LALR(1)项集族的内核的高效计算方法 1.构造G的LR(0)项集族的内核 2.确定自发生的符号 3 ...

  4. 盘点一下在swagger中一些有用且经常忽略的属性

    震惊!,这些Swagger的属性你都了解吗? 盘点一下在swagger中一些有用且经常忽略的属性 启用永久授权EnablePersistAuthorization app.UseSwaggerUI(c ...

  5. Linx操作Nginx命令

    在 CentOS 上操作 Nginx 包括安装.启动.停止.重新加载配置等.以下是在 CentOS 上操作 Nginx 的常用命令: 安装 Nginx: sudo yum install nginx ...

  6. vue组件传参props

    传参格式,将需要传的参数以属性方式写在组件标签上 //组件标签 <zu a='参数一' b='参数b'></zu> 接收格式,在组件内 //props属性接收参数 props: ...

  7. Fiddler对手机APP进行抓包

    1.下载安装Fiddler 2.打开Fiddler菜单项Tools-> Options->HTTPS 勾选CaptureHTTPS CONNECTs,点击Actions, 勾选Decryp ...

  8. CVE-2023-32233 在 Google KCTF 中的漏洞利用方案分析

    这是对前文的补充,增加一种漏洞利用方案的分析,前文地址: https://www.cnblogs.com/hac425/p/17967844/cve202332233-vulnerability-an ...

  9. openEuler欧拉修改SSH端口

    修改SSH端口的主要原因是提高服务器的安全性.默认情况下,SSH服务运行在端口22上,因此攻击者和自动化脚本通常会针对此端口发起暴力破解攻击.密码猜测和其他恶意活动. vim /etc/ssh/ssh ...

  10. 中电金信:GienTech动态|一波好消息→中标!多领域“开花”