随笔分类 -  动态规划 -- 数据结构优化

摘要:题目大意:略 洛谷题面传送门 BZOJ题面传送门 注意题目的描述,是村庄在一个范围内去覆盖基站,而不是基站覆盖村庄,别理解错了 定义$f[i][k]$表示只考虑前i个村庄,一共建了$k$个基站,最后一个基站建在了i处,最小的总花费 $f[i][k]=min(f[j][k]+calc(j,i))\;c 阅读全文
posted @ 2019-01-13 15:42 guapisolo 阅读(201) 评论(0) 推荐(0)
摘要:题目大意:给你很多条线段,开头结尾是$[l,r]$,让你覆盖整个区间$[1,T]$,求最少的线段数 题目传送门 线段树优化$DP$裸题.. 先去掉所有能被其他线段包含的线段,这种线段一定不在最优解里 排序,让所有线段构成左右端点位置都递增的排列 定义$f[i]$表示第$i$条线段,覆盖到第$i$条线 阅读全文
posted @ 2019-01-12 20:46 guapisolo 阅读(193) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列(n<=35000),最多分不大于m块(m<=50),求每个块内不同元素的数量之和的最大值 考试的时候第一眼建图,没建出来,第二眼贪心 ,被自己hack掉了,又随手写了个dp方程,感觉可以用splay维护,发现有区间操作并可取,又发现这个方程只能用线段树维护,然后只剩40min 阅读全文
posted @ 2018-10-04 08:30 guapisolo 阅读(141) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-02 09:44 guapisolo 阅读(11) 评论(0) 推荐(0)
摘要:题目大意:给你两个序列,你可以两个序列的点之间连边 要求:1.只能在点权差值不大于4的点之间连边 2.边和边不能相交 3.每个点只能连一次 设表示第一个序列进行到 i,第二个序列进行到 j,最多连的边数,容易得到方程: 不连边: 连边: 实际是这样的,每个位置如果想连边,就要从能连边的位置之前找最大 阅读全文
posted @ 2018-09-24 21:57 guapisolo 阅读(164) 评论(0) 推荐(0)