上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 68 下一页
摘要: 这道题有着贪心的性质在里面,首先我们观察题目的变量,可以想到设计dp表示以该节点为根节点的子树的最小次数是多少 但是这样是不够的。我们继续观察,发现这道题虽然叶子节点必须染色,但是染色的顺序是不定的,所以我们可以先找到哪种情况是最小的。 因此定义dp[u][1]和dp[u][2]分别表示已被染色的子 阅读全文
posted @ 2020-03-28 16:04 朝暮不思 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 这道题能看的出可以离线查询,不难想到莫队,但是寻常莫队每个询问只有一段,这样只需要排序即可 这里有两段,如果只按一段排序,那么复杂度显然得不到保证,以后不知道后面一段怎么样。 因此这里提出了一个想法就是,如果有多段,那么可以通过容斥原理来解决这个问题,把他变成多个询问的加减,这样复杂度就ok了 我们 阅读全文
posted @ 2020-03-28 10:23 朝暮不思 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 这道题与HDU4858 项目管理一样,都是分为轻重点,因为这样只会最多遍历sqrt条边,但是这题需要合并重边,不然复杂度会走样 分块的思想真的很强大。对于轻点来说,暴力遍历更新答案和重信息,而对于重点来说,只需要更新相邻重点。这样做是正确的是因为重点的信息都会由轻点和重点更新,而轻点是暴力,肯定正确 阅读全文
posted @ 2020-03-26 16:51 朝暮不思 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 如果这道题没有一个限制,那么就是一道树状数组+dfs序的裸题 第一个请求或许会带来困惑,导致想要动态建树,如果真的动态修改树,那么dfs序必定会改变,很难维护,并且数据很大,暴力应该会T 所以不妨先把全部的节点建好,这样只需要求一次dfs序,而对于第一种操作 我们只需要再那个位置减去在他之前的dfs 阅读全文
posted @ 2020-03-25 22:41 朝暮不思 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 观察数据范围和题目意思,不难想到用莫队算法,之后暴力查询即可 #include<iostream> #include<cstdio> #include<algorithm> #include<string> #include<cstring> #include<map> using namespac 阅读全文
posted @ 2020-03-25 16:40 朝暮不思 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 从数据范围不难推出可以用f[][][][],表示由两个字符串来表示的最长大小 并且因为是回文串,所以我们要向头尾加字符,来变大,因为这个是回文子串,也就是连续的一段。 #include<iostream> #include<cstdio> #include<algorithm> #include<s 阅读全文
posted @ 2020-03-24 22:23 朝暮不思 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 简单sg函数 #include<iostream> #include<algorithm> #include<cstdio> #include<unordered_set> #include<cstring> using namespace std; const int N=1e4; int h[N 阅读全文
posted @ 2020-03-24 19:16 朝暮不思 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 这道题展示了分块的强大,学到一手,虽然因为数据太过友好暴力也能过 这道题边数多,直接遍历复杂度很高,大佬们想到了一种分摊复杂度的方法 对于入度大于指定值例如(sqrt),这也是分块常用指定值的点,我们定义为重点 否则为轻点,重点只和重点连,轻点和轻点连。这基于的原理是,重点的个数不超过sqrt个,并 阅读全文
posted @ 2020-03-24 16:16 朝暮不思 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 如果了解sg函数,就知道如果全部相异或是0则必败,否则必胜 #include<iostream> #include<unordered_map> #include <unordered_set> #include<cstring> using namespace std; const int N=1 阅读全文
posted @ 2020-03-23 22:17 朝暮不思 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 这道题也是斜率优化的题目,可以用代数法化简,但是本题有个问题是 直线的斜率不一定递增,所以需要二分查找。 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N=2e5+20; 阅读全文
posted @ 2020-03-23 15:17 朝暮不思 阅读(173) 评论(0) 推荐(0) 编辑
上一页 1 ··· 51 52 53 54 55 56 57 58 59 ··· 68 下一页