题解1203 div cf

CF1638C

蒟蒻有一种用 set 的乱搞(?)做法。 将题目中的连边要求反着说一遍:$i>j$ 且 $a_i<a_j$。 考虑遍历 $a$ 时,遍历到的 $a_i$ 编号一定要比它前面的大,只需要将前面比它大的元素都和它连起来。 将每个连通块看作一个整体,只要 $a_i$ 比其中任意一个小,$a_i$ 就可以加 ......
1638C 1638 CF

CF1654C

题意 有一些蛋糕,最开始只有一块。每次可以选择质量为 $x(x\ge2)$ 的一块,将其切成 $\left\lfloor\frac x2\right\rfloor$ 和 $\left\lceil\frac x2\right\rceil$ 两块。现在给定切 $n-1$ 次后的结果,判断能否通过最开始的 ......
1654C 1654 CF

CF1698D

观察题面:$n\le10^4$,询问次数 $\le15$,因此考虑二分。 用 $x$ 表示没有被交换过的那个元素。 考虑当询问区间 $[l,r]$ 时,得到的序列满足什么条件,才能确定 $x$ 在这个区间内。 考虑一个在交换前的序列的 $[l,r]$ 区间内的元素 $y$,由题意 $a_y=y$。设 ......
1698D 1698 CF

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

Educational Codeforces Round 147 (Rated for Div. 2)

题目链接 B 核心思路 真的需要加强了,看到这个最大值和最小值我们其实也需要往对应的最大值和最小值的相关操作去想,不如前缀最小值/前缀最大值或者是后缀最小值/后缀最大值。 这里一个比较直接的想法就是想找到不同的地方,然后看不可以扩展。那么怎么看是否可以扩展呢,如果是左边的话,就看当前的位置是不是小于 ......
Educational Codeforces Round Rated 147

Leetcode 15. 三数之和 Python题解

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

Educational Codeforces Round 127 (Rated for Div. 2)

题目链接 D 核心思路 首先挖掘下操作的性质吧: x>1&&x+3<10: 1 x x+1 x+2 x+3 10 我们可以发现这样子好像对于我们的结果是没有影响的,答案还是9. 所以这个性质就挖掘出来了啊,只要我们把一段连续的插入到对应的区间里面就好了。也就是只要这个区间的左端点小于插入连续的数的最 ......
Educational Codeforces Round Rated 127

JS实现整个DIV里的字号整体放大或缩小

JS实现对DIV里内容的字体方法或缩小 html代码 只写主要代码,样式可以自己写 <div class="content_sms"> 这是需要放大或缩小的内容 </div> <!-- 放大缩小按钮--> <div id= "bigFontSize"> 放大 </div> <div id= "sma ......
字号 整体 DIV

Codeforces Beta Round 96 (Div. 1) -- C. Logo Turtle (dp,记忆化搜索)

#记忆化搜索 就是暴力,多一步优化,走过的路别走了。说实话,可能是数据水了,居然能过。 const int N = 510; string s; int n, ans; bool st[501][501][2][50]; void dfs(int x, int idx, int dir, int k ......
Codeforces 记忆 Turtle Round Beta

[USACO17JAN]Promotion Counting P 题解

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

Educational Codeforces Round 39 (Rated for Div. 2) -- D. Timetable (DP)

写得很折磨人,每次dp都写个一个多小时,写出来明明觉得不难 ^.^ 题目大意:可以进行K次操作,把删除1,进行k次操作后每行第一个 1 和最后一个 1 的位置 相减的绝对值加 1 得到的结果最小。 做法:每次肯定是要从左删或者从右边删,然后顺着这个思路,先把每行的进行小于等于k次操作时, 每行最小的 ......
Educational Codeforces Timetable Round Rated

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

Codeforces Round 866 (Div. 2)(A~C)

A. Yura's New Name 题意 在字符串$s$中添加 "" 或者 "^",使得$s$中的任意字符都必须为 "^^" 或者 "^^" 的一部分,求最少要添加的字符数量 思路 当字符串头部为 "_" 时,一定要在前面添加1个字符 "^" 当字符串尾部为 "_" 时,一定要在后面添加1个字符 ......
Codeforces Round 866 Div