Processing math: 0%

07 2017 档案

摘要:求出离每个点最近的关键点,然后用二维ST表回答正方形最大值。 将关键点分为上下两部分,以上为例: 从上到下依次考虑每一行,记录每一列往上最近的关键点的距离,那么最优决策具有单调性,可以分治求解。 时间复杂度O(n2logn+t)阅读全文
posted @ 2017-07-28 03:46 Claris 阅读(314) 评论(0) 推荐(0) 编辑
摘要:首先枚举出所有可能成为区间最小差值的点对(j,i)。 枚举每个位置作为右端点i,假设a[j]>a[i]。 找到第一个这样的j,那么可以将下一个a[j]的范围缩小到(a[i],\frac{a[i]+a[j]}{2})。这是因为在这之外的数要么没有j优,要么会被j考虑到。 阅读全文
posted @ 2017-07-26 01:52 Claris 阅读(460) 评论(0) 推荐(1) 编辑
摘要:首先把相同的事件点合并,那么每个点有时间t_i,位置x_i,价值v_i。 考虑DP,设f_i表示按时间从小到大考虑每个事件,目前位于事件i的时间与位置时,最多能让多少个事件发生。在t_i秒初对方不能碰到i,但在这一秒结束结算时,对方可以碰到i。 则$f_i=\max( 阅读全文
posted @ 2017-07-24 02:27 Claris 阅读(246) 评论(0) 推荐(0) 编辑
摘要:考虑2-SAT建图,设a[i][0..1]表示i变不变,b[i][0..1]表示i是下降还是上升。 首先相邻的不能同时动,说明a[i]a[i+1]里最多选一个。 对于xy要相等,假设s[x]\geq s[y]1.s[x]-s[y]=3,则视为$1 阅读全文
posted @ 2017-07-16 04:50 Claris 阅读(295) 评论(0) 推荐(0) 编辑
摘要:假设删除的边是(u,v),分两种情况讨论: 1.删除(u,v)之后(u,v)不再连通,那么说明(u,v)是图的桥,同时整个图都要是二分图。 2.删除(u,v)之后(u,v)依然连通,那么图不能是二分图,但是删除(u,v)之后必须要是二分图,这说明(u,v)位于 阅读全文
posted @ 2017-07-15 13:12 Claris 阅读(215) 评论(0) 推荐(0) 编辑
摘要:考虑头部,一定是能向前就向前,因此是最左边的腿往右b-1个位置。 头部移动之后,腿部就要相应地移动到区间内最靠右的l1之上。 若头部和腿部都不能移动,检查是否到达终点即可。 用前缀和以及对前缀和做映射来支持查询。 时间复杂度O(n)阅读全文
posted @ 2017-07-14 03:52 Claris 阅读(284) 评论(0) 推荐(0) 编辑
摘要:首先如果最大匹配不足n个那么显然每条边都不可能在匹配为n的方案中。 对于一条边(u,v),如果它可能在最大匹配中,有两种情况: 1.(u,v)是当前方案的匹配边。 2.可以沿着(u,v)进行增广,那么在残余网络中uv在一个环中,即属于同一个强连通分量。 因为源点不存 阅读全文
posted @ 2017-07-14 02:22 Claris 阅读(202) 评论(0) 推荐(0) 编辑
摘要:首先将合成树展开,得到一棵不超过m(m\leq 10^6)的有根树。 问题等价于,不休息地访问所有点,访问每个点需要时间t_i,价值为v_i。 设vis_i为访问i点的时间(不含t_i),最大化\sum t_i\times v_i。 根据排序不等式可得,需要按照$\fra 阅读全文
posted @ 2017-07-11 19:02 Claris 阅读(242) 评论(0) 推荐(0) 编辑
摘要:枚举T_1的树根,然后DP,设f[i][j]表示T_1的子树i是否存在包括i的连通子树与T_2的子树j同构。 若j是叶子,那么显然可以。 若deg_i<deg_j,那么显然不可以。 否则将ij所有互相同构的儿子之间连边,二分图匹配判断是否存在完美匹配即可 阅读全文
posted @ 2017-07-11 05:13 Claris 阅读(294) 评论(0) 推荐(0) 编辑
摘要:对于HARD: 需要满足k+u[i]\times k\leq T+late[i]。 对于EASY: 需要满足k+u[i]\times k\leq T-rest[i]。 所以对于HARD,设a[i]=-late[i],对于EASY,设a[i]=rest[i],并将所有题目的u[i] 阅读全文
posted @ 2017-07-10 02:01 Claris 阅读(307) 评论(0) 推荐(0) 编辑
摘要:设f[i][j][k]表示坦克位于(i,j),目前打了不超过k个位置的最大得分。 初始值f[1][1][k]为在(1,1)射程内最大k个位置的分数总和。 对于每次移动,会新增一行或者一列O(R)个位置,那么显然也是从大到小取。 暴力转移是O(R)的,不能接受,但是注意 阅读全文
posted @ 2017-07-09 01:35 Claris 阅读(264) 评论(0) 推荐(0) 编辑
摘要:二分答案,判断是否存在合法方案使得每个数都不超过mid。 考虑网络流建图: i点的流量下限为\max(a_i-mid,0),费用为1,故拆点进行限制。 ii+1SiiT连边,费用为0。 那么一条增广路径对应选择一个区间进行减1。 求出流量不超 阅读全文
posted @ 2017-07-08 05:08 Claris 阅读(173) 评论(0) 推荐(0) 编辑
摘要:为了使数字最大,首先要最大化其位数。 设f[i][j][k]表示从低到高考虑了i位,手头火柴棍个数为j,第i位是不是0时,最少移动多少根火柴。 若f[i][0][非0]\leq k,则存在一个长度为i的数,由此可以求出最大长度。 确定长度之后,再从高到低逐位贪心确定每一位 阅读全文
posted @ 2017-07-04 01:41 Claris 阅读(697) 评论(1) 推荐(1) 编辑
摘要:将曼哈顿距离转化为切比雪夫距离,即: |x_1-x_2|+|y_1-y_2|=\max(|(x_1+y_1)-(x_2+y_2)|,|(x_1-y_1)-(x_2-y_2)|) 那么每个点能接受的范围是一个正方形,对正方形求交,若交集为空那么显然无解。 然后在交对应矩形中三分套三分即可,用二分查 阅读全文
posted @ 2017-07-01 04:05 Claris 阅读(386) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示