Redian新闻
>
大家怀孕后又没有控制不住尿的时候?
avatar
x*6
2
我打喷嚏的时候总是会尿出来一点,郁闷死了。
avatar
r*g
3
似乎就是DP[i]表示到达时间i的时候能够得到的最大cost,先对interval 排序,然后
从小到大scan,每个新的interval I,可以更新DP[I.end],这里需要注意的是DP[I.
end]更新后可能影响后面的若干个DP。
DP[i] = sum of cost of all intervals whose end time is smaller than i, and
have no overlap.
int currentGlobalEnd=0;
For each interval I:
DP[I.end] = max(DP[I.end], DP[I.begin]+cost_I);
for I.end to currentGlobalEnd: update their DP.
update currentGlobalEnd.
avatar
s*n
4
我吐得很厉害的时候会有漏尿,极度郁闷

【在 x********6 的大作中提到】
: 我打喷嚏的时候总是会尿出来一点,郁闷死了。
avatar
m*0
5
1. sort the jobs by theirs start-times to non-descending order, resulted in
jobs[] (size=n)
2. define dp[i]: max cost of non-overlapping jobs from jobs[i to n-1]
3. to get dp[i], consider two choices:
1) use jobs[i]: let jobs[j] be the first job whose start-time >= jobs[i].
end, then cost1 = (jobs[i].cost + dp[j])
2) not use jobs[i]: cost2 = dp[i+1]
dp[i] = max(cost1, cost2)
avatar
c*u
6
生完就好了。

【在 x********6 的大作中提到】
: 我打喷嚏的时候总是会尿出来一点,郁闷死了。
avatar
G*0
8
我也是,每次喷嚏了都这样。
avatar
r*g
9

in
你这是不是写错了,应该是jobs[j] end time <= jobs[i]吧。而且即使这样,search
开销是不是n?最后开销是n^2?

【在 m******0 的大作中提到】
: 1. sort the jobs by theirs start-times to non-descending order, resulted in
: jobs[] (size=n)
: 2. define dp[i]: max cost of non-overlapping jobs from jobs[i to n-1]
: 3. to get dp[i], consider two choices:
: 1) use jobs[i]: let jobs[j] be the first job whose start-time >= jobs[i].
: end, then cost1 = (jobs[i].cost + dp[j])
: 2) not use jobs[i]: cost2 = dp[i+1]
: dp[i] = max(cost1, cost2)

avatar
o*t
10
正常
avatar
b*6
11
先排序再binary search,结果应该是n log n

search

【在 r*******g 的大作中提到】
:
: in
: 你这是不是写错了,应该是jobs[j] end time <= jobs[i]吧。而且即使这样,search
: 开销是不是n?最后开销是n^2?

avatar
q*2
12
我也是,32周开始.尿不能憋一秒钟,偶而也漏尿.并且宝宝一动就老是想尿尿,下腹有时
还不太舒服,这正常啊?
avatar
r*g
13
排序是对starttime排序,现在是要找endtime小于当前starttime的,对吧?
这题肯定可以做,就是怎么写比较简洁。

【在 b********6 的大作中提到】
: 先排序再binary search,结果应该是n log n
:
: search

avatar
b*s
14
因为孕期体内释放relaxin,把肌肉和关节都给松弛了
对策就是Kegel锻炼pelvic floor

【在 x********6 的大作中提到】
: 我打喷嚏的时候总是会尿出来一点,郁闷死了。
avatar
b*6
15
对end time排序,遍历所有event就可以得出结果
dynamical programing弄一个有n个元素的数组result[n],n是job的数目,里面存
maximum total cost
对于第i个job,把start time记作ts,取不取这个job决定于result[i-1]和cost_i +
result[j]的大小,j是ts之前end time最接近ts的job的index, 如果前者大,则不取这
个job,如果后者大,则取这个job并调整subset里的元素
时间复杂度就是一开始的排序,和后来binary search j,都是n log n,如果使用遍历
查找,就是n^2。其他操作全部是O(1)

【在 r*******g 的大作中提到】
: 排序是对starttime排序,现在是要找endtime小于当前starttime的,对吧?
: 这题肯定可以做,就是怎么写比较简洁。

avatar
j*d
16
这个越到生前越是如此,很正常。

【在 x********6 的大作中提到】
: 我打喷嚏的时候总是会尿出来一点,郁闷死了。
avatar
r*g
17
按照endtime排序好,受教了。
thanks

【在 b********6 的大作中提到】
: 对end time排序,遍历所有event就可以得出结果
: dynamical programing弄一个有n个元素的数组result[n],n是job的数目,里面存
: maximum total cost
: 对于第i个job,把start time记作ts,取不取这个job决定于result[i-1]和cost_i +
: result[j]的大小,j是ts之前end time最接近ts的job的index, 如果前者大,则不取这
: 个job,如果后者大,则取这个job并调整subset里的元素
: 时间复杂度就是一开始的排序,和后来binary search j,都是n log n,如果使用遍历
: 查找,就是n^2。其他操作全部是O(1)

avatar
h*r
18
我刚怀孕就开始漏尿了,所以打喷嚏的时候必须夹紧腿。
avatar
k*g
19
大家说的都是求maximum cost,但题目说的是find a subset that..
如果是要取这个subset应该怎么做呢?
avatar
l*2
20
我生后8个月了,有时还这样。郁闷啊!
avatar
b*6
21
弄两个数组,A[n], B[n] where n is the number of jobs,然后再用一个变量来存总
cost,如果想把每一步的总cost和每一步的subset size存起来的话,也可以多弄几个
数组。
A[i] 存从0 - i个job的最优解subset的最后一个job的index
B[i] 存A[i]对应的最优解subset的倒数第二个job的index
比如对于一个5个job的输入数组,A[4]=3,表示这5个输入的最优解subset的最后一个
job的index为3, 然后B[4]=2,表示取完3之后要去取2,然后找A[2]=1,然后找B[2],
一路找一下去,时间复杂度是O(k),k是subset的size

【在 k***g 的大作中提到】
: 大家说的都是求maximum cost,但题目说的是find a subset that..
: 如果是要取这个subset应该怎么做呢?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。