题解codeforces round 879

题解 P7405 [JOI 2021 Final] 雪玉

洛谷。 题意 应该好理解的。 分析 我们的所有雪球在同一时间之间的距离都是相同的,因此一段雪,要么是它左侧的第一个所取,要么右侧第一个所取,要么不被取,并且,我们每一个雪球所占有的雪是连续的一段。 我们令 \(L_i\) 表示第 \(i\) 步前所能走的最左点,\(R_i\) 表示第 \(i\) 步 ......
题解 P7405 Final 7405 2021

题解 「2019五校联考-镇海1」一棵树

题意 一棵 \(n\) 个结点的树,根节点为 \(1\),结点 \(i\) 的父亲是 \(f_i\)。\(f_1=f_0=0\)。对于每一个整数 \(i\),假如 \(f_{f_i}\) 不为 \(0\),那么就将 \(f_{f_i}\) 与 \(i\) 连上一条边。从每一个结点,每次随机向相邻的结 ......
题解 2019

[题解]AT_abc267_f [ABC267F] Exactly K Steps

大家好,我是毒瘤,喜欢用玄学算法过题。 发现题解区没有这个做法,于是来发一篇。 思路 首先发现如果一个点对 \((u,v)\) 的距离为 \(d\),那么在这棵树以 \(u\) 为根时,\(v\) 的深度为 \(d\)。 Code ......
题解 267 Exactly AT_abc Steps

bupt ai院第一次周赛题解

题目一 简单模拟题 点击查看代码 #include<bits/stdc++.h> using namespace std; #define ebk emplace_back #define x first #define y second typedef pair<int,int> PII; typ ......
题解 第一次 bupt

【课程】算法设计与分析——第八周 题解笔记

第八周 算法题解笔记 1极值点 题目描述 给定一个单峰函数f(x)和它的定义域,求它的极值点 该单峰函数f(x)保证定义域内有且只有一个极值点,且为极大值点 题解 本题感觉和dp关系不大,主要思路是三分法,和二分法非常类似,但没有二分法常用,主要用途是用来求单峰函数的极值 对于任意一个上凸函数,选取 ......
题解 算法 课程 笔记

# P5522 [yLOI2019] 棠梨煎雪 题解

P5522 [yLOI2019] 棠梨煎雪 题解 题目链接 分析1 抛开时间复杂度不谈,先来看看对于每次询问,如何计算合法的字符串个数。 对于每次询问的 \([l,r]\),我们可以对字符串的每一位按以下种情况讨论(设讨论的这一位为第 \(i\) 位): \(str[l..r][i]\) 既有 0 ......
棠梨 题解 P5522 5522 2019

[ARC107F] Sum of Abs 题解

题意 给定一个 \(N\) 个点,\(M\) 条边的简单无向图,每个节点有两个值 \(A_i\) 和 \(B_i\)。 现对于每个节点,均可以选择花费 \(A_i\) 的代价将其删去或保留节点。若一个节点被删除,那么所有与其向连的边也会被删除。 定义一个极大联通块的权值为联通块内所有节点的 \(B_ ......
题解 107F ARC 107 Sum

【题解 P2048】 超级钢琴

[NOI2010] 超级钢琴 题目描述 小 Z 是一个小有名气的钢琴家,最近 C 博士送给了小 Z 一架超级钢琴,小 Z 希望能够用这架钢琴创作出世界上最美妙的音乐。 这架超级钢琴可以弹奏出 \(n\) 个音符,编号为 \(1\) 至 \(n\)。第 \(i\) 个音符的美妙度为 \(A_i\),其 ......
题解 钢琴 P2048 2048

洛谷 P1931 题解

三倍经验 P1931 UVA436 SP9340 题意 给你 \(n(n \le 30)\) 种货币及 \(m\) 种汇率,问是否出现套利的情况。 怎么没给 \(m\) 的范围啊 思路 首先把汇率抽象成一张图。容易发现,若一个单位的某种货币经过一个环获得了大于一的代价,说明出现了套利。具体来说,考虑 ......
题解 P1931 1931

CF1542E2 Abnormal Permutation Pairs (hard version) 题解

怎么会有这么离谱的题目啊。 【模板】前缀和优化 dp。 思路 考虑一个基本的东西。 由于要求字典序的限制。 我们可以枚举最长公共前缀计算。 考虑如何求长度为 \(i\) 的排列有 \(j\) 个逆序对的数量。 设 \(dp_{i,j}\)。 \[dp_{i,j}=\sum_{k=0}^{i-1}dp ......
题解 Permutation Abnormal version 1542E

AT_gigacode_2019_b 题解

本题考查基本语法。 思路 用 while 来枚举每一组数据,用 if 判断是否合法。 在判断时需要使用逻辑运算符 &&,它的意思是左右两个要求如果同时成立,则会返回 true,否则返回 false。 \(a \ge x\),\(b \ge y\),\(a + b \ge z\)。 这三个条件都要同时 ......
题解 AT_gigacode gigacode 2019 AT

[题解] CF1051F The Shortest Statement

The Shortest Statement 给一张 \(n\) 个点 \(m\) 条边的无向连通图,保证 \(m - n \le 20\),\(q\) 次询问求两个点间的最短路。 \(n, m, q \le 10^5\)。 由于边数只比点数多 20,所以如果我们建出这张图的一棵生成树,那么非树边至 ......
题解 Statement Shortest 1051F 1051

P3045 题解

小清新数据结构题。 令已经确定被购买的奶牛的集合为 \(S\)。 注意到必然存在一个最优解使得集合 \(S\) 中 \(P_i-C_i\) 前 \(k\) 大的奶牛使用了优惠券。 证明: 令使用优惠券的集合为 \(S'\),显然有 \(|S'|=k\),则花费为: \[\sum_{i\in S\we ......
题解 P3045 3045

Codeforces Round 907 (Div. 2)

\(A. Sorting with Twos\) https://codeforces.com/contest/1891/submission/232689614 \(B. Deja Vu\) https://codeforces.com/contest/1891/submission/232690 ......
Codeforces Round 907 Div

「NOIP2014」解方程 题解

思路 首先我们可以观察到 \(n\) 和 \(m\) 与\(a_i\) 相比小的很多,所以我们可以考虑直接暴力求解 但是 \(a_i\) 太大了,所以如果需要直接计算的话需要全程使用高精度算法。 因为高精度算法代码量有大速度又慢我们可依考虑将 \(a_i\) 转化为一个极大的指数取模的结果,因为只有 ......
题解 方程 NOIP 2014

牛客周赛 Round 19

牛客周赛 Round 19 A. 小红的字符串大小写变换 题意: 小红拿到了一个仅由大小写字母组成的长度为n的字符串,她希望把前k个字母变成大写,后 n−k个字母变成小写,你能帮帮她吗? 代码: #include <bits/stdc++.h> using namespace std ; const ......
Round 19

Q7.4.1.2. 奇怪的方格涂色 题解

原题链接 首先想到暴力网络流:考虑最小割,\(S\) 表示染黑色,\(T\) 表示染白色。 每个格子 \(i\),连 \((S,i,b_i)\),\((i,T,w_i)\)。怎么处理“奇怪的方格”?连 \((i,i^\prime,p_i)\) 和 \((i^\prime,j,+\infty)\)。表 ......
题解 方格 Q7

AT_abc230_f [ABC230F] Predilection 题解

prelogue 各位在比赛的时候一定要坚信自己的式子,然后去考虑自己的实现是不是挂了。本人在今天模拟赛的时候质疑自己的式子然后不看实现 100 -> 0。 analysis 考虑对这个给定数组进行前缀和,然后就将问题转化成为了求这个前缀和数组的子序列的个数。对于求子序列,我们很轻松可以写出来这个式 ......
题解 Predilection 230 AT_abc 230F

Codeforces Round 906 (Div. 2)

A. 简单题 B. 简单题 C. 比赛时没做出来,赶着回宿舍,过了几天来补发现很简单秒掉 D. Doremy's Connecting Plan 给定n个结点的图,每个点有一个权值a[i],开始时图上没有边,如果与点i相邻的点(包括点i)的权值的和记为Sum_i. 给定一个常数c,如果 Sum_i+ ......
Codeforces Round 906 Div

Codeforces Round 809 (Div. 2) D1. Chopping Carrots (Easy Version) 题解

题意 Codeforces Round 809 (Div. 2) D1. Chopping Carrots (Easy Version) 给两个整数\(n, k\), 一个数组 \(a\), 要求构造一个同样长度的数组 \(p\), 使得 \(\max\limits_{1 \le i \le n}\ ......
题解 Codeforces Chopping Carrots Version

[USACO23FEB] Equal Sum Subarrays G 题解

[USACO23FEB] Equal Sum Subarrays G 题解 题目链接 \(O(n^5)\) 暴力 显然,如果修改 \(a_i\) 的值,只会影响包含 \(a_i\) 的区间的区间和。于是对于每个 \(a_i\),可以将所有区间分成两类,即包含 \(a_i\) 的区间和不包含 \(a_ ......
题解 Subarrays USACO Equal FEB

AGC041D-Problem Scores 题解

题目链接 luogu atcoder 分析 令 \(k=\left \lfloor \frac{n}{2} \right \rfloor\) 对于第三个条件,只需要满足 \(\sum_{i=1}^{k+1}a[i]<\sum_{i=n-k+1}^{n}a[i]\) 即可 有一个 \(trick\): ......
题解 D-Problem Problem Scores AGC

[题解] CF1748E Yet Another Array Counting Problem

Yet Another Array Counting Problem 给你一个长度为 \(n\) 的序列和一个数 \(m\),求有多少个长度为 \(n\) 的序列 \(b\) 满足: \(\forall i \in [1, n], b_i \in [1, m]\)。 对于每个区间 \([l, r]\ ......
题解 Counting Another Problem 1748E

[题解] P4435 [COCI2017-2018#2] ​​Garaža

P4435 [COCI2017-2018#2] Garaža 给你一个长度为 \(n\) 的序列 \(a\),单点改,查询区间 \(\gcd\) 不为 1 的子区间个数。 \(n, Q \le 10^5, a_i \le 10^9\)。 先看单次全局查询怎么做。考虑一个分治,每次我们要计算跨过分治中 ......
题解 P4435 4435 2017 2018

【题解】P4768 [NOI2018] 归程 / Kruskal 重构树

补补以前懒得总结的零碎东西。 kruskal 重构树 使用条件:求无向图中两点之间所有路径的最大边权的最小值 构造: 依 kruskal 得到最小生成树 从小到大考虑生成树中的边 \((u, v)\) 对于 \((u, v)\),新建一个结点,作为重构树中 \(u, v\) 的父结点 该结点的点权为 ......
归程 题解 Kruskal P4768 4768

SPOJ1805 HISTOGRA - Largest Rectangle in a Histogram 题解

Link SPOJ1805 HISTOGRA - Largest Rectangle in a Histogram Question 在一条水平线上有 \(n\) 个高为 \(a_i\) 的矩形,求包含于这些矩形的最大子矩形面积。 Solution 我们定义 \(L_i\) 表示有 \(a_i\) ......
题解 Histogram Rectangle HISTOGRA Largest

题解 AT_codefestival_2016_final_f【Road of the King】

注意到当前移动到的位置并不重要,重要的是经过的点数和 \(1\) 所在强连通分量大小,因此把它们放进状态里:设 \(f_{i,j,k}\) 表示进行 \(i\) 次移动,经过了 \(j\) 个不同的点,此时 \(1\) 所在的强连通分量大小为 \(k\) 的方案数。 考察下一次移动到的点的情况: 没 ......

【题解 P4211】 LCA

[LNOI2014] LCA 题目描述 给出一个 \(n\) 个节点的有根树(编号为 \(0\) 到 \(n-1\),根节点为 \(0\) )。 一个点的深度定义为这个节点到根的距离 \(+1\)。 设 \(dep[i]\) 表示点 \(i\) 的深度,\(\operatorname{LCA}(i, ......
题解 P4211 4211 LCA

[十二省联考 2019] 异或粽子 题解

只能说相当套路的一道题目。 对于区间异或和,我们不妨先做一遍区间前缀异或和,记作 \(sum_i\),表示 \(a_1\sim a_i\) 的异或和,那么区间 \([l,r]\) 的异或和即可转化为 $sum_r \bigoplus sum_{l-1} $,那么我们呢只需对 \(n+1\) 个数字进 ......
题解 粽子 2019

UVA11282 题解

题意简述 Kelly 寄出去 \(n\) 封邀请函,但她希望只有小于等于 \(m\) 个人收到他们自己的邀请函(即有至少 \(n-m\) 个人收到了别人的邀请函)。 思路形成 容易发现,这道题是一个典型的错排题,我们只需要分别求出 \(n-m\) 个元素到 \(n\) 个元素的错排即可。 接下来为错 ......
题解 11282 UVA