上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 24 下一页
摘要: poj 1741 Tree(树的点分治) 给出一个n个结点的树和一个整数k,问有多少个距离不超过k的点对。 首先对于一个树中的点对,要么经过根结点,要么不经过。所以我们可以把经过根节点的符合点对统计出来。接着对于每一个子树再次运算。如果不用点分治的技巧,时间复杂度可能退化成$O(n^2)$(链)。如 阅读全文
posted @ 2018-03-07 18:31 pechpo 阅读(127) 评论(0) 推荐(0)
摘要: 置换群(本蒟蒻瞎BB的)(未完) 群的定义 给定一个集合$G=\{a, b, c...\}$和集合$G$上的二元运算\ ,并满足: 1. 封闭性:$\forall a, b \in G, \exists c \in G, a b=c$。也就是集合里的元素怎么乱搞都只能搞出来集合里的东西。 2. 结合 阅读全文
posted @ 2018-03-04 22:02 pechpo 阅读(1776) 评论(0) 推荐(1)
摘要: uva 1153 顾客是上帝(贪心) 有n个工作,已知每个工作需要的时间q[i]和截止时间d[i](必须在此前完成),最多能完成多少个工作?工作只能串行完成,第一项任务开始的时间不早于时刻0. 这道题算比较难的贪心了。解法是维护一个关于所有选择的时间的大根堆。将所有工作按照截止时间排序(将二维问题转 阅读全文
posted @ 2018-03-03 20:57 pechpo 阅读(182) 评论(0) 推荐(0)
摘要: 关于区间的贪心问题 选择不相交区间 数轴上有n个开区间,选择尽量多个区间,使得这些区间两两没有公共点。 首先,若有两个区间x和y,区间x完全包含y,那么肯定不用选择x,因为选择y冲突更少,却和x的价值相同。 接下来,按照右端点从小到大给区间排序。有两个贪心策略:第一个是——一定要选择第一个区间,这是 阅读全文
posted @ 2018-03-03 15:24 pechpo 阅读(422) 评论(0) 推荐(0)
摘要: uva 1615 高速公路(贪心,区间问题) 给定平面上n个点和一个值D,要求在x轴上选出尽量少的点,使得对于给定的每个点,都有一个选出的点离它的欧几里得距离不超过D。(n include include include using namespace std; const int maxn=1e5 阅读全文
posted @ 2018-03-03 11:38 pechpo 阅读(249) 评论(0) 推荐(0)
摘要: uva 1614奇怪的股市(归纳法证明,贪心) 输入一个长度为n的序列a,满足$1\le a_i\le i$,要求确定每个数的正负号,使得所有数的总和为0.例如a={1, 2, 3, 4},则4个数的符号分别是1, 1, 1, 1即可。但若a={1, 2, 3, 3},则无解。n include u 阅读全文
posted @ 2018-03-02 22:53 pechpo 阅读(268) 评论(0) 推荐(0)
摘要: 常用算法设计和优化策略(本蒟蒻不定期更新) 下面是紫书上讲的常用算法设计策略和优化策略: 分治法:将问题分成相同的独立子问题求解。在普通的分治之外,还有一种cdq分治,思想是处理左边区间到右边区间的影响,归并算一个例子。 动态规划 第一种用法 本质是:对于一个问题,通过定义状态来 分解问题 。利用状 阅读全文
posted @ 2018-03-01 23:14 pechpo 阅读(760) 评论(0) 推荐(0)
摘要: uva11491 奖品的价值(贪心) 给你一个n位的整数,请你删除其中的d个数字,使得整数尽可能大。1 include using namespace std; const int maxn=1e5+5; int n, m, lens, tail, dis; char s[maxn], ans[ma 阅读全文
posted @ 2018-02-19 20:29 pechpo 阅读(173) 评论(0) 推荐(0)
摘要: uva12545 比特变换器(贪心) 输入两个等长的串S,T(长度小于100),其中S包含字符0,1,?,T中包含0和1。有三种操作:将S中的0变为1,?变为0或1,交换S中的任意两个字符。求将S变成T的最少步数。 首先考虑去掉问号。设S中1的个数为one1,T中1的个数为one2。在one1 in 阅读全文
posted @ 2018-02-19 17:57 pechpo 阅读(178) 评论(0) 推荐(0)
摘要: uva1610 聚会游戏(细节处理) 输入一个n(n include include using namespace std; const int maxn=1005; int n; string a[maxn], s1, s2; void getstr(int l, int r, int ord, 阅读全文
posted @ 2018-02-18 20:42 pechpo 阅读(448) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 24 下一页