比赛链接:Here

AcWing 3694. A还是B

签到题

void solve() {
int n; string s;
cin >> n >> s;
int t = count(s.begin(), s.end(), 'A');
if (t * 2 == n)cout << "T";
else if (t * 2 < n)cout << "B";
else cout << "A";
}

AcWing 3695. 扩充序列

思维构造题

这题目本身并不难,只不过出得有 一些 “委婉”罢了。

先来研究一下题目,每次“扩充”都会将序列复制一次,然后在中间会插入一个还未使用过的最小正整数。

其实“还未使用过的 最小 正整数”,其实不过就是添加原数列中最大的值+1。

再看,扩充 \(n\) 次,就会将原序列变为 \(2^n + 1\) 。

那么对于 \(k\) 来说,只需判断小于 \(2^x\) 即可

输出 \(x + 1\)

注意点:long long

void solve() {
ll n, k; cin >> n >> k;
int cnt = 1;
while (!(k & 1))k >>= 1, cnt++;
cout << cnt << "\n";
}

AcWing 3696. 构造有向无环图

对图进行拓扑排序,其中我们只加有向边,不考虑无向边。

若无法拓扑排序,则说明有向边已经构成了环,输出 NO。

否则,在拓扑排序的时候,对于所有点,我们可以得到一个时间戳,而对于所有无向边,将其方向定位从时间戳小的连向时间戳大的边即可。

时间复杂度:\(\mathcal{O}(n + m)\)

typedef pair<int, int> E;
const int N = 200005;
int n, m;
int d[N], p[N];
vector<int> g[N];
bool topo() {
static int q[N], hh, tt, s;
hh = tt = 0, s = 0;
for (int x = 1; x <= n; ++x)
if (!d[x]) q[tt++] = x;
while (hh != tt) {
int t = q[hh++];
++s, p[t] = s;
for (int i = 0; i < g[t].size(); ++i) {
int v = g[t][i];
if (!--d[v]) q[tt++] = v;
}
}
return s == n;
}
void solve() {
cin >> n >> m;
memset(d + 1, 0, n << 2);
memset(p + 1, 0, n << 2);
for (int i = 1; i <= n; ++i) g[i].clear();
vector<E> res;
for (int i = 0; i < m; ++i) {
int a, b, t;
cin >> t >> a >> b;
res.push_back({a, b});
if (t) g[a].push_back(b), ++d[b];
}
if (topo()) {
puts("YES");
for (auto [a, b] : res) {
if (p[a] > p[b]) swap(a, b);
printf("%d %d\n", a, b);
}
} else puts("NO"); }

AcWing第四场周赛的更多相关文章

  1. AcWing第85场周赛

    这场周赛是手速局hh 死或生 某国正在以投票的方式决定 2 名死刑犯(编号 1∼2)的生死. 共有 n 组人员(编号 1∼n)参与投票,每组 10 人. 每组成员只参与一名死刑犯的投票,其中第 i 组 ...

  2. AcWing 第11场周赛题解

    计算abc 首先 \(0<=a<=b<=c\) 会随机给出 \(a+b,a+c,b+c,a+b+c\)的值 因为\(a,b,c\)都为正整数,所以\(a+b+c\)一定为最大值 然后 ...

  3. AcWing第78场周赛

    今天想起来了,就补一下吧~ 第一题 商品分类 货架中摆放着 n 件商品,每件商品都有两个属性:名称和产地. 当且仅当两件商品的名称和产地都相同时,两件商品才视为同一种商品. 请你统计,货架中一共有多少 ...

  4. 2018 HDU多校第四场赛后补题

    2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...

  5. 牛客网NOIP赛前集训营-提高组(第四场)游记

    牛客网NOIP赛前集训营-提高组(第四场)游记 动态点分治 题目大意: \(T(t\le10000)\)组询问,求\([l,r]\)中\(k(l,r,k<2^{63})\)的非负整数次幂的数的个 ...

  6. NOI.AC NOIP模拟赛 第四场 补记

    NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...

  7. CTF-i春秋网鼎杯第四场部分writeup

    CTF-i春秋网鼎杯第四场部分writeup 因为我们组的比赛是在第四场,所以前两次都是群里扔过来几道题然后做,也不知道什么原因第三场的题目没人发,所以就没做,昨天打了第四场,简直是被虐着打. she ...

  8. 牛客网暑期ACM多校训练营(第四场):A Ternary String(欧拉降幂)

    链接:牛客网暑期ACM多校训练营(第四场):A Ternary String 题意:给出一段数列 s,只包含 0.1.2 三种数.每秒在每个 2 后面会插入一个 1 ,每个 1 后面会插入一个 0,之 ...

  9. 牛客网NOIP赛前集训营-提高组(第四场)B区间

    牛客网NOIP赛前集训营-提高组(第四场)B区间 题目描述 给出一个序列$ a_1  \dots   a_n$. 定义一个区间 \([l,r]\) 是好的,当且仅当这个区间中存在一个 \(i\),使得 ...

  10. 牛客网NOIP赛前集训营-提高组(第四场)B题 区间

    牛客网NOIP赛前集训营-提高组(第四场) 题目描述 给出一个序列 a1, ..., an. 定义一个区间 [l,r] 是好的,当且仅当这个区间中存在一个 i,使得 ai 恰好等于 al, al+1, ...

随机推荐

  1. RIPEMD加密技术

    摘要:RIPEMD(RACE Integrity Primitives Evaluation Message Digest)是一种密码散列函数,广泛应用于网络安全领域.本文首先介绍RIPEMD的起源和 ...

  2. 关于Delphi

    # 关于Delphi ··Delphi中使用的面向对象pascal编程语言. ··Pascal语言最初由瑞士苏黎士理工学院的尼古拉斯-沃斯(Niklaus Wirth)教授在1971年设计. ··19 ...

  3. css零散笔记——修改input样式input:-internal-autofill-selected背景色

    闲聊: 小颖项目中的登录页需将  input  背景色设为透明,小颖将 input  的背景色设置后,发现表单自动填充后还是会有背景色,然后发现 浏览器 自带了背景色: 效果图:           ...

  4. Linux MIPI 调试中常见的问题

    一.概述 做嵌入式工作的小伙伴知道,有时候程序编写没有调试过程中费时,之间笔记里有 MIPI 摄像头驱动开发的过程,有需要的小伙伴可以参考:Linux RN6752 驱动编写. 而我也是第一次琢磨 M ...

  5. Linux下安装不同python版本的虚拟环境

    使用的是virtualenv工具安装的虚拟环境. virtualenv是一个用来建立虚拟的python环境,通常情况下,可能会碰到各种python环境,但是只有一台电脑,virtualenv就派上用场 ...

  6. MD5在文件安全中的应用与重要性

    一.MD5简介 MD5(Message-Digest Algorithm 5)是一种广泛应用的密码散列函数,由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)于1992年提出.它主 ...

  7. 【C#】【DateTime】获取当前时间的前一天或者后一天方法学习

    假期懈怠了一阵子,因为工作环境没有网络,随即记录下当时的问题: 1.关于DateTime.Now(2023/10/07)的前一天的时间(2023/10/06),想要通过ToString转换成字符串后除 ...

  8. TDD、BDD、ATDD都是什么、有什么区别?(下)

    在<TDD.BDD.ATDD都是什么.有什么区别?(下)>一文中,探讨了TDD.BDD和ATDD的概念.虽然TDD.BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不 ...

  9. 为什么说UUID是唯一的?

    在数字时代,我们需要一种能够唯一标识各种实体的方法.通用唯一标识符(UUID)正是为满足这一需求而诞生的.本文将从多个方面介绍UUID,探讨它为何成为通用唯一标识符,以及为什么说UUID是唯一的. U ...

  10. CodeForces 1105D 嵌套BFS

    CodeForces 1105D 嵌套BFS 题意 - 给我们一个n*m的阵列,一个格子如果是#则为障碍,若为.则为空,若为数字,则代表这个格子属于该数字代表的玩家. - 给我们每个玩家(不到十个)的 ...