题解codeforces round 879

【题解】AtCoder-ABC321

AtCoder-ABC321A 321-like Checker 依题意判断。 提交记录:Submission - AtCoder AtCoder-ABC321B Cutoff 枚举 \(a_n\),依题意模拟即可。 提交记录:Submission - AtCoder AtCoder-ABC321C ......
题解 AtCoder-ABC AtCoder ABC 321

ABC321题解

A 从低位到高位判断是否递增就行了。 B 直接暴力枚举。 C 深搜一下,答案最多 1023 个,然后要开 long long !!! D 从小到大枚举 a 的同时从大到小枚举 b,然后前缀和优化一下就行了。 E 考虑把这棵树分成两部分,分界线为从 1 到 n 的路径。 然后在路径上从下往上dp出长为 ......
题解 ABC 321

加训日记 Day1——Codeforces Round 898(div4)低级失误

开始加训的第一天 ·cf AC了两道800题,一道1000的题目有思路,但是代码必然写的不如标答优美,一道1200思路有问题; ·atcoder写了道ABC的A,B的最长回文字符串突然忘记之前怎么写的了(bushi; ·898的div4场最后一场保护,E题出大锅,中间变量没用LL溢出了,结果赛后重测 ......
Codeforces 日记 Round Day1 div4

星空 (Easy version & Hard Version) 题解

星空 (Easy version & Hard Version) 题解 不知道简单版有没有单独的做法,反正我不会 很明显如果 \(a\) 中有大于 \(x\) 的数直接无解,输出 \(0\)。 发现每个 \(a_i\) 都是 \(2\) 的整数次幂,这告诉我们每个 \(a_i\) 在二进制表示下只会 ......
题解 星空 version Version Easy

洛谷P6767 [BalticOI 2020/2012 Day0] Roses 题解

题解 P6767 Roses 题目传送门 \(a,c\) 为每束花的朵数,\(b,d\) 为每束花需要的钱 首先简单了解一下题意,大概就是现在给你 \(n\) 朵花,每 \(a\) 朵花 \(b\) 元,每 \(c\) 朵花 \(d\) 元,求最少需要多少钱? 注意: 这里 \(n\) 的范围是 \ ......
题解 BalticOI P6767 Roses 6767

CF877F 题解

CF877F 题解 更好的阅读体验 提供一个扫描线 + 根号分治做法。 首先,可以把题目的条件转化成求 $sum_r-sum_{l-1}=k$ 的区间数。 考虑扫描线,当区间的右端点从 $r-1$ 移动到 $r$ 时,新增的区间的左端点就是所有满足 $sum_{l-1}=sum_r-k,l\le r ......
题解 877F 877 CF

题解 Gym 104077I【[ICPC2022 Xi'an R] Square Grid】

题解 Gym 104077I【[ICPC2022 Xi'an R] Square Grid】 problem 二维棋盘,边界是 \((0,0)\) 到 \((n,n)\)。 对于某个棋子,单次移动可以朝着上下左右四个方向之一移动一格。 对于 \(q\) 个独立的棋子,分别问时间 \(T\) 秒以后: ......
题解 104077I 104077 Square 2022

Codeforces 1868D. Flower-like Pseudotree

题目链接:D - Flower-like Pseudotree 题目大意:给定度数数组 \({d_n}\),要求构造一个 \(n\) 个点 \(n\) 条边的连通图(也就是基环树),允许有重边,但不能有自环。需要满足第 \(i\) 个点的度数恰好为 \(d_i\),并且将环上的边全部删去后,剩下的每 ......

[COCI2016-2017#4] Osmosmjerka 题解

[COCI2016-2017#4] Osmosmjerka 题解 我们发现对于每个点,只有八个方向,也就是说,最终能得到的字符串只会有 \(8nm\) 个,那我们可以考虑把这些字符串的哈希值求出来,相同的哈希值代表选到相同字符串的一种可能,直接统计即可。 现在的问题就在于,怎么快速地求出这 \(8n ......
题解 Osmosmjerka COCI 2016 2017

CodeForces 1149D Abandoning Roads

洛谷传送门 CF 传送门 考虑一条 \(1 \to i\) 的路径是否在最小生成树上。 称边权为 \(a\) 的边为轻边,边权为 \(b\) 的边为重边。 轻边若不成环则一定在最小生成树上,因此先把轻边合并,这样形成了若干连通块。 那么如果两点在一个连通块,它们只能通过轻边互达。 同时,因为是树上路 ......
CodeForces Abandoning 1149D Roads 1149

题解 CF1257G【Divisor Set】

problem 我们说一个集合 \(D\) 是一个好的集合,当不存在集合中的两个不同元素 \(a,b\) 使得 \(a\) 是 \(b\) 的约数。 给定一个超大整数的素数表示形式 \(N = \prod_{i=1}^n{p_i}\),要求从它的所有因子中选择尽可能多的元素组成一个好的集合。 问这个 ......
题解 Divisor 1257G 1257 Set

题解 ARC165F【Make Adjacent】

区间排序问题,主席树优化建图,最小字典序拓扑排序(priority_queue) problem 给定一个长度为 \(n*2\) 的序列,其中每种元素恰好出现了 2 次。 允许每次选择任意两个相邻的元素交换。 那么必定存在一个最小 \(k\):使得 \(k\) 次交换以后所有相同的元素都是相邻的。 ......
题解 Adjacent 165F Make ARC

Educational Codeforces Round 97 (Rated for Div 2) G. Death DBMS

Problem - G - Codeforces 题意 给定n个字符串,每个字符串有一个值val,n次询问,每次给一个字符串,询问给定n个字符串中是询问字符串子串的值的最大值 分析 多模式匹配,从中找到给定串的子串,想到建立ac自动机,对于给定字符串,在自动机上面匹配时,沿fail指针向上跳并求最大 ......
Educational Codeforces Death Round Rated

题解 CF1873H Mad City

题意描述 马塞尔和瓦勒里乌(Valeriu)所在的疯狂城市由 \(n\) 栋建筑和 \(n\) 条双向道路组成。 马塞尔和瓦勒里乌(Valeriu)分别从 \(a\) 号和 \(b\) 号建筑开始。马塞尔想赶上瓦勒里乌(换句话说,与他在同一栋楼里或在同一条路上相遇)。 在每次移动过程中,他们都会选择 ......
题解 1873H 1873 City Mad

CF1842F Tenzing and Tree 题解

Tenzing and Tree 感觉很典型的题,就是树的重心+绝对值等式 解法: 以每个点 \(i\) 为根分别 \(bfs\) ,得到一个距离数组 \(dis\) ,取前 \(k\) 个值的权值为和,更新 \(w[k]\) 的值, \(n\) 个点分别为根,更新 \(n\) 遍之后,得到 \(w ......
题解 Tenzing 1842F 1842 Tree

砝码称重 题解

砝码称重 题解 前言 这道题时限完全可以开到 1s,空间也开不到 1024kb 白想那么多优化( 不过这个复杂度可能是目前来看最合理(算出来保证能过)的。 题意简述 有一个长度为 \(n\) 的序列 \(a\),有两种操作: 把 \(l\) 到 \(r\) 的所有数改为 \(x\); 查询用 \(l ......
题解 砝码

题解 ABC267 A~H

ABC267 solution https://atcoder.jp/contests/abc267/ Problem A. 题目描述 输入一个表示星期的英文字符串,输出:还有多少天到星期六? solution 依题意模拟。\(O(1)\)。 Problem B. 题目描述 Robin 有十个小球, ......
题解 ABC 267

Codeforces Round 898 (Div. 4)(A-H)

Codeforces Round 898 (Div. 4) A.给abc的某个排列,问能否最多交换一次让排列变成abc 直接看有几个不在原位就行 查看代码 #include<iostream> using namespace std; void solve() { char a,b,c; cin>> ......
Codeforces Round 898 A-H Div

P5836 [USACO19DEC] Milk Visits S - 洛谷题解

题目链接 :[P5836] USACO19DEC] Milk Visits S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题可以用并查集来解决。 题目中每个结点只有两个状态:H和G。那么我们可以推断出,只有当起点和终点间每个结点的状态相同但是起点(或者终点或起点到终点之间 ......
题解 Visits P5836 USACO 5836

# [Codeforces Round 898 (Div. 4)] E. Building an Aquarium

Codeforces Round 898 (Div. 4) E. Building an Aquarium You love fish, that's why you have decided to build an aquarium. You have a piece of coral made ......
Codeforces Building Aquarium Round 898

CF49E 题解

problem & blog。 提供一个逻辑顺畅的思路(然而做法相同的)。 手玩样例,Sample1 是 \(\texttt{ac}\to[\texttt{a}][\texttt{baba}]\) 与 \([\texttt{a}][\texttt{ba}]\)。很显然样例有分段性质,所以 DP,\( ......
题解 49E CF 49

9.20模拟赛T3题解【限时公开,阅后即焚】

考场做法。 复杂度是优美的\(\Theta(n^2 \log n)\)。 强烈谴责高复杂度碾标算行为 考虑一个观察:对于一个左上角 \((x, y)\) ,如果我们确定了它的边长一个区间 \([L,R]\),使得这个区间内 至少存在 \(k\) 行 \(k\) 列1,(可能还有一些多余的1),那么我 ......
模拟赛 题解 9.20 20

[题解] CF1873H - Mad City

CF1873H - Mad City 知识点:基环树找环 题意 给定一张具有 \(n\) 个点 \(n\) 条边的无向图。现在有两个人,第一个人在 \(a\) 点,第二个人在 \(b\) 点,第一个人要追到第二个人。 两个人每一回合都同时进行操作,要么停留在当前位置,要么走邻接的下一个点。同时,第一 ......
题解 1873H 1873 City Mad

题解 P8670 [蓝桥杯 2018 国 B] 矩阵求和

题目描述 \[\sum_{i=1}^n \sum_{j=1}^n \gcd(i,j)^2 \]具体思路 solution 1 显然可以每次枚举 \(\gcd(i,j)\) 的取值。 \[\sum_{k=1}^n k^2 \sum_{i=1}^n \sum_{j=1}^n [\gcd(i,j)=k] ......
蓝桥 题解 矩阵 P8670 8670

Codeforces Round 898 (Div. 4)

Codeforces Round 898 (Div. 4) A Short Sort 直接枚举许所有情况即可 /* * * Author: north_h * Time: 2023-09-21 22:35:49 * * Problem: A. Short Sort * Contest: Codefo ......
Codeforces Round 898 Div

Codeforces Round 898 (Div. 4)

Codeforces Round 898 (Div. 4) A. Short Sort 解题思路: 遍历所有交换情况,看是否有\(abc\). 代码: #include <bits/stdc++.h> using namespace std; using ll = long long; const ......
Codeforces Round 898 Div

CF38H 题解

problem & blog。 远古场翻到的一个不错的题,提供一个好想很多的做法。 求出任意两点的路径在全部路径中是第几个。然后随便找两个人,钦定他们是 Au 吊车尾与 Cu Rank1。这样子就可以直接求出全部人可以是否可以拿 Au Ag Cu 了。 然后就是傻子 DP 了,往状态里塞 Au 与 ......
题解 38H CF 38

MUH and Cube Walls 题解

MUH and Cube Walls 前言 怎么题解区同质化这么严重,16 篇题解全是 差分 + KMP,就没有人写别的做法吗。 (好吧其实是我一开始没想到差分才有了这么多奇怪做法) 题目大意 给定两个序列 \(a,b\),求 \(b\) 在 \(a\) 中出现了多少次。 我们定义 \(b\) 在 ......
题解 Walls Cube MUH and

P1417 烹调方案 题解&贪心杂谈

## _Description_ 一共有 $n$ 个食物,每个食物有3个属性,分别为 $a,b,c$,其中 $c$ 表示做这道菜的耗时。 一个食物的贡献为 $a-b\times t$,其中 $t$ 表示做完这道菜的总耗时,求在 $T$ 个单位时间内,最多能产生多少贡献 ......
题解 杂谈 方案 P1417 1417

容斥原理应用Acwing890借鉴题解

参考文献 简单的容斥原理介绍请看下图: C++ 代码 简单的容斥原理介绍请看下图: 本题思路: 将题目所给出的m个数可以看成是m位的二进制数,例如 当p[N]={2,3}时,此时会有01,10,11三种情况 而二进制的第零位表示的是p[0]上面的数字2,第1位表示p[1]上面的数字3 所以当i=1时 ......
题解 原理 Acwing 890