摘要: 本题是状态压缩的dp题目,具体注释在代码当中,有挺多细节 #include<iostream> #include<string> #include<vector> #include<cstdio> #include<queue> #include<algorithm> #include<cstrin 阅读全文
posted @ 2020-01-31 17:10 朝暮不思 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 这道题是一道区间dp的题目 我们如何看出他是区间dp? 因为他是在一条线上从小区间不断向大区间扩散,长度不断增加,所以大区间的答案一定是从小区间的答案更新而来 题目已知的信息有区间位置,和功率和米数,所以我们要从这些信息入手。 如何设计dp状态? 我们观察到我们需要保存小区间的答案,所以我们前两维可 阅读全文
posted @ 2020-01-30 10:39 朝暮不思 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 本题是经典的莫队算法 莫队算法是离线查询的一种复杂度优秀的暴力算法。 首先我们需要注意异或的几个性质,相同数字异或等于0,所以我们考虑前缀和,因为从ai-aj的异或值就等于pre[i-1]^pre[j] 前缀和的异或,因为相同部分会抵消。 莫队一般和分块相结合,我们需要维护一个cnt数组,cnt[a 阅读全文
posted @ 2020-01-29 19:17 朝暮不思 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 反悔贪心,思维量非常大,重点如下: 1.d[i]存区间,表示i-i+1的长度。 2.二叉堆来维护最小值 3.每次只有两种可能,一种是取不相邻的边,另一种是取相邻的边,如果取相邻的边,那么必定是破坏之间的集合重组,在代码上显示的就是差值 4.合边操作并不是真的合边,而是差值刚好就能代表重组集合,在数学 阅读全文
posted @ 2020-01-28 19:11 朝暮不思 阅读(107) 评论(0) 推荐(0) 编辑
摘要: A题 签到题 B题 只需要贪心的调换成只能经过一次调换的最小字符串,再与目标串比较 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace st 阅读全文
posted @ 2020-01-28 11:09 朝暮不思 阅读(104) 评论(0) 推荐(0) 编辑
摘要: A题 水题,但是我做麻烦了,因为我不知道字符串内部也可以排序,学到一招 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; con 阅读全文
posted @ 2020-01-27 11:12 朝暮不思 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 本题是树形dp+分组背包问题 根据本题的条件,我们自然可以设计二维dp状态 f[i][j],显然第一维表示的是以i为根节点的树,那么考虑第二维 第二维有两种可能,一种是总价值,一种是总人数,我们可以想到控制价值并不好做,因为价值可以很大,导致数组开不起来,还有就是价值可能为负,所以我们控制第二维是以 阅读全文
posted @ 2020-01-25 17:06 朝暮不思 阅读(179) 评论(0) 推荐(0) 编辑
摘要: AcWing247 线段树+扫描线 Codeforces617 E . XOR and Favorite Number(莫队算法) P1494 [国家集训队]小Z的袜子 题解 洛谷P1533 可怜的狗狗题解 (莫队算法+离散化+权值线段树) P4735 最大异或和 /【模板】可持久化Trie AcW 阅读全文
posted @ 2020-01-24 10:15 朝暮不思 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 在这篇题解中我不打算介绍线段树扫描线原理,因为网上有更多的人介绍的更好,我打算和大家分享一些扫描线操作的细节问题。 1.首先本题是特殊的线段树操作,因为根据我们对题目的了解,可以不用写pushdown操作(仅对矩形有效),原因如下: 在线段树中,有两个地方需要pushdown操作,第一个是修改时,第 阅读全文
posted @ 2020-01-24 10:14 朝暮不思 阅读(368) 评论(0) 推荐(1) 编辑
摘要: G - 小明系列故事——买年货 HDU4501 三维费用背包,枚举积分,钱数和免费个数 多维费用背包要在循环体内设计比较,而不能直接在for循环语句中设置类似普通01背包的语句j>=a[i]这样的语句,因为即使有一维不能满足,不代表其他维不能满足,这样会丢弃部分情况 #include<iostrea 阅读全文
posted @ 2020-01-22 11:41 朝暮不思 阅读(322) 评论(0) 推荐(0) 编辑