摘要:反素数的定义: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 或者: 一个[1,n]的连续区间, 约数相同的最小数x,x是反素数。例如:f(6) = 4,f(8) = 4,6是约数为4切最小的数,所以6是约数。 反素数性质: 反素数肯定是从2开始 阅读全文
posted @ 2020-03-25 18:17 SummerMingg 阅读 (16) 评论 (0) 编辑
摘要:理解:二进制末位次方为该位置管辖的范围,无法管辖的范围就是该数减去该二进制末位次方,递推往上,直到得到[1,n]的管辖点,然后相加。某个位置修改,会导致管辖它的点也相应被修改,这关键就是二进制的进位来更新管辖它的点,2^0一定被2^1管辖,2^1一定被2^2管辖。因为二进制的独特性,把这些最关键也是 阅读全文
posted @ 2020-03-13 23:43 SummerMingg 阅读 (15) 评论 (0) 编辑
摘要:1 //EK算法 2 #include <iostream> 3 #include <cstdio> 4 #include <algorithm> 5 #include <queue> 6 using namespace std; 7 8 const int N = 210,INF = (int)1 阅读全文
posted @ 2020-01-26 19:31 SummerMingg 阅读 (42) 评论 (0) 编辑
摘要:预备知识:反素数解析 思路:有了反素数的解法之后就是线段树的事了。 我们可以用线段树来维护哪些人被淘汰,哪些人没被淘汰,被淘汰的人的位置,没被淘汰的人的位置。 我们可以把所有人表示为一个[1,n]的区间,没被淘汰的人权值为1,那么通过线段树维护区间和,就可以知道没被淘汰人的分布情况,tree[roo 阅读全文
posted @ 2020-03-25 20:01 SummerMingg 阅读 (17) 评论 (0) 编辑
摘要:反素数的定义: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 或者: 一个[1,n]的连续区间, 约数相同的最小数x,x是反素数。例如:f(6) = 4,f(8) = 4,6是约数为4切最小的数,所以6是约数。 反素数性质: 反素数肯定是从2开始 阅读全文
posted @ 2020-03-25 18:17 SummerMingg 阅读 (16) 评论 (0) 编辑
摘要:题目链接:https://i-beta.cnblogs.com/posts/edit 思路:对输入数据反向思考,那么输入的位置x代表他之前已经有x个人存在, 但是后面的人会插队,那么已经有x个人存在可以表示为,前面应该还有几个空位。 因为我们是反向遍历位置关系,那么我们只需要维护数组前面有x个空位就 阅读全文
posted @ 2020-03-23 15:31 SummerMingg 阅读 (9) 评论 (0) 编辑
摘要:题目链接:https://vjudge.net/problem/HDU-2795 思路:h = 1e9行不通,因为广告是1*w的,所以n个广告最多只需要 h = n的高度,那么h=2e5就可以接受了。 用树状数组维护区间最大值。 从前往后区间查询哪一大块块首先满足条件,然后一直缩小区间,直到区间长度 阅读全文
posted @ 2020-03-19 19:08 SummerMingg 阅读 (13) 评论 (0) 编辑
摘要:清楚的图解,解释树状数组求逆序对的方法,转载:https://blog.csdn.net/ssimple_y/article/details/53744096 题目:https://vjudge.net/problem/HDU-1394 思路:因为数字[1,n],把a[i]放到末尾,逆序对数量会增加 阅读全文
posted @ 2020-03-18 23:23 SummerMingg 阅读 (18) 评论 (0) 编辑
摘要:理解:二进制末位次方为该位置管辖的范围,无法管辖的范围就是该数减去该二进制末位次方,递推往上,直到得到[1,n]的管辖点,然后相加。某个位置修改,会导致管辖它的点也相应被修改,这关键就是二进制的进位来更新管辖它的点,2^0一定被2^1管辖,2^1一定被2^2管辖。因为二进制的独特性,把这些最关键也是 阅读全文
posted @ 2020-03-13 23:43 SummerMingg 阅读 (15) 评论 (0) 编辑
摘要:题目链接:http://codeforces.com/problemset/problem/1304/D 思路: 最短的LIS:n,n-1,n-2,...3,2,1 最长的LIS:1,2,3,...,n-2,n-1,n 我们可以再按照给定字符串的大小关系,对两种LIS进行区间排序即可。 #inclu 阅读全文
posted @ 2020-02-28 18:27 SummerMingg 阅读 (33) 评论 (0) 编辑
摘要:题目链接:http://codeforces.com/problemset/problem/1301/C 思路: 纯想想了一次,发现one_cnt >= zero_cnt的时候很简单,就是(n)*(n+1)/2+ont_cnt, 但是当one_cnt<zero_cnt的时候,就有点麻烦了,虽然乱七八 阅读全文
posted @ 2020-02-24 15:26 SummerMingg 阅读 (33) 评论 (0) 编辑
摘要:题目链接:http://codeforces.com/problemset/problem/1301/B 思路: (1)都是-1的情况 (2)只有一个除-1之外的数 (3)至少有两个除-1之外的不同的数字 对于(3),我们可以得出最大数字和最小数字_max,_min,而我们的答案m和k易得一定是在[ 阅读全文
posted @ 2020-02-22 16:20 SummerMingg 阅读 (51) 评论 (0) 编辑
摘要:题目链接:http://codeforces.com/problemset/problem/1296/F 思路: 1————2————3————4————5————6 1->3 2 2->4 3 3->5 3 4->6 5 题目说 (u->v w)途中所有边 e1,e2,e3,...en∈E,满足任 阅读全文
posted @ 2020-02-14 17:00 SummerMingg 阅读 (42) 评论 (0) 编辑