摘要:
树上启发式合并,一个O(nlogn)处理树上查询问题比较好的算法(不能修改)。 codeforces600E 题意:一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和。 codeforces570D 题目大意: 给定一个以1为根的n个节点的树,每个点上有一 阅读全文
摘要:
比赛链接:https://vjudge.net/contest/378025#overview 这场在期末考试前打的,后面一直复习期末考试去了,今天才补完。感觉现场赛的题都挺难的,还是自己太菜了。 E - Cats and Fish 题意:有n只猫,m条鱼,每只猫都有吃鱼的时间,吃的时候相对少的优先 阅读全文
摘要:
题目链接:https://nanti.jisuanke.com/t/42400 这还是去年去现场赛打的,当时菜的不行,就白给了。最近学了主席树套树状数组,感觉好强的数据结构啊。我们学长说这题挺简单,建字典树dfs序,跑cdq分治就好了(%%%)。本菜鸡发现这题主席树套树状数组也能做。 题意:给你n个 阅读全文
摘要:
比赛链接:https://codeforces.com/contest/1335 这场比赛打起来还行,除了数组开太小的蜜汁操作WA了几发(不是第一次了,习惯了)。 A - Candies and Two Sisters 给定n,把n拆成a,b俩个数,满足a + b = n && a > b的方案数, 阅读全文
摘要:
比赛链接:https://codeforces.com/contest/1333 比赛的时候,写D的时候用了cin,cout的优化结果还是被卡了,看来cin,cout得少用。 A - Little Artem 给你n * m的矩阵,只有B和W,相邻有其他不一样的点成为好点,让好点B的数量多于W。那么 阅读全文
摘要:
题目意思:有n个人,一开始相互不认识。他们要去参加party,每次参加的人是编号在区间[l,r]内的人。参加完一次party之后,这区间内的人就会相互认识。每次会有有多少对人会新认识。那么用f[i] = j 表示 j - i的人都互相认识了,初始化f[i] = i,那么每次更新l,r话只需要找到是否 阅读全文
摘要:
有一说一最近状态确实不太行,打了这么久还是停留在初等小白。 A.斐波那契 求斐波那契数列前n项的平方和。这是斐波那契数列面积的应用,就是求f[n] * f[n + 1],用俩次矩阵快速幂求得。o(logn) 1 #include <bits/stdc++.h> 2 3 using namespace 阅读全文
摘要:
codeforces 600E E. Lomsat gelral 传送门:https://codeforces.com/contest/600/problem/E 题意: 给你一颗n个节点的树,树上的每一个节点都有一种颜色,询问每一个节点所在的子树颜色数量最多的那些颜色的值的总和 题解: 考虑暴力做 阅读全文
摘要:
A - Single Push 题面意思,在给a数组取l - r加上k, 当a[i] - b[i] > 0 时,不成立,当出现0 - x - 0 - x的情况成立,当出现0 - x - y -0的情况不成立。那么其实只要在边界加上0,问题就变成了0 -x- 0活0 -0-0情况。 1 #includ 阅读全文
摘要:
1.KMP kmp是用来字符串匹配的一种算法,核心是next数组的使用,如果暴力去匹配,假设a[n], b[m], 那么复杂度为o(nm)的,但其实可以通过next数组(前缀与后缀的最大匹配值)来降低到o(n +m), 意思就是比如a[i + 1] != b[j + 1], 那么暴力来说,就只在从0 阅读全文