educational codeforces binary string
JavaScript String对象及方法总结
String 对象创建方法: new String() var txt1 = new String("string"); var txt2 = "string"; String 对象属性 1、constructor :返回对 String 对象属性创建的函数 返回值:函数的引用,不是函数名: 字符串 ......
Codeforces Round 906 (Div. 2) Doremy's Drying Plan E1.&E2
传送门 先考虑\(E1\) 只需要删除两条线使得不被覆盖的点数最多。 观察到点数只有\(200000\) 那么我们完全可以先将被至少\(3\)条线覆盖的点删掉。 考虑枚举一条线,枚举这条线覆盖的点寻找另外一条线覆盖这些点中的最大值,然后再找没覆盖这些点之外的线的最大值即可。 复杂度容易证明是线性的。 ......
CodeForces 1060G Balls and Pockets
洛谷传送门 CF 传送门 NOIP 模拟赛 T2。很厉害的题。 想象数轴上 \(a_1, a_2, \ldots, a_n\) 位置上各有一个洞,每个非负整数位置上有一个点。 每次操作相当于,对于每个点,如果它刚好位于一个洞,那么它会掉进去;否则设它的位置为 \(p\),位置在它前面的洞有 \(t\ ......
Educational Codeforces Round 134 (Div.2) D 题解
题目链接 D. Maximum AND 题目大意 给定两组序列 \(a\) \(b\),长度为 \(n\) ,现有一新序列 \(c\),长度也为 \(n\) 。 其中,\(c_i = a_i \oplus b_i\) 。 定义 \(f(a,b) = c_1\&c_2\&……\&c_n\)。 现在你可 ......
Educational Codeforces Round 128 (Rated for Div. 2)
添加链接描述 C题显然二分0的数量,然后双指针,算一下前缀和后缀1的数量即可。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<vector> #include ......
Codeforces Round 906 (Div. 2)
Codeforces Round 906 (Div. 2) 比赛链接 A. Doremy's Paint 3 题目链接 判断给定的数组是不是满足a1+a2=a2+a3=a3+a4=......=an-1+an A思路: 这个题一开始没有读仔细问题,导致一时间出错了,后来读清楚问题之后发现其实这个数组 ......
Codeforces Round 907 (Div. 2) B. Deja Vu(二分+后缀和+位运算)
Codeforces Round 907 (Div. 2) B. Deja Vu 思路: 预处理31位的 \(2^x\) 存在\(tmp_i\) 对于输入\(a_i\),通过查找最后一个二进制1位置,存在\(x0_i\) 由题意可知,对于输入的\(x\),如果有\(a_i\)可整除\(x\),则会使 ......
ErikTse2023Codeforces思维提升赛(4)
A An array a consisting of k integers is strictly increasing if \(a_{1}<a_{2}<⋯<a_{k}\). For example, the arrays \([1,3,5], [1,2,3,4], [3,5,6]\) are s ......
codeforce+9b6a3100-4e23-4261-a16c-527d1183bf79
A An array a consisting of k integers is strictly increasing if $a_{1}<a_{2}<⋯<a_{k}$. For example, the arrays $[1,3,5], [1,2,3,4], [3,5,6]$ are stric ......
Codeforces Round 907 (Div. 2)
Codeforces Round 907 (Div. 2) A. Sorting with Twos 题意: 给一个长度为n的数组,可以做任意次以下操作:选择一个整数m,将1-2m 的数减1。若能使数组变为一个单调递增的数组则输出YES,否则输出NO 分析: 只需要保证2m+1 -2m+1单调递增即 ......
【re】[NISACTF 2022]string --linux下的随机数
附件下载,查壳 发现是ELF程序,64位,ida打开分析 flag函数点进去 前面一堆代码其实都不重要,直接看主要代码: puts("The length of flag is 13"); srand(seed); printf("NSSCTF{"); for ( m = 0; m < 13; ++ ......
Strings of Impurity
link 不懂为什么都写平衡树,明明 set 就好了啊,思路跟平衡树差不多,实现起来较为简单。 int n, m, k; int s[N]; string s1, s2; int cnt[N]; vector<int> t; set<int> p[N]; int main() { ios::sync ......
Codeforces Round 906 (Div. 2)
Codeforces Round 906 (Div. 2) A. Doremy's Paint 3 解题思路: \(a_1 + a_2 = a_2 + a_3\),所以\(a_1 = a_3\)。以此类推。所以整个序列最多出现两种不同的数字。 \(n = 2\)时,必然存在。 \(n = 3\)时, ......
Educational Codeforces Round 129 (Rated for Div. 2)
Educational Codeforces Round 129 (Rated for Div. 2) B可以看作一个无限长的序列由a进行重复拼接,我们直接计算一下是哪个即可。 C判断无解之后直接模拟即可 D IDA*就行每次从大到小搜,实际非常快。 #include<cstdio> #includ ......
Codeforces Round 906 Div. 1 (CF1889)
貌似现在发周六的 CF 题解已经失去了时效性,不过问题不大。 A. Qingshan Loves Strings 2 Description 定义一个长度为 \(k\) 的 \(01\) 串 \(s\) 是好的,当且仅当 \(\forall i\in [1,k],s_i\neq s_{k-i+1}\ ......
Codeforces Round 907 (Div. 2)
Codeforces Round 907 (Div. 2) B题注意到每次都会至少下降1,所以不会超过30次,直接O(30n)即可 C题感觉可能比D和F还要思维一些。 肯定是尽量多积累combo一些然后一次清空,那么我们能清空的最大值就是当前的最大值,所以每次用小的来累计combo,然后消除当前的最 ......
Codeforces Round#907 解题报告
只更新 DEF 看了一眼standings榜一居然十二分钟写了一个剖分,感觉有点猛,仔细把代码都看了一遍发现是开黑的。逆天。 比上一场 div2 质量不知道低到哪里去了。 D 对于不同的 \(f(x)\) 一段一段求,\(f(x)\) 一共 \(\log\) 种,指数也是 \(\log\) 种。全都 ......
Codeforces Round 906 (Div. 2)A-E1
A. Doremy's Paint 3 记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\);当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\(yes\);其他情况答案为\(no\)。 时间复杂度:\(O(nlogn)\) 1 void sol ......
linux 中 strings命令
001、 linux中 strings命令 在对象文件或二进制文件中查找可打印的字符串。 002、举例 (base) [b20223040323@admin1 ~]$ strings /bin/ls | head /lib64/ld-linux-x86-64.so.2 libselinux.so.1 ......
Codeforces Round 906
tilian 代码很长 但是思路很清新 我们发现k=2 意思我们只用考虑sum[i]<=2的地方 不从天入手而是反而考虑这些个 sum[i]<=2 的地方 sum[i]2 这个地方被两个区间cover过 我们可以算出这两个区间的相交的<=2的数量+这两个区间<=1的数量 sum[i]1 这个地方被一 ......
Codeforces Round 895
提炼 感觉这种题还是很金典的 我们看到乘积 就应该想到其很容易爆 而我们省1的话 也最多就是2e5数量级的 我们为了省事不用算上界 可以直接把这个上界设为1e9 也不会爆LL 只要乘积突破这个上界 我们就肯定要是有旁边的 大于1的数 我们都要吃掉 因为增量都超过了1e9那么多 我们只要算出左右两边 ......
String常用API
方法名 说明 public int length(): 获取字符串当中含有的字符个数,返回字符串长度 public char charAt(int index): 获取指定索引位置的单个字符 public String concat(String str): 将当前字符串和参数字符串str连接,返回 ......
codeforces 1829G. Hits Different 容斥原理+记忆化搜索
题目描述: 给定一个n,把n给打倒,然后递归的求出包含n在内的上面所有的会倒下的瓶子值的平方和。 这里使用二分先求出目前给定的n的行号i和列号j。观察可以发现,对于所有的列号j,j=1或者j=i时,是需要考虑往上单边的总和,其他情况都有两个分支。 再观察可以发现,两个分支在再上一行的重合部分,会被d ......
std::string_view
在原来的string操作中,大多数都是复制string进行操作,如:substr()、string&传参。它们都会复制占用额外内存。 使用std::string_view犹如只是对它的视图映射进行处理,有一个指针指向一个起始位置,然后会有一个size参数去决定这个指针的移动步数。 #if 1 Pri ......
CodeForces 1246F Cursor Distance
洛谷传送门 CF 传送门 发现一个性质:能跳不超过 \(j\) 步到达 \(i\) 的所有点形成一段区间。设这这段区间为 \([L_{i, j}, R_{i, j}]\)。 那么答案即为: \[\sum\limits_{i = 1}^n \sum\limits_{j = 0} n - R_{i, j ......
String的padStart() 和 padEnd()方法
String.prototype.padStart() padStart() 方法从字符串的开头用另一个字符串填充一个字符串到一定长度,并返回一个达到一定长度的结果字符串。下面说明了 padStart() 方法: String.prototype.padStart(padLength [,padSt ......
数据结构与算法 | 二分搜索(Binary Search)
文承上篇,搜索算法中除了深度优先搜索(DFS)和广度优先搜索(BFS),二分搜索(Binary Search)也是最基础搜索算法之一。二分搜索也被称为折半搜索(Half-interval Search)也有说法为对数搜索算法(Logarithmic Search),用于在已排序的数据集中查找特定元素... ......
Codeforces Round 906 (Div. 2) A-E1
比赛地址 A. Doremy's Paint 3 题意:给出一个数组\(b\),问能否通过重新排序使得数组满足\(b_1+b_2=b_2+b_3=...=b_{n-1}+b_{n}\) Solution 首先判断元素个数 如果是1,则满足条件 如果是2,需判断不同元素个数的差是否小于等于1 其余的均 ......
CF1889A. Qingshan Loves Strings 2
不妨考虑什么时候会无解! 显然当原序列 \(0,1\) 数量不同,或者序列总长为奇数时会无解! 否则我们设 \(l=1,r=n\)!开始回文配对! 如果配上了就直接删掉!并把左右端点向内移动! 如果两者都是 \(0\),就在末尾加上 \(01\)!都是 \(1\) 就加最前面! 以在末尾加入举例!此 ......
synchronized使用String做锁定互斥
依靠ConcurrentHashMap特性,自己实现一个工厂类: import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils; import java.util.c ......