题解sorting binary string

CF1842G Tenzing and Random Operations 题解

题意 给定一个长度为 \(n\) 的正整数序列 \(a\),对该序列进行 \(m\) 次操作,定义每次操作如下: 从 \(\left[1, n\right]\) 中等概率选取一个 \(i\),对于 \(j \in \left[i, n\right]\),执行操作 \(a_j \leftarrow a ......
题解 Operations Tenzing Random 1842G

CF1886C Decreasing String

单调栈的应用。 显然可以 \(O(n)\) 地找到 \(pos\) 所属的 \(s_i\) 段,所以我们只需要得到 \(s_i\) 即可。不难发现,删除元素的规则应该是从 \(1\) 到 \(n\) 枚举每个元素,删除它前面“紧邻的”比他大的元素(例如对于 eadcb 中的 b 删除掉 dc)。 赛 ......
Decreasing String 1886C 1886 CF

p4801题解

解题思路: 确实是一道很好的贪心,但由于加上了水这个影响因素,使题目复杂度上升了不少。(考虑的东西多了嘛) 输个入。 对饼干温度无脑排序。 求最小值。 求最大值(用双指针做,后面会讲)。 解题过程: 先输入(这个步骤就不用我讲了) int a[1000005]; long long n,ws; lo ......
题解 p4801 4801

Educational Codeforces Round 109 (Rated for Div. 2) B. Permutation Sort

给一个长为 \(n\) 的排列 \(a\),你可以执行以下操作:选择一个子数组并且按任意顺序重排,但这个子数组不能是数组本身。 询问最少经过多少次操作可以使得排列 \(a\) 变为升序。 定义操作次数为 \(ans\) 。 若数组已经有序,\(ans = 0\) 。 若 \(a_1 = 1\) 或者 ......

CF906C Party 题解

Party DP 是门艺术。 \(n\leq 22\) 一眼状压。但是怎么状压就比较困难,因为同一个 \(f[x]\) 可以代表成千上万种含义。 这里我们采用,设 \(f[x]\) 表示当 \(x\) 集合中所有的点都处于同一个团内的最小代价。 则我们有 \(f[x \operatorname{or ......
题解 Party 906C 906 CF

[AGC013D] Piling Up 题解

Piling Up 一个很好的思路就是设 \(f[i][j]\) 表示当前进行了 \(i\) 步,并且盒子中剩下了 \(j\) 个白球的方案数,然后直接 DP 即可。 但是这样是有问题的,它没有考虑到重复计算的问题。 我们不妨令 \(+\) 符号表示取出黑球,\(-\)符号表示取出白球。 则一种方式 ......
题解 Piling 013D AGC 013

CF1423N BubbleSquare Tokens 题解

BubbleSquare Tokens 神仙构造题。 首先,我们令所有点初始都没有放币,所有边上都放了一个币。则此时每个点的权值即为它的度数。 然后,我们考虑从小到大计算每个点的权值。对于每个点 \(i\),我们枚举它所有相邻且编号比它小的点,假如该点上没有币,就把币从连接两点的边上移到另一端的点上 ......
题解 BubbleSquare Tokens 1423N 1423

CF888F Connecting Vertices 题解

Connecting Vertices 这个奇怪的限制(两条边不能有交点)让我们想到什么? 对于任何一种方案,不存在 \(x_0<x_1<y_0<y_1\),其中连边 \((x_0,y_0),(x_1,y_1)\)。 也就是说,对于任何一段区间 \([i,j]\),如果里面所有点全都连通: 要么 \ ......
题解 Connecting Vertices 888F 888

CF53E Dead Ends 题解

Dead Ends \(n\le10\),我还是第一次见到这么小的状压 我们设 \(f[S][s]\) 表示:将集合 \(S\) 内的点连成一棵树,且集合 \(s\) 里的节点是叶子节点的方案数。 则有 \[f[S\cup\{j\}][\{s\setminus i\}\cup\{j\}]+=f[S] ......
题解 Dead Ends 53E CF

CF1178F2 Long Colorful Strip 题解

Long Colorful Strip 中间如果有那些地方看不懂,可以先去看看前面一道,这是我的题解。 首先,每一次染色,最多把一整段连续的同色格子,分成了三段。 并且,明显我们可以把连续的同色格子,直接看作一个。 这就意味着,在这么压缩后,有 \(m<2n\)。 这就意味着 \(O(m^3)\) ......
题解 Colorful 1178F Strip 1178

[ARC143D] Bridges 题解

[ARC143D] Bridges 题意:给定 \(2n\) 个点和 \((u_1,v_1) , \cdots , (u_m,v_m)\),选择让 \(u_i\) 连 \(v_i+n\) 或 \(v_i\) 连 \(u_i+n\),以最小化图中桥的个数。 有种技巧叫拆点,把一个点拆成入点和出点,看这 ......
题解 Bridges 143D ARC 143

洛谷P5444 [APIO2019] 奇怪装置 题解

奇怪装置 找到循环就很简单了。 很显然 \(y\) 是每 \(B\) 次一循环的,对于每个相邻的 \(y\) 循环 \(x\) 的值均相差 \(B+1(\bmod A)\)。 因此总的循环就是 \(B+1\) 对于 \(A\) 的循环乘上 \(B\)。 即 \(\frac{A}{\gcd(A,B+1 ......
题解 装置 P5444 5444 2019

CF1178F1 Short Colorful Strip 题解

Short Colorful Strip 考虑设 \(f[i,j]\) 表示:假设区间 \([i,j]\) 里面一开始所有格子的颜色都是相同的,那么,染成目标状态共有多少种染法。 我们找到 \([i,j]\) 中最小的那个颜色,设为 \(mp\)。则显然,我们下一步要染上 \(mp\) 这种颜色。 ......
题解 Colorful 1178F Short Strip

洛谷P4158 [SCOI2009] 粉刷匠 题解

所有的 \(DP\) ,只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的…… 思路1: 我们考虑设 \(f[i][j][k]\) 表示:当前 \(DP\) 到第 \(i\) 块木板的第 \(j\) 个位置,共涂了 \(k\) 次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到 ......
题解 P4158 4158 2009 SCOI

洛谷P3300 [SDOI2013] 城市规划 题解

[SDOI2013] 城市规划 题意:给你一个 \(6 \times n\) 的网格题,单点修改,询问区间联通块数,\(n \le 10^5\)。 解:看起来就很显然的一道题......线段树每个点用一个 ufs 维护连通性; 我为了方便思考把图转成横着的了。 写起来真是毒瘤...... 重点在于: ......
题解 城市规划 城市 P3300 3300

【ABC320C】题解

AtCoder Beginner Contest 320 Problem C - Slot Strategy 2 (Easy) 题解 题目简述 给定 \(3\) 个长度为 \(m\) 的转盘,转动过后三个转盘分别可以在不同的时间停下,求停下时所有转盘都显示相同数字的最小时间。 思路 由于这题 \(m ......
题解 320C ABC 320

【ABC320D】题解

AtCoder Beginner Contest 320 Problem D - Relative Position 题解 题目保证不矛盾,就可以直接 vector 建图,然后 dfs 一遍,边权为 \((w_x,w_y)\) 表示坐标的差,从 \(u=1\) 开始搜索,设点 \(u,v\) 有一条 ......
题解 320D ABC 320

题解 Frog 3

题目描述 将一个序列分成若干段,每一段的价值为 \((h_i-h_j)^2+C\),求价值和的最小值。 具体思路 设 \(f_i\) 表示前 \(i\) 个数分成若干段的价值和的最小值,并且 \(j+1 \sim i\) 被分成了一段。 那么 \(f_i\) 的状态应该由 \(f_j\) 转移过来。 ......
题解 Frog

java:String的getBytes()方法

1、String.getBytes方法:获取该编码格式的字符 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同的OS下,返回的东西不一样。 String.getBytes(String decode)方法会根据指定的decode编码返回某 ......
getBytes 方法 String java

【题解】Fibonacci-ish II

传送门 题目分析 根据题目范围 \(n\le 30000\) 并且此题可以离线维护这个很恶心的东西,所以我们考虑莫队。由于要求访问到任意一个区间都要求知道它有序之后的序列,所以这个东西可以用权值线段树维护。因此,此题正解是莫队+权值线段树。 我们分类讨论一下加上一个数,删除一个数对答案的影响。 加上 ......
题解 Fibonacci-ish Fibonacci ish II

顺序容器(vector、deque、list、forward_list、array 、string)

一、顺序容器概述 顺序容器提供了控制元素存储和访问顺序的能力,顺序与元素加入容器时的位置相对应。1、常见的顺序容器类型:vector:可变大小的数组。支持快速随机访问,在尾部之外的位置插入或者删除元素可能很慢。deque:双端队列。支持快速随机访问。在头尾位置插入/删除速度很快。只支持双向顺序访问。 ......
list forward_list 容器 顺序 forward

[895] Sort the rows of a DataFrame

In Pandas, the sort_values() method is used to sort the rows of a DataFrame by one or more columns. This method allows you to specify which column(s) ......
DataFrame Sort rows 895 the

题解 P3894【[GDOI2014] 传送】

难倒不难,128MB 的空间限制快恶心死我了。 我们设 \(d_{u_0,u_1}\) 表示到节点 \((u_0,u_1)\) 距离最近的叶子的距离,这个可以很容易换根 DP 求出。设 \(p_{u_0}\) 表示树 \(u_0\) 中距离最近的两个叶子的距离。设 \(dis(u_0,u_1,v_0 ......
题解 P3894 3894 2014 GDOI

【ABC322C】题解

AtCoder Beginner Contest 322 Problem C - Festival 题解 Meaning - 题意简述 给定 \(N\) 和 \(M\),还有 \(M\) 个正整数 \(a_1 \sim a_n\),对于每个 \(i \le n\),求出 \(a\) 中第一个大于等于 ......
题解 322C ABC 322

P1220 关路灯 题解

Description 给定 \(n\) 个点的位置 \(a_i\) 和每秒的花费 \(b_i\),你的初始位置是 \(s\),你删掉一个点的时间为 \(0\) 秒,走 \(1\) 个单位长度的时间是 \(1\) 秒。请你确定一种关灯顺序,使得所有点的最终花费最小(删掉点后这个点不会再花费)。 So ......
题解 路灯 P1220 1220

【ABC322D】题解

AtCoder Beginner Contest 322 Problem D - Polyomino 题解 Meaning - 题意简述 给定三个字符矩阵,求它们能不能拼在一起变成一个 \(4 \times 4\) 的全部是 # 的矩阵。 Solution - 题解思路 大模拟。说简单也不简单,很复 ......
题解 322D ABC 322

【LG-P7617】题解

题解 思路 不用关心每个数的每一位是什么、哪几位相同,我们只需记录每个数出现了哪几个数字,可以使用类似于状态压缩的思想记录每个数的状压形式,比如一个数为 \((4)_{10}\),那么他的状态压缩形式为 \((00001)_2\)。 当两个数在状态压缩表示下有一位相同,我们就认为这两个数是一对,每个 ......
题解 LG-P 7617 LG

汉诺塔(河内塔)题解

汉诺塔(河内塔)题解 我们定义 \(T_n\) 为根据规则将 \(n\) 个圆盘从一根柱子移动到另一根柱子的最少移动步数,按照这样的定义,本道题的答案实际上就是 \(T_n\)。 通过手动模拟,可得到 \(T_1=1,T_2=3\)。同时显然有 \(T_0=0\),即表示 \(0\) 个圆盘根本无需 ......
题解

一些水题的题解。

快退役了我都不知道自己还能写几条博客就写着玩玩把反正也算不上浪费时间既能经验++也能陶冶身心放松精神我觉得挺好的你说对吧 ......
题解

[java]时间戳转时间(String格式)

private final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String timeStamp = "1658976485000"; String date = simpl ......
时间 格式 String java