题解1157c cf c2

CF1806E

题面 看起来是个 DS 题,事实上是个乱搞题,做法挺多的。由于它给的这个结构看起来就不好优化,所以考虑随机化。 由于两个点到达 LCA 后剩下的贡献就是 LCA 到根的每个点权值的平方,这部分可以 $O(n)$ 预处理,所以只需要考虑两个点之间的路径所产生的贡献。 在树上随机撒 $\sqrt n$ ......
1806E 1806 CF

CF1227D2

题面 如果我们将 $a$ 数组从大到小排序,那么显然的,前 $k$ 个数就对应着长度为 $k$ 的元素和最大的子序列中各元素的值。 由于要求字典序最小,所以我们将 $a$ 数组中的元素下标进行排序,在排序时以对应的元素值为第一关键字,以元素下标为第二关键字(排序后对应的元素值从大到小,大小相等的元素 ......
1227D 1227 CF D2

CF1699C

前排提醒:这是本题最烂的做法,代码长达 91 行。 由于题里提到了 $\operatorname{MEX}$,所以考虑该怎么求 $\operatorname{MEX}$。 我们使用主席树。由于主席树难以直接处理下标为 $0$ 的情况,所以给数组中的每个值都加上一个偏移量 $1$,同时下文提到的 $\ ......
1699C 1699 CF

CF1798C

题面 形式化题意: 给出长为 $n$ 的两个序列 ${a}$ 和 ${b}$,定义序列 ${c}$ 满足:$c_i=d_ib_i$,其中 $d_i\mid a_i$。求 ${c}$ 最少能被分成多少个连续段,使得每个连续段内的值相同。 首先对于一个 $i$,如果 $c_i$ 能和 $c_{i-1}$ ......
1798C 1798 CF

CF1798E

题面 看到要求每一位的答案,首先考虑倒着扫,因为加数一般都比删数好做。 对于任意长为 $m$ 的的序列 ${b}$,我们都可以通过将 $b_1$ 改成 $1$,将 $b_2$ 改成 $m-2$ 使得 ${b}$ 成为一个 multitest,因此操作数不会超过 $2$。 现在讨论答案的三种情况: 答 ......
1798E 1798 CF

Leetcode 15. 三数之和 Python题解

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/3sum 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 1. 排序+双指针 解题思路: 一开始想到暴力破解法,使用三重循环寻找和为0的3个元素,在此期间使用集合来去重。这样做的时间 ......
题解 之和 Leetcode Python 15

[USACO17JAN]Promotion Counting P 题解

[USACO17JAN]Promotion Counting P 题解 题目描述 给你一棵树,每个点有一个点权 $p_i$,求 $\forall i$,$i$ 的子树内点权比 $i$ 的点权大的点的数量。 思路 看到子树我就忍不住了,不得不狠狠地吧树拍到 $dfn$ 序上了,发现用 $dfn$ 拍扁 ......
题解 Promotion Counting USACO JAN

Atcoder题解:Agc056_e

$$也想养老鼠捏$$ 先把当前要解决的点旋转到位置 $n$,问题不变。求 $n$ 次即可。 我们先来看两个没有结果的解法。 一就是一 我们先考虑暴力 $dp$,设 $dp_{i,mask}$ 表示当前已经安放了 $i$ 个奶酪,被喂饱的老鼠的集合为 $mask$ 的概率。容易发现 $i$ 其实就是 ......
题解 Atcoder Agc 056

P9228 原神 题解

题目传送门 题目大意 有一个魔法师,她可以用火元素攻击魔法把对附着冰元素的怪物的伤害 $\times 2$,用冰元素攻击魔法把对附着火元素的怪物的伤害 $+5$。 每个怪物初始时没有附着任何元素,给出冰、火元素对每个怪物的初始伤害,魔法师可以任意安排攻击顺序,求最大总伤害。 解题思路 要求最大总伤害 ......
题解 P9228 9228

CF1819B The Butcher

题意:有一个未知大小的矩形,每次横着或者竖着剪成两块,将其中一块放入盒子里,继续对另一块进行操作,最后把剩余的也放进盒子里,现在已知盒子内的所有矩形的长和宽,问原来可能的矩形长和宽是多少(矩形没有进行旋转) Solution 比较容易想到把所有的矩形面积和加起来就是原矩形的面积了,然后找到矩形中最大 ......
Butcher 1819B 1819 The CF

CF题解

E. Rearrange Brackets 2100 括号树 gq! https://codeforces.com/contest/1821/problem/E 题解:若我们把序列看作是一个由匹配括号组成的森林,外层括号是内层括号的父亲,则整个正则括号序列的cost可以看作是森林中所有点的深度之和, ......
题解

Leetcode 88. 合并两个有序数组 Python题解

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/merge-sorted-array 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 1.暴力法 解题思路:由于题目要求原地合并,直接返回nums1数组。因此一个可行的方案是合并两个 ......
题解 数组 Leetcode 两个 Python

CF1821D Black Cells 题解 贪心

题目链接:https://codeforces.com/problemset/problem/1821/D 题目大意 在一条数轴上有无穷个点,下标为 $0, 1, 2, \ldots$,初始时每个点都是白色的。 你控制着一个机器人,初始时机器人位于坐标为 $0$ 的那个点。 机器人有两种状态:激活状 ......
题解 1821D Black Cells 1821

Educational Codeforces Round 147 (Rated for Div. 2) A-D题解

A. Matching 题意:给出一个数,数中可能会有?,可以用0-9替换问号,问最后有多少种方法 Solution 对于位于首位的数可以用1-9替换,对于其他位置的额、可以用0-9替换,如果首位为0则无解 void solve() { string s;cin>>s; if(s[0]=='0') ......
题解 Educational Codeforces Round Rated

2023年团体程序设计天梯赛 题解

仅更新L1,L2随后写 L1-1 最好的文档 点击查看本题 有一位软件工程师说过一句很有道理的话:“Good code is its own best documentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。 输入格式: 本题没有输入。 输出格式: 在一行中输出 ......
天梯 题解 程序设计 团体 程序

【题解】[ABC299F] Square Subsequence(DP)

【题解】[ABC299F] Square Subsequence 题目链接 [ABC299F] Square Subsequence 题意概述 给定一个由小写英文字母组成的字符串 $S$。计算满足以下条件的非空字符串 $T$ 的数量,答案对 $998244353$ 取模。 将 $T$ 复制一倍形成 ......
题解 Subsequence Square 299F ABC

abc252_f Bread 题解

题目传送门 好眼熟啊…… 题意 有一个长度为 $l$ 的~~扩散性百万甜~~面包要分给 $n$ 个小朋友,第 $i$ 个小朋友想要一根长度为 $a_i$ 的面包,保证 $\sum\limits_{1\leqslant i \leqslant n} a_i \leqslant l$,注意是小于等于,即 ......
题解 Bread abc 252

Leetcode 53. 最大子数组和 Python题解

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/maximum-subarray 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 1.动态规划 解题思路: 对于当前元素nums[i]来说,最大的连续子数组可以为: nums[0:i ......
题解 数组 Leetcode Python 53

Leetcode 1.两数之和 Python题解

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/two-sum 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 1.暴力遍历法 解题思路:遍历数组,对于当前的元素 nums[i],如果 result=taget-nums[i] 在 ......
题解 之和 Leetcode Python

第14届蓝桥杯C++B组省赛题解(更新中)

A. 日期统计 题目内容 小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。 数组中的元素从左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 ......
蓝桥 题解

「解题报告」CF708E Student's Camp

感觉 这篇题解 的做法很强啊,贺一下。 连通:考虑将每一种情况对应一条路径。钦定这条路径为能往下则往下,不能往下就向左或向右走到第一个能往下的位置然后往下。 这样只考虑每一种路径,再对应的计算路径相应的情况的概率和。这个是容易计算的,而路径需要记录的状态少了一维,于是就可以 $O(nm)$ 的解决了 ......
Student 报告 708E Camp 708

JOISC2019 题解

通信题还没做。 JOISC19 D1T1 試験 (Examination) 双 log 很简单。但是单 log 才是这题的本质。 我们进行一些补集转换。我们能算的是什么?我们能算一条边在边界上的直角边平行于坐标轴的直角三角形数点,我们能算长方形数点。 我们要算 1 的点数,那相当于 2 的点数减去 ......
题解 JOISC 2019

abc253_e Distance Sequence 题解

题目传送门 简单的动态规划题。 绝对详细! 题意 给定三个整数 $n$、$m$ 和 $k$,求有多少个序列满足以下条件: 对于 $1 \leqslant i \leqslant n$,$1 \leqslant a_i \leqslant m$。 对于 $1 < i \leqslant n$,$\le ......
题解 Distance Sequence abc 253

数据结构题解

W1 # 怪兽训练计划1 ## 题目描述 小明有一个怪兽训练计划。 初始时,怪兽充满能量,能量值为8800。如果训练怪兽,每分钟损耗能量值400;如果让怪兽休息,每分钟增加能量值200。能量的损耗和增加都是均匀变化的。 小明打算让怪兽训练一分钟、休息一分钟、再训练一分钟、再休息一分钟……如此循环,如 ......
题解 数据结构 结构 数据

题解 CF825E【Minimal Labels】

偶然间翻到三个月前写的这个题,发现现有的题解均未给出解法的正确性证明,只是不明不白地写了一些对理解做法毫无帮助的话。我认为解法的正确性并不显然,因此这篇题解主要给出正确性证明,补上逻辑漏洞。 解法与其他题解一样,即:建反图,然后跑拓扑排序,每次优先取出可以取出的编号最大的点,从 $n$ 到 $1$ ......
题解 Minimal Labels 825E 825

luogu P2568 题解

luogu P2568 题解 description 求 $\sum\limits_{x=1}^{n} \sum\limits_{y=1}^{n} [\gcd(x,y)\in \mathbb{P}]$ $\mathbb{P}$ 为素数集合 $n \leq 10^7$ solution $\begin ......
题解 luogu P2568 2568

阶梯网格计数模型 & Codeforces 1770G - Koxia and Bracket 题解

更差的阅读体验(bushi) 其实 2022 年省选前联考出过类似的套路,但当时太鸽了就没有总结。 阶梯网格计数问题是指以下一类问题: 问题:给定一个 $n$ 列阶梯状网格图,第 $i$ 列高度为 $c_i$(保证 $c_i$ 不降),每次可以向上或向右走一步,不能超出网格边界(即所有经过的点 $( ......
题解 网格 阶梯 Codeforces 模型

第九周题解QAQ

A - How many prime numbers #include<iostream> using namespace std; bool isprime(int x)//判断素数(朴素版方法) { if(x<2) return false; for(int i=2;i<=x/i;i++) if ......
题解 QAQ

CF1714D 题解

CF1714D 题解 description 给定黑色文本 $t$ 和 $n$ 个字符串 $s_1,s_2...s_n$. 一次操作可以将 $t$ 中与 $s_i$ 相等的子串涂成红色。 一个位置多次涂色后仍是红色。$s_i$ 可以使用多次。 求将 $t$ 涂成红色的最小次数,并输出方案。 无解输出 ......
题解 1714D 1714 CF

CF ER147 div.2

A 简单计数题,判断前导零。 #include <bits/stdc++.h> using namespace std; int T; int main(){ cin >> T; while(T --){ char s[10]; cin >> s; int n = strlen(s); int an ......
147 div CF ER