摘要:滑动窗口:有两个指针L,R。加入一个数R往右移动,减去一个数L往右移动。 一般需要维护窗口中的最大值或者最小值,询问复杂度可以可以O(1)。 一般需要双向队列的辅助,例如题目:滑动窗口 假设是一个需要维护最大值的窗口,那么双向队列里的数组应该是“大->小”, 为了满足这个条件,后面加入数x时,需要把 阅读全文
posted @ 2020-04-12 16:39 SummerMingQAQ 阅读(111) 评论(0) 推荐(1) 编辑
摘要:反素数的定义: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 或者: 一个[1,n]的连续区间, 约数相同的最小数x,x是反素数。例如:f(6) = 4,f(8) = 4,6是约数为4切最小的数,所以6是约数。 反素数性质: 反素数肯定是从2开始 阅读全文
posted @ 2020-03-25 18:17 SummerMingQAQ 阅读(55) 评论(0) 推荐(0) 编辑
摘要:理解:二进制末位次方为该位置管辖的范围,无法管辖的范围就是该数减去该二进制末位次方,递推往上,直到得到[1,n]的管辖点,然后相加。某个位置修改,会导致管辖它的点也相应被修改,这关键就是二进制的进位来更新管辖它的点,2^0一定被2^1管辖,2^1一定被2^2管辖。因为二进制的独特性,把这些最关键也是 阅读全文
posted @ 2020-03-13 23:43 SummerMingQAQ 阅读(63) 评论(0) 推荐(0) 编辑
摘要:1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <vector> 5 #include<set> 6 #include <map> 7 #include <string> 8 using name 阅读全文
posted @ 2020-08-06 12:14 SummerMingQAQ 阅读(4) 评论(0) 推荐(0) 编辑
只有博主才能阅读该文。 阅读全文
posted @ 2020-08-05 20:57 SummerMingQAQ 阅读(0) 评论(0) 推荐(0) 编辑
摘要:传送门 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <vector> 5 #include<set> 6 #include <map> 7 #include <string> 8 using 阅读全文
posted @ 2020-08-04 21:33 SummerMingQAQ 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 5 using namespace std; 6 7 #define ll long long 8 9 // a / b mod p 10 //满足条件 b 和 p互 阅读全文
posted @ 2020-08-02 23:30 SummerMingQAQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:给定一个n*m的地图,'.'空地,'#' 墙,'G'好人, 'B'坏人。问你存不存在一种方案,把若干空地变成'#'(人不能通过墙),使得所有好人能逃离地图,所有坏人不能逃离地图。(n,m)为出口,人存在的地方不能设置'#',保证出口一开始是空地。 思路: ① G == 0 Yes。 ② 阅读全文
posted @ 2020-07-31 16:43 SummerMingQAQ 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 题目: Polycarp wrote on the board a string s containing only lowercase Latin letters ('a'-'z'). This string is known for you and given in the input. 阅读全文
posted @ 2020-07-28 23:56 SummerMingQAQ 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 题目:给定一个串“codeforces”,给定一个n,让你在原串上任意位置添加任意个数的字符构造出一个字符串s,使得至少有n组子序列能够组成“codeforces”,需要构造出的串长度最短,再输出构造出的s 思路:根据排列组合的性质,我们尽量平均“codeforces”上每位的个数即可。 1 阅读全文
posted @ 2020-07-28 23:47 SummerMingQAQ 阅读(8) 评论(0) 推荐(0) 编辑
摘要:传送门 题目: ①所有块之间能够相互到达,即使一个连通图 ②所有块有偶数个邻居 ③规定有n个块有4个邻居 每组测试给定一个n,问你怎么构造一个图。 思路:水题。我们先构造好一个边长为2的矩形,然后我们给该矩形右下角添加三个块就能表达一个“有四个邻居”的块。 1 #include <iostream> 阅读全文
posted @ 2020-07-28 23:38 SummerMingQAQ 阅读(8) 评论(0) 推荐(0) 编辑
摘要:传送门 题目:给定两个字符串A,B。我们可以改变A中任意数量相同的字符x变成字符y(必须满足y > x),我们能否把A变成B,可以的话最少几次,不可以输出‘-1’。 思路:看了所有样例后,再通过样例1可以想到一个方法。我们有一个矩阵app['a'~'t']['a'~'t']记录A与B的对应关系,例如 阅读全文
posted @ 2020-07-27 00:42 SummerMingQAQ 阅读(32) 评论(0) 推荐(0) 编辑
摘要:传送门 题目: Gottfried learned about binary number representation. He then came up with this task and presented it to you. You are given a collection of nn 阅读全文
posted @ 2020-07-26 16:31 SummerMingQAQ 阅读(13) 评论(0) 推荐(0) 编辑