题解1203 div cf

AtCoder Regular Contest 166 AB题题解

A - Replace C or Swap AB 个人感觉挺有意思的一道思维题(好久没做思维题了,竟然卡了一个小时)。 除去C不看,我们发现X序列中的A只能向后移动,B只能向前移动,且可以移动任意次数。 所以假如没有C的话,做法是这样的: 从前往后分别统计X和Y序列中的A的数目,若某一时刻发现X中A ......
题解 AtCoder Regular Contest 166

Codeforces Round 902 (Div. 1, based on COMPFEST 15 - Final Round) A~D

A. Helmets in Night Light 首先注意到一个关键性质 \(b_i \geq 1\),这就意味着当我们花 \(p\) 的代价解锁了 \(b_i\) 最小的后,仅凭接下来的“连锁反应”就能解锁全部的点。注意到我们“连锁反应”的一定是按 \(b_i\) 从小到大排序后的一段前缀(因为 ......
Round Codeforces COMPFEST Final based

Codeforces Round 902 (Div. 2) (CF1877) B、C、D 题解

B 题目大意 你要传话给 \(n\) 个人,每传一下话需要花费 \(p\) ,当一个人被传话后,他可以最多传给 \(a_i\) 个人,每次花费 \(b_i\) 。问把话传给 \(n\) 个人的最小花费。 分析 首先传给第一个人只少要 \(p\) 下来贪心,每次让花费最小、且能够传话的人去传话。 考虑 ......
题解 Codeforces Round 1877 902

题解 尼克的任务

有一种和题解区完全不同的做法。 首先将所有任务按照时间从小到大排序,接着用 \(f_i\) 表示处理前 \(i\) 个任务所能得到的最大空闲时间。 回顾一下需要满足的条件:再某个有任务的时刻,如果尼克是空闲的,就必须从中选择一个任务做。那么我们对于第 \(i\) 个任务,枚举上一个做的任务 \(j\ ......
题解 任务

P7710 [Ynoi2077] stdmxeypz 题解

P7710 [Ynoi2077] stdmxeypz 题解 我的第一道 Ynoi 题,体验感不高,调了大半天,最后发现有个地方 \(B_1\) 写成 \(B_2\) 了。 分析 树上问题,明显是要转到树下的,所以 DFS 序是一定要求的。 有关树上距离,所以 \(deep\) 数组也是一定要求的。 ......
题解 stdmxeypz P7710 7710 2077

Codeforces Round 902 Div. 2 - A B C D

目录A. Goals of VictoryB. Helmets in Night Light 传送门 A. Goals of Victory 对给定 n - 1 组队伍的净得分求和取负即为最后一组队伍的净得分 B. Helmets in Night Light 赛时想法假了,赛后更正 对所有人按照传 ......
Codeforces Round 902 Div

Codeforces Round #902 (Div.1)

A 注意到 \(a_i\ge 1\),因此我们先花 \(p\) 的代价买下 \(b\) 最小的,然后一定可以一直用当前可能的最小代价买下后续的人。不难发现这一定是最优的方案。 只需要将序列排序或者用 std::multiset 来维护。单组数据时间复杂度 \(O(n\log n)\)。 https: ......
Codeforces Round 902 Div

「Round C10 B」间隔 题解

简要题意 本题有 \(T\) 组数据。 给定一个由 \(n\) 个元素构成的正整数数列 \(a_1,a_2,a_3...a_{n-1},a_n\)。 问至少需要插入多少个整数才能使得 \(a\) 的各相邻元素之差相等(不能插入在头尾)。 \(a\) 数列保证是单调不减的。 \(1 \le n \le ......
题解 Round C10 10

题解 ARC142E【Pairing Wizards】

problem 给定 \(n\) 个元素,每个元素有两个属性 \(a_i, b_i\)。 你可以花费 1 的代价使得其中一个元素的 \(a\) 属性 +1。 问最少多少代价,可以使得给定的 \(m\) 组 \((i,j)\) 关系符合: 要么满足 \(a_i >= b_i \land a_j >= ......
题解 Pairing Wizards 142E ARC

【题解】CodeForces-1874/1875

CodeForces-1875A Jellyfish and Undertale 一定是等待降到 \(1\) 或者能补满到 \(a\) 时才使用工具,依题意模拟即可。 提交记录:Submission - CodeForces CodeForces-1874A Jellyfish and Game 这 ......
题解 CodeForces 1874 1875

AtCoder Beginner Contest 323 (ABC 323) D、E、F 题解

AtCoder Beginner Contest 323 (ABC 323) D、E、F 题解 D 题目大意 给 \(n\) 种数 \(s_i\) ,每一种数有 \(c_i\) 个,每次可以把两个相同的数合并为一个数,问最后会剩下多少数? 分析 对于每一个数 \(s_i\) ,它最多被分解 \(lo ......
题解 323 Beginner AtCoder Contest

实现拖拽整个div到另外一个div中

实现拖拽整个div到另外一个div中 来自你的消息: vue3代码实现div内容拖拽到另外一个siv中 来自WeTab AI的消息: 在Vue 3中,你可以使用Vue的指令和事件处理器来实现将<div>内容拖拽到另一个<div>中。以下是一个使用Vue 3和原生HTML Drag & Drop AP ......
div

P6346 [CCO2017] 专业网络 & CF1251E1 Voting(Easy Version)

analysis 这个题目我们可以考虑用贪心来做。 我们不难看出来,这个题目是要让我们推出这么个结论:花小钱,办大人。 整体贪心的思路就出来了,然后就是实现部分。 因为我们认识的人随便是谁都可以。所以我们如果要买肯定是买最便宜的。这个性质可以用小根堆来维护。同时我们还可以维护我们可能结交的人数 \( ......
Version Voting 专业 P6346 1251E

题解:洛谷P1119 灾后重建

题解:洛谷P1119 灾后重建 题目传送门 前言:没有掌握floyed求最短路的精髓是每次增加选一个中转点,导致写了2h才勉强卡过 法1:最暴力的想法就是开个三维数组把前i个点的dis状态全部存下来,跑N次floyed,当然由于每次点数时递增的,所以实际复杂度远远小于O(N^4),算了下大概200个 ......
题解 P1119 1119

CF963D Frequency of String

Frequency of String 莪怺逺禧歡仳特噻特。 记每次询问中的字符串为 \(t_i\)。约定字符串下标从 \(1\) 开始。 发现 \(\sum |t_i|\) 与 \(|s|\) 和 \(q\) 同阶,考虑使用 bitset 进行字符串匹配。 我们对于每一种字符 \(c\) 开一个 ......
Frequency String 963D 963 CF

题解 AcWing 1078 旅游规划

题目描述 给你一棵树,让你判断树上每个节点是否在树的直径上。 树的直径:树上最远的两个点之间的距离。 树的直径可能不止一条。 具体思路 对于树的直径,我们有三种求法。 树形dp 设 \(d_x\) 表示 \(x\) 往下走能够到达最远距离,\(f_x\) 表示经过 \(x\) 的最长链的长度。 那么 ......
旅游规划 题解 AcWing 1078

【题解】AtCoder-ABC323

AtCoder-ABC323A Weak Beats 依题意判断。 提交记录:Submission - AtCoder AtCoder-ABC323B Round-Robin Tournament 依题意排序。 提交记录:Submission - AtCoder AtCoder-ABC323C Wo ......
题解 AtCoder-ABC AtCoder ABC 323

题解 AGC015D【A or...or B Problem】

题解 AGC015D【A or...or B Problem】 problem 从 \(\ge A\) 且 \(\le B\) 的整数中选择一个或多个,把这些整数按位或,求一共有多少种可能的结果。 \(1\le A\le B \le 2^{60}\) solution 首先暴力怎么写呢?FWT。设序 ......
题解 Problem 015D or AGC

CF1856B Good Arrays

题意简述: 给定一个序列 \(a\),我们定义一个序列 \(b\) 是好的当且仅当对于 \(1\dots n\) 内的每一个 \(i\),\(a_i\neq b_i\) 且 \(\sum_{i=1}^na_i=\sum_{i=1}^nb_i\)(\(a_i\),\(b_i\) 均为正整数)。 现在有 ......
Arrays 1856B 1856 Good CF

CF1857B Maximum Rounding

题目大意 给定一个自然数 \(n\),可以对任意一位进行四舍五入,可以进行任意次,求能得到的最大数。 \(n\) 的长度不超过 \(2\times 10^5\),没有前导零。 solution 首先,选择四舍五入的数一定 \(\ge 5\),不然对答案没有贡献。 其次,高位的数可能会受到低位的进位, ......
Rounding Maximum 1857B 1857 CF

CF1857F Sum and Product

根据题意我们有:\(b=a_i+a_j\),\(c=a_i\times a_j\)。 可以发现 \(a_i\) 和 \(a_j\) 是一元二次方程 \(x^2-bx+c=0\) 的根。 那么就可以根据求根公式 \(x=\dfrac{-b\pm \sqrt{b^2-4ac}}{2a}\) 来求出 \( ......
Product 1857F 1857 Sum and

掲示板题解

[传送门](https://www.luogu.com.cn/problem/AT1409)题意分析 将第 $i$ 个数提到第一个并输出,也就是倒着扫并输出。倒数第一成为第一,倒数第二成为第二,以此类推,输出该数后标记,最后再枚举一遍,如果没有输出就将它们按正序输出。思路 定义一个 bool 数组, ......
题解

Codeforces Round 901 (Div. 2) D. Jellyfish and Mex (DP)

Codeforces Round 901 (Div. 2) D. Jellyfish and Mex //思路:对于大于mex的数不做处理,把0删完为结束 //dp[j]为mex更新到j所需要的最小花费 //用mex=i时更新到j,转移方程为 dp[j] = min(dp[j], dp[i] + i ......
Codeforces Jellyfish Round 901 Div

CF1844E Great Grids 题解

Description 定义一个矩形 \(a\) 是好的,当且仅当其满足以下条件: 矩形中每一个元素 \(x\) 都为 \(A,B,C\) 其中之一 每一个 \(2\times 2\) 的子矩形都必须包含三个不同的字符 共用一条边的两个元素不相等 给定 \(k\) 个限制条件,限制条件分为两类: \ ......
题解 1844E Great Grids 1844

Codeforces Round 900 (Div. 3) E. Iva & Pav (位运算)

Codeforces Round 900 (Div. 3) E. Iva & Pav //思路:10^9转换为2^32上的位,进行位运算,a[x][i]为到x为止第i位的1个数前缀和 //对于与运算,如果当前i的前缀和不为 r-l+1 ,则这一位的与运算结果为0 //当找到从左往右第一个位置i为1 ......
Codeforces Round 900 Div Iva

Codeforces Round 901 (Div. 2) C. Jellyfish and Green Apple (位运算)

Codeforces Round 901 (Div. 2) C. Jellyfish and Green Apple //思路:浮点数转二进制,a/b的结果为 gcd(a,b)*最简分式(n/m)的结果 //苹果能分的前提是人数得是一个2的次幂数,通过切割只能分为形同0.001的二进制小数 //a/ ......
Codeforces Jellyfish Apple Round Green

CF1051F The Shortest Statement

很经典的题了,不如说这种带有\(m-n\)很小这类限制的题的处理方法基本都如出一辙 由于图连通因此先搞个生成树出来,考虑非树边的数量很少,因此对于每组询问可以先用LCA求出两点间只经过树边的最短距离 考虑每条树边会如何影响答案,其实无非就是会经过这条树边的某个端点罢了,因此我们把非树边的端点都拿出来 ......
Statement Shortest 1051F 1051 The

CF506D Mr. Kitayuta's Colorful Graph

好久没更新这个单题系列了,主要是最近没啥CF比赛空闲时间又少,今天忙里偷闲写了两个题 这个题就比较典了,两点是否连通一般都是想到并查集维护,现在的问题是要对每种颜色的边把贡献算清楚 很容易想到枚举所有颜色的边,每次求出所有连通分量后遍历一遍询问统计答案,这样正确性显然但复杂度是\(O(m\times ......
Kitayuta Colorful Graph 506D 506

「CF1491H」Yuezheng Ling and Dynamic Tree

\(\text{「CF1491H」Yuezheng Ling and Dynamic Tree}\) \(\text{Solution}\) 根据弹飞绵羊的思路,考虑分块维护一个 \(\text{top}(u)\) 表示 \(u\) 第一个不在当前块的祖先,设块长为 \(O(B)\),考虑如何求 \ ......
Yuezheng Dynamic 1491H 1491 Ling

题解 CF600D Area of Two Circles' Intersection

题意简述 给出两个圆的圆心和半径,求两个圆的面积交。 思路 首先通过两圆半径和圆心的距离判断两圆是相离,包含还是相交。相离面积交为 \(0\),包含答案即为较小的圆的面积。当包含时相当于求两个弓形的面积。(见下图) 由正弦定理有: \[\begin{aligned} S_{\text{弓}ACD}& ......
题解 Intersection Circles 600D Area