题解codeforces round 879

UVA202 题解

思路分析 前言 又是一道小模拟题,不过细节巨多,可以用来锻炼自己的代码能力。 解法 本题实际上就是模拟长除法的计算过程,其中每一步除法时都有被除数及其余数,当被除数出现重复时就表示出现循环节了。所以需要记录每一次的被除数及其在循环小数中的位置,需要判断当除数不够除,每一次补零也需要记录其对应的位置。 ......
题解 UVA 202

题解 [CQOI2009] 中位数

题目链接 要想使得数字 \(x\) 是中位数,就必须选出 \(k\) 个小于 \(x\) 的数和 \(k\) 个大于 \(x\) 的数。 我们考虑对数字附上特殊值,小于 \(x\) 的数赋值为 \(-1\),大于 \(x\) 的数赋值为 \(1\),\(x\) 则赋值为 \(0\),那么若一段包含 ......
中位数 题解 CQOI 2009

[题解] Codeforces Round 895 (Div. 3) F~G

Codeforces Round 895 (Div. 3) F~G F. Selling a Menageri 考虑如何让卖出的价格翻倍,那么自然是从 \(i \to a_i\) 。通过这样连边,我们可以发现,边集构成了基环树森林。显而易见的是,如果不考虑环,那么图就是拓扑图,按照拓扑关系跑一遍,就 ......
题解 Codeforces Round 895 Div

Codeforces Round 895 (Div. 3) 考试总结

前言 首先就是不太会打 CF,主要体现在晚上熬夜太难受,不过这场的状态还是挺好的。 然后就是时间把握不好,CCF 和模拟赛基本都是 \(3h\) 到 \(4h\),而 CF 只有 \(2h\) 左右。所以时间很紧,像这场,明明后面的题会做也没时间做了。 赛时实况: A B C D E F G √ √ ......
Codeforces Round 895 Div

UVA11809 题解

思路分析 前言 一道比较简单的数学题。 解法 根据题意可以推算出最大值 $v=\Big(1-\dfrac{1}{2{M+1}}\Big)\times2{2{E-1}}=A\times10B$。因为两边都比较大,所以可以同时求以 $10$ 为底的对数:$\lg v=\lg(2{M+1}-1)-(M+1 ......
题解 11809 UVA

[AGC036C] GP 2 题解

洛谷题目链接 AT原题 考虑构造出来的序列 \(a\) 的特征,因为每次会给 \(a_i\) 加 \(1\),\(a_j\) 加 \(2\),所以每次操作后 \(\sum a_i\) 会加上 \(3\)。 所以有\(\sum a_i =3m\) 。 又因为每次操作只给一个数加 \(1\),所以每次操 ......
题解 036C AGC 036 GP

SMU Autumn 2023 Round 1(Div.1)

SMU Autumn 2023 Round 1(Div.1) A. Set or Decrease(枚举) 题意就是你可以进行两种操作,将\(a_i-1\)或者令\(a_i\)等于\(a_j\),然后使得\(\sum\limits_{i=1}^{n}a_i \leq k\),求最少的操作步数 首先我 ......
Autumn Round 2023 SMU Div

[题解] CF29D Ant on the Tree

CF29D Ant on the Tree 题目知识点:LCA。 题目传送门 题意 给定一棵以 \(1\) 为节点的树,再给定树的所有叶子节点的一个序列。 现在执行一个操作:从 \(1\) 开始遍历每个节点,并返回根,要求每条边经过的次数一定为 \(2\) 。 问是否能够使得访问节点序列中叶子节点的 ......
题解 Tree 29D Ant the

P2206题解

题目大意: 给定一些指令,计算需要多大的舞台。 这是一道大模拟!!! 只要遍历每次指令,然后判断是否摔倒,摔倒输出`-1`否则记录,最后求出面积就行了。 最后附上代码 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int xx[] ......
题解 P2206 2206

P2203题解

题意 给定一个环形 01 序列,每次变化时,对于每个位置,如果前一个值是 1 ,则当前值翻转。求变化 B 次后的序列。 思路 由于 B 的值很大,所以如果对每一次变化进行模拟,效率非常低下。 不难发现,每一次变化后的状态完全是由当前状态决定的,而 N 的范围很小,所以可能的状态总数 2^N 也不是很 ......
题解 P2203 2203

CF1513C题解

一道递推 由于对于一个数 x ,可得 x+10-x=10(废话) 于是问题就变成了 0+m 次,然后 x+m 就变成 0+x+m (还是废话) 于是可以写一个递推。 首先对于函数 f(m) 可分为 m ≤ 9 和 m>9 ,然后可得出递推式结果为 1 或 f(m-9)+f(m-10) ,所以我们可以 ......
题解 1513C 1513 CF

CF812B题解

康了康唯一的题解,说没必要用DP,我就给出DP的解法。 这其实是道水题,唯一的坑是有可能楼上没有开的灯,坑了我们机房的一堆人( WA on test 4 ),剩下的就是DP。 我们用 a[n][0],表示第 n 层的第一个房间,用 a[n][1],表示第 n 层的最后一个房间。 这里提供一个收集型的 ......
题解 812B 812 CF

CF1690E题解

## 主要题意:有 $n$ 个礼物,要两两合并,然后除以 $k$ 最后求和最大。 ## 思路:先加入每个数除以 $k$ 的商(单独组成 $k$ 的个数),然后全部 $ \bmod \ k$ 存入数组,排序,最后双指针一个前一个后求两个余数可以大于等于 $k$ 的两个礼物。 ## 代码: ```cpp ......
题解 1690E 1690 CF

CF1690C题解

## 主要题意:> 有 $n$ 个任务,必须在 $s_i$ 到 $t_i$ 之间完成,求每个任务最大可以完成多久(优先前面的最大)。## 思路> 就拿一个变量记录当前时间,然后贪心选择 $a[i].t$ 和 $ a[i + 1].t$ 中的最小值,(应为至少也要给下一个任务留 $1$ 的时间),最后 ......
题解 1690C 1690 CF

【题解】[ABC318G] Typical Path Problem(圆方树,树上统计)

【题解】[ABC318G] Typical Path Problem 题目链接 G - Typical Path Problem 题意概述 给定一个 \(n\) 个点 \(m\) 条边的无向连通图。 给定三个该图上的不同顶点 \(A,B,C\),问是否存在一条从 \(A\) 到 \(C\) 的简单路 ......
题解 Typical Problem 318G Path

luogu P1419 题解

### [题目链接](https://www.luogu.com.cn/problem/P1419) ## description 给定一个长度为 $n$ 的序列(值域为 $[-10^4,10^4]$)和正整数 $st,ed$。 求一个区间,使得其长度 $\in [st,ed]$ 且平均值最大,输出 ......
题解 luogu P1419 1419

CF855CHelga Hufflepuff's Cup题解

根据题意,我们可以发现这是一道树形 dp。首先考虑设计状态,注意到 $k$ 较小,那么我们可以在 dp 数组里面塞一维来维护特殊颜色点的个数。然后题目里有颜色编号的大小限制,所以第三维用 $0/1/2$ 来分别表示当前颜色小于/等于/大于 $k$ 的情况。那么这样的话就是用 $f_{i,j,0/1/ ......
题解 Hufflepuff CHelga 855 Cup

Codeforces Round 895 (Div. 3)

# Codeforces Round 895 (Div. 3) [比赛链接](https://codeforces.com/contest/1872) ## A. Two Vessels [题目链接](https://codeforces.com/contest/1872/problem/A) 给你 ......
Codeforces Round 895 Div

【题解】CF1830A Copil Copac Draws Trees

你考虑对于每一条边打上时间标记,然后在树上 `DFS` 的时候维护一下以 $u$ 为根的答案即可,然后将答案合并,反正很简单,看代码就懂。 **code:** ```cpp #include using namespace std; const int NN = 2e5 + 8; int t,n; ......
题解 1830A Copil Copac Draws

【题解】CF1854E Game Bundles

你考虑我们需要构造出一组解,显然地这样的解有很多很多种(${60^{60}}$ 显然是及其地大)。 那关键是我们如何进行构造。 我们很容易知道每个集合里面 $> 30$ 的数只有一个。 所以我们可以在 $[1,30]$ 中随机 $a_i$,直到满足的组数恰好小于等于 $a_i$,添加的时候维护数组 ......
题解 Bundles 1854E 1854 Game

【题解】CF1854D Michael and Hotel

> 交互题。 > > 考虑题意即为找到 $1$ 所在内向基环树上的所有点。 我们考虑我们怎么找到环上的点,我们考虑我们可以 $O(\log n)$ 询问到一个环上的点,方法即为将 $k$ 定为一个大数,然后二分点集。然后我们便可以在 $O(n\log n)$ 的时间复杂度内找到所有环上的点(我们一会 ......
题解 Michael 1854D Hotel 1854

【题解】CF1854C Expected Destruction

你考虑,我们如果没有重合就将元素删去的操作,我们就有答案:$n \times (m+1) - \sum\limits_{i=1}^n a_i$ 但是,我们显然最后的答案是小于这个的,如果有两个数在 $i$ 相撞,那么我们的答案就会减少 $(m-i+1)$ 我们设 $f_{i,j}$ 表示两个数分别在 ......
题解 Destruction Expected 1854C 1854

【题解】AtCoder Regular Contest 161

评价:感觉这场题目质量不咋地啊,都是一些乱搞题 ## A.Make M ### 题目描述: $N$ 是一个正奇数。我们称一个长度为 $N$ 的序列 $S$ 是 **M 型**序列,当前仅当对于所有的 $i=2,4,6,\dots,N-1$(即偶数位),都有 $S_{i-1}S_{i+1}$。 现在给 ......
题解 AtCoder Regular Contest 161

【题解】CF1854B Earn or Unlock

你考虑,我们很容易地可以构造一个 $n^2$ 的 `DP`: - $f_{i,j}$ 表示当前在 $i$ 张牌,还可以摸 $j$ 张牌的最大分数。转移也很好转移,你考虑一眼就会。 但是我们显然要缩减复杂度,我们看到数据范围 $10^5$,想到了根号。 分块???显然不行。莫队???都没有区间查询,怎 ......
题解 Unlock 1854B 1854 Earn

CF613D 题解

一、题目描述: 给你一颗 $n$ 个点的树,有 $m$ 组询问。 一个点如果被攻占,那么这个点就不能通行了。 第 $i$ 次询问给出 $k_i$ 个关键点,关键点不能被攻占。 求最少攻占多少个点可以使得关键点两两不连通。若不可能,输出 $-1$。 数据范围:$1\le n,m\le 1\times ......
题解 613D 613 CF

9月杂题题解

# [arc124_e](https://www.luogu.com.cn/problem/AT_arc124_e) 一种方案的权值为 $\prod\limits_{1\leq i\leq n} b_i$,考虑其组合意义,就是每个人在自己最终的球中选一个。 可以发现要么拿自己原来的球,要么拿上一个人 ......
题解

2023短学期0907题解

# 数组的排序 ### Description 对一个数组内的元素按绝对值从小到大排个序吧。 ### Input 第一行输入一个数n(1 点击查看代码 ``` #include #include #include using namespace std; bool compareAbs(int a, ......
题解 学期 2023 0907

【题解】CF1854A2 Dual (Hard Version)

> 你考虑我们 A1 只需要通过自加凑一个最大的数,然后将所有的数都变成正数,最后做一次前缀和即可。(不懂可以看看落谷题解) 好,我们现在去看 `Hard Version` 的 $31$ 次操作怎么分配: - 前缀和(全为正)/ 后缀和 (全为负)—— $19$ 次 - 还剩下 $12$ 次,不知道 ......
题解 Version 1854A 1854 Dual

题解 CF1787G【Colorful Tree Again】

## problem 贼眉鼠眼有一棵 $N$ 个节点的树,这棵树很特殊,每条边都有边权和颜色。 果宝特攻会不定时来进攻贼眉鼠眼。具体地,在前 $Q$ 个时刻,在每个时刻,会发生以下两个事件之一: 1. 果宝特攻摧毁了树上的一个节点 $u$。 1. 贼眉鼠眼修复了树上的一个节点 $u$。 定义一条简单 ......
题解 Colorful 1787G Again 1787

2023短学期0908题解

# 简单算术 Description 计算数列1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + …的前n项之和。 Input 输入有多组数据 输入一个正整数n。 Output 输出数列前n项的和。输出保留5位小数。 Samples input Copy 10 100000 5 1 ......
题解 学期 2023 0908