09 2019 档案

摘要:"K th Closest Distance" 题意:给定长度为$n$的数列,现有m次查询,每组询问给$l,r,p,k$,问对$l using namespace std; const int maxn=100005; int n,m; const int N=1e6; struct node{ i 阅读全文
posted @ 2019-09-18 18:38 rain_star 阅读(128) 评论(0) 推荐(0)
摘要:"K Subsequence" 题意:给定一个长度为$n$的数字序列,现可以从中选取k个单调上升的子序列,且每个元素至多只能被选中一次,问k个子序列元素和的最大值。 题解:对数列每一项拆点,连接流量为1,费用为$ a[i]$的边,所有项的右端点与其后大于等于这一项的项的左端点连流量1,费用0的边。源 阅读全文
posted @ 2019-09-18 00:01 rain_star 阅读(189) 评论(0) 推荐(0)
摘要:"Marbles" 题意:长度4e5的数字序列,不同数字个数至多20个,每次操作可选取两个相邻数字并交换位置,现在想要使序列中所有相同数字都排列在一起,问至少需要几次操作。时限4s. 题解:由不同数字个数至多20应该想到状压DP...... ​ 现在假想全部排完之后的状态,根据不同数字块的位置显然有 阅读全文
posted @ 2019-09-16 12:45 rain_star 阅读(214) 评论(0) 推荐(0)
摘要:待填:hdu6604 支配树 不填惹 放弃惹 QUQ 阅读全文
posted @ 2019-09-12 12:29 rain_star 阅读(138) 评论(0) 推荐(1)
摘要:"Longest Subarray" 题意:一个数列,每个元素大小都在1到C之间,求一个最长的子串,满足在这个子串中1到C之间的每个数字要么出现0次,要么出现至少K次。 题解:$i$从1到n枚举右端点,维护一个$tree[j]$表示在$i$为右端点时以$j$为左端点可行的个数(这里的可行是指对于1到 阅读全文
posted @ 2019-09-10 22:45 rain_star 阅读(259) 评论(0) 推荐(0)
摘要:"path" 题意:$n$个点$m$条边的有向图,需要砍掉几条边使从$1$到$n$的最短路变长,问花费的最小值。花费等于砍掉的所有边的权值和。 题解:两遍dij跑出所有属于$1$到$n$的最短路的边(边需要满足的条件为$dis1[u]+w+dis2[v]==dis1[n]$,$dis1$以1为源点, 阅读全文
posted @ 2019-09-10 13:49 rain_star 阅读(97) 评论(0) 推荐(0)