差分约束
文章平均质量分 60
WerKeyTom_FTD
我是一只来自中山纪念中学高三的oier,请多多指教
展开
-
照片
题目大意现有N个点,每个点权值为0或1,现给出m个限制每个形如l~r这些点权值和为1.请最大化n个点的权值和。如果不可能有答案输出-1。 n<=200000。m<=100000。差分约束系统设sum[i]表示权值前缀和我们可以发现需要满足约束如下: sum[i]−sum[i−1]>=0即sum[i−1]<=sum[i]sum[i]-sum[i-1]>=0即sum[i-1]<=sum[i] su原创 2015-12-28 19:19:31 · 634 阅读 · 0 评论 -
[HDU5659]knight
题目大意求一个字符串,从每一个位置分成两部分(当做两个字符串),求本质不同子串数量。SAM我们先有一个简单的思路。f[i]表示从i分成两部分的答案。 正难则反,求出原串本质不同子串数量,对于每个位置减去跨线且没在两边出现过的即可。 对于一个子串,如果其出现在原串中最大的右端点为mx,最小的右端点为mi,其长度为len。 如果mx-len>=mi,则因为其所有出现区间交为空,无论从哪个位置分开这原创 2016-08-15 22:37:40 · 727 阅读 · 0 评论 -
[bzoj1635]最高的牛
题目大意有n头牛,有一个数m表示最高的牛高度为m。 q组关系,每组关系形如h[a]>=h[b],且a与b间的牛高度严格小于h[b] 求可行字典序最大序列。构造我们尝试构造一发。 首先如果a>b,就交换a和b。通过讨论可以发现是一样的。 令f[i]表示差分数组,每次f[a+1]–,f[b]++。 我们认为h[i]=m+∑ij=1f[j]h[i]=m+\sum_{j=1}^if[j] 显然这原创 2016-11-16 21:12:20 · 595 阅读 · 0 评论 -
[bzoj1651]专用牛棚
题目大意有N头牛,每头牛有个喝水时间,这段时间它将专用一个Stall 现在给出每头牛的喝水时间段,问至少要多少个Stall才能满足它们的要求差分f[i]表示差分序列。 一头牛在[j,k]喝水,那么f[j]++,f[k+1]–。 找到sigma{f}的最大值即为答案。#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=原创 2016-11-16 21:24:42 · 566 阅读 · 0 评论 -
[SRM553-1000]YamanoteLine
题目大意有一个n个点的环,相邻两个点距离是正整数。 现在有若干个约束,是以下两种其中之一: 1、S与T的顺时针距离不小于L。 2、S与T的顺时针距离不大于L。 问环总长的解的方案数。差分约束不妨设D[i]表示0与i的顺时针距离,特殊的,D[n]表示整个环的总长,设为X。 显然,D[i+1]−D[i]>=1D[i+1]-D[i]>=1,等同于D[i]−D[i+1]≤−1D[i]-D[i+1]原创 2018-02-27 16:32:17 · 631 阅读 · 0 评论