上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
摘要: 题意 n个人,每人有一个能力值a[i],要求分成多个队伍,每个队伍至少3个人,使得所有队伍的max(a[i]) min(a[i])之和最小。 分析 不会巧妙的dp,想了一天只想到了暴力的dp。 先排序,设$dp[i]$表示到前i个数组队,所有队伍的最小极差和。 转移方程为$dp[i]=min(dp[ 阅读全文
posted @ 2019-11-05 23:03 Keane1998 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个序列,求最多的不相交区间满足区间和相同。 分析 从暴力的角度想,是枚举区间再求和,反过来想,直接记录每个和对应是那些区间,然后排个序求最大不相交即可。 代码 c++ include using namespace std; typedef long long ll; const int 阅读全文
posted @ 2019-10-22 22:28 Keane1998 阅读(109) 评论(0) 推荐(0) 编辑
摘要: A Rooms and Passages 题意 给n个数,从起点出发,一直往右走,遇到一个前面出现过其相反数的正数就停下,问对于每个起点都能走多少步。 分析 倒着递推,如果起点是正数,那么肯定可以走, 。 如果起点是负数,那就得看这个负数对应绝对值在后面出现的最靠前的位置, 而且还要看后面的负数所对 阅读全文
posted @ 2019-10-18 17:02 Keane1998 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个序列,求有多少个最长连续子序列满足最大值减最小值之差不超过$k$。 分析 跟序列最大值最小值有关的可以想到单调栈,先预处理出每个数作为最大值能延伸的区间,然后枚举每个数作为最大值。 最大的满足条件的连续序列显然左边就是要在$[le[i],i 1]$里找到大于等于$a[i] k$的最小值 阅读全文
posted @ 2019-10-09 22:20 Keane1998 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一棵树和根,每个点有点权,强制在线询问$x$子树里离$x$距离不超过$k$的最小点权。 分析 权值线段树合并的套路题,dfs,以深度作为下标,点权作为值,对每个点建立一颗权值线段树,然后回溯的时候合并到父节点的线段树上。 合并时维护最小值,查询时也是查询区间最小值。 内存给得多的情况下数组 阅读全文
posted @ 2019-10-09 21:27 Keane1998 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个字符串$s$,和$n$个子串$t[i]$,两个人博弈,每次取出一个串$t[i]$,在后面加入一个字符,保证新字符串仍然是$s$的子串,无法操作的人输。 分析 n个子串,类比于n堆石子,如果把子串$t[i]$在后面加若干字符能生成的子串看出一个状态,用一个数表示,那每次状态的变化,就类比于 阅读全文
posted @ 2019-10-09 16:08 Keane1998 阅读(146) 评论(0) 推荐(0) 编辑
摘要: A Amsterdam Distance 题意 求圆环上的两点距离。 分析 显然是沿半径方向走到内圈再走圆弧最短。 代码 C Collatz Conjecture 题意 n个数,求所有不同区间的gcd值的不同个数。 分析 序列的gcd问题经常就是暴力乱搞...不过姿势要对,因为gcd降得很快。 考虑 阅读全文
posted @ 2019-10-05 22:45 Keane1998 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题意 给$2n$个物品,分别有$a,b$属性,对于$i=1...n$,选择$i$个$a$属性和$i$个$b$属性,且每个物品只能作为一种属性的贡献,求最小的值。 分析 看了题解补了两天... 应该叫做可反悔的贪心,或者其实就是网络流?不过因为是特殊的图,所以可以用优先队列来优化。 维护四个优先队列, 阅读全文
posted @ 2019-09-29 18:50 Keane1998 阅读(252) 评论(0) 推荐(0) 编辑
摘要: B Buffoon 判断最大值是不是第一个数,签到题。 H Hour for a Run 输出$n m$的$10\%$到$90\%$,签到题,注意别用浮点数和ceil,有精度问题。 M Maratona Brasileira de Popcorn 题有点难读,就是给n个数,m个人,每人分一个连续段, 阅读全文
posted @ 2019-09-28 20:03 Keane1998 阅读(1260) 评论(0) 推荐(0) 编辑
摘要: 题意 给定两个排列a和b,两种操作,交换b_i和b_j,询问a[l_a...r_a]和b[l_b...r_b]有多少个数相同。 分析 由于给的是排列,保证b的每个数都有a的对应,构造数组c,c[i]表示b[i]在a数组中的位置。 所以询问就变成询问c[l_b...r_b]中有多少个值域为[l_a.. 阅读全文
posted @ 2019-09-11 23:37 Keane1998 阅读(150) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页