题解sorting binary string

to String、equal、clone() 方法

字符串表示形式如图: 1、toString 存在是为了让子类去重写,以返回对象的内容(a、鼠标右键点生成可以找到toString b、直接输入toS,按回车,接续按回车,就重写好了) 2、equals 默认判断两个对象的地址是否相等,重写是为了比较对象的内容是否一样 3、(了解)clone() 方法 ......
方法 String equal clone to

在C#中,String和string有什么区别?

内容来自 DOC https://q.houxu6.top/?s=在C#中,String和string有什么区别? 这两种类型之间有什么区别,我应该使用哪一个? string s = "Hello world!"; String s = "Hello world!"; 字符串(string)是C#中 ......
String string

【题解】1st ucup Stage 20: India G - Perfect Strings

考虑卡特兰数 \(C_n = \sum_{i=0}^{n-1}C_iC_{n-1-i}\),故有递推式 \[C = xC^2 +1 \]解出卡特兰数递推式: \[C = \frac{1 - \sqrt{1 - 4x}}{2x} \]考虑本题的递推式: \[F_n = \sum_{i=0}^{n-1} ......
题解 Perfect Strings Stage India

关于排序函数sort的一些思考

关于排序函数sort的一些思考 c++ 升序 sort(a,a+n,cmp) bool cmp(int b, int c){ return b < c; } cmp 是一个比较函数 cmp(b, c)是当b < c时返回true,表示不交换位置 java //不能使用基本数据类型 Integer[] ......
函数 sort

关于洛谷题解审核

我想问一下,大家觉得题解的重点是什么?很显然是思路,代码的正确性,次要的才是格式。 但是,洛谷对于题解格式的审核是不是有点过于严格了呢? 比如说这段话: 如果 \(n\) 为 \(0\), 那么便是无解。 大家能一眼看出 , 后面多了空格吗? 这种题解其实没什么大问题,别人看题解时根本不会在意这些细 ......
题解

【bitset】【线段树】CF633G Yash And Trees 题解

CF633G 简单题。 先看到子树加和子树质数个数和,果断转换为 dfs 序进行处理。 既然有区间求和,考虑线段树。 若对于每一个节点维护一个 \(cnt\) 数组,用二进制数 \(x\) 来表示,即当 \(cnt_i = 1\) 时第 \(i\) 位为 \(1\)。设当前节点为 \(u\),左右子 ......
线段 题解 bitset Trees 633G

[ABC257F] Teleporter Setting 题解

1.题目 洛谷传送门 2.思路 我们可以把不确定的点当成真实存在的 \(0\) 号点,建边的时候就正常连即可。 然后我们来看一个样例: 1 - 2 - 0 3 - 4 - 5 当我们把 \(0\) 号点看成 \(3\) 号点时,答案就是 \(1\) 号点到 \(0\) 号点的距离加上 \(3\) 号 ......
题解 Teleporter Setting 257F ABC

【思维】【DP】ABC298Ex Sum of Min of Length 题解

ABC298Ex 简单题。 因为有 \(\min\) 不好做,容易想到讨论 \(d(i, L)\) 和 \(d(i, R)\) 的大小。 令 \(p = \text{LCA}(L, R)\),\(dep_L > dep_R, dist = dep_L + dep_R - 2\times dep_p\ ......
题解 思维 Length of ABC

【DP】ABC273F Hammer 2 题解

ABC273F 一道比较板的区间 \(\text{dp}\)。 先对坐标离散化,令离散化数组为 \(v\)。 令 \(f_{i,j}\) 表示能走到区间 \([v_i,v_j]\) 的最短路程,显然 \(f\) 数组初始为 \(inf\)。 但发现这样无法转移,可以再增加一维 \(k \in \{0 ......
题解 Hammer 273F ABC 273

【倍增】P3422 [POI2005]LOT-A Journey to Mars 题解

P3422 一道有点意思的题。 看到是一个环,先破环为链,即 \(a_{n+i}=a_i, b_{n+i}=b_i\),此时就只需要跳到 \(x+n\) 而无需判环了。 如果顺时针走: 令 \(sum_i = \sum\limits_{j=1}^{i}{a_j-b_j}\),当能从 \(x\) 跳到 ......
题解 Journey P3422 LOT-A 3422

【线段树合并】CF1805E There Should Be a Lot of Maximums 题解

CF1805E 待补:有另解 看到维护树上问题,可以想到线段树合并。 但直接维护显然不行,要一点技巧。 发现 \(val\) 的出现次数 \(cnt_{val}\) 如果 \(\ge 3\),那么一定是一个候选项,若 \(cnt_{val} = 1\),那么一定不能作为候选项。 于是可以用权值线段树 ......
线段 题解 Maximums Should 1805E

【二分】P7795 [COCI2014-2015#7] PROSJEK 题解

P7795 典。 显然 \(\mathcal{O}(n ^ 2)\) 的时间复杂度无法通过。 使子段平均值最大,考虑二分。 可以二分平均值 \(mid\),然后判断是否有满足条件的子段. 时间复杂度:\(\mathcal{O}(\dfrac{n\log\max\{a_i\}}{\text{eps}} ......
题解 PROSJEK P7795 7795 2014

【图论】【寻找性质】CF1151E Number of Components 题解

CF1151E 发现每一个 \(f(l, r)\) 中的连通块总是一条链(一棵树)。 那么此时连通块的数量就等于点的数量减去边的数量。 先考虑点的总数,一个价值为 \(a_i\) 的点一定是在 \(l \leqslant a_i\) 且 \(r\geqslant a_i\) 的 \(f(l, r)\ ......
题解 Components 性质 Number 1151E

P8565 Sultan Rage 题解

P8565 发现数列 \(a\) 增长的特别快,项数最多时是 \(a_1 = a_2 = \cdots = a_{100}\),但这样也只会有一百多项就可以超过 \(10^{18}\)。 可以考虑搜索,因为搜索树会比较稀疏,函数 dfs(val, cur) 表示凑出 \(x\) 还需要 \(val\ ......
题解 Sultan P8565 8565 Rage

P4133 [BJOI2012]最多的方案 题解

P4133 双倍经验 发现斐波那契数列增长极快,不到 \(100\) 项就超过了 \(10^{18}\),搜索树也极为稀疏,可以考虑搜索。 爆搜肯定会超时,考虑优化: 可行性剪枝。 记忆化,去除重复的计算。 改变搜索的顺序,因为先考虑小元素的话,会有较多的无用的搜索,且小元素较灵活,更容易凑到 \( ......
题解 方案 P4133 4133 2012

【字符串】【哈希】ABC284F ABCBAC 题解

ABC284F 这题的正解是 \(Z\) 函数。 如果 \(str = T + T\) 的话,若可以找到连续的分别长为 \(n\) 的两段,且这两段可通过 \(1\) 次翻转变为相同的字符串,那么便一定有解,否则无解。 暴力判断是 \(\mathcal{O}(n)\) 的,时间复杂度直接上天。 可以 ......
题解 字符串 字符 ABCBAC 284F

【整除分块】【DP】ABC239Ex Dice Product 2 题解

ABC239H 简单题。 令 \(f_i\) 表示乘到 \(\ge i\) 的期望。 容易得到 \(f_i=\dfrac{\sum\limits_{j=1}^{n}f_{\lceil\frac{i}{j}\rceil}}{n}\)。 将 \(f_i\) 移到同一边,去掉系数,有 \(f_i=\dfr ......
题解 Product Dice ABC 239

【组合计数】ARC058D Iroha and a Grid 题解

ARC058D 简单组合计数。 可以先把矩形旋转一下,变为求从 \((1,1)\) 走到 \((n,m)\),只能向上或向右移动。且不经过左上角的 \(A\times B\) 的禁区的方案数,对 \(10^9 + 7\) 取模。 假如没有 \(A\times B\) 的禁区的话,那么方案数为 \(C ......
题解 Iroha 058D Grid ARC

【竞赛图】【DP】ARC163D Sum of SCC 题解

ARC163D 发现这个竞赛图一定能被分为两个集合 \(A\),\(B\)。满足 \(\forall u\in A,v\in B\),均有 \(u\to v\in E\)。答案就是划分这两个集合的方案数。 证明: 首先,竞赛图缩完点后一定是一条链,对强连通分量进行标号,满足编号小的强连通分量指向编号 ......
题解 163D ARC 163 Sum

「题解」Codeforces Round 883 (Div. 3)

A. Escalator Conversations Problem [题目](Rudolph and Cut the Rope) Sol & Code 绳子长度大于钉子高度的要剪 #include <bits/stdc++.h> typedef long long ll; int min(int ......
题解 Codeforces Round 883 Div

「题解」Codeforces Round 888 (Div. 3)

A. Escalator Conversations Problem 题目 Sol & Code 签到 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { return a < b ? a : b; } int ......
题解 Codeforces Round 888 Div

「题解」Codeforces Round 891 (Div. 3)

A. Array Coloring Problem 题目 Sol & Code 只有数列的和为偶数时才符合要求,即有任意个偶数,偶数个奇数。 将这些数分成两部分,发现两部分初始值 \(0\) 为偶数,偶数不会影响奇偶性,故需要偶数个奇数。 #include <bits/stdc++.h> #defi ......
题解 Codeforces Round 891 Div

P9712 「QFOI R1」贴贴 の 题解

这道题比较典型。 大概就是你先输出solution-,之后再处理其他的。之后遍历字符串,如果发现是大写,就给转成小写,之后输出,如果发现是减号,就输出字符串,都不是就直接输出该字符串的第 \(i\) 个字符。 #include <iostream> #include <string> using n ......
题解 P9712 9712 QFOI

【基环树 | 题解】P5022 [NOIP2018 提高组] 旅行

前言 一日知基环树弱,固补题。 关于基环树 基环树定义 一个环,环上每个点都有一颗以该点为根的树,如下图为一棵基环树 关于基环树常规思路 通常来说基环树常规思路是先处理环上树的结果,后通过树的结果来处理换上结果。 具体处理方式依照题目来定。 然而只是通常来说 因为基环树的问题灵活性强且就算没专门学过 ......
题解 P5022 5022 2018 NOIP

CF1249(Div. 3) 题解(A to D)

\(\texttt{E F}\) 忘(不)记(会)写了。 A Yet Another Dividing into Teams 题解 题目大意 有一个长度为 \(n\) 的序列 \(a_1,a_2,\cdots,a_n\),将他们分为若干组,使得每一组没有两个数的差为 \(1\),使分的组数尽可能少。 ......
题解 1249 Div CF to

Luogu CF1133B 题解

这道题其实很简单 要让两数和为 \(k\) 的倍数,需要满足以下两条件之一: 两数都是 \(k\) 的倍数 两数的余数和为 \(k\) 因此,我们可以先统计出余数 再按上述条件算出共有多少组,即可得到答案 注意: 当 \(k\) 为偶数时,余数为 \(k/2\) 的数要两两配对,不要多算 这里统计的 ......
题解 Luogu 1133B 1133 CF

Luogu CF755B 题解

这题其实不难。 两人最佳的方案就是先说对方会的词。 不难证明,设先手会说 \(n\) 个单词,后手会说 \(m\) 个单词, 若 \(n>m\),则先手胜,若 \(n<m\),则后手胜。 那如果 \(n=m\) 呢? 假设两人都会说的单词数为 \(k\), 那么一番推理发现,当两人说了 \(k-1\ ......
题解 Luogu 755B 755 CF

Luogu P7627 题解

这题其实不难 但如果用暴力,肯定过不了 所以我们得想另一种办法 我们发现,只有 \(1\) 异或 \(0\) 的值为 \(1\) 例如: \(1\) , \(0\) , \(1\) 两两异或的和为 2 其实就是每个 \(0\) 与每一个 \(1\) 异或时,\(sum\) 要加 \(1\) 所以,我 ......
题解 Luogu P7627 7627

Luogu P8651 题解

这是让我最崩溃的一道橙题了。 整整 11 次提交才 AC。 这道题有几个要点必须注意: 判断日期是否合理。 按顺序输出。 判断重复的日期。 首先,我们来看怎么判断日期是否合理。 我们知道大月有 \(31\) 天,小月有 \(30\) 天,二月看平年闰年。 所以,我们可以写出这样的代码: bool c ......
题解 Luogu P8651 8651

Luogu CF1174C 题解

这道题其实不难。 \(\gcd(i,j)=1\),其实就是 \(i\) 与 \(j\) 互质。 如果 \(i\) 与 \(j\) 不互质,那么我们一定要让 \(a_i\) 与 \(a_j\) 相同,只有这样,才能使 \(a\) 序列中的最大值最小化。 所以,我们可以使用埃氏筛法,当筛到质数时,给它和 ......
题解 Luogu 1174C 1174 CF