http://www.vijos.cn/Problem_Show.asp?id=1589
这题.....郁闷了首先...
第一眼认为是差分约束系统,可怜的我不会差分....后来在大牛的指点下,明白了一个道理:原来这个题是可以用贪心的哦!
以结束位点先后排序,
用v记录点i是否有西瓜
依次枚举每个条件,
如果范围内的西瓜>=最小西瓜数,则跳过
否则
在没有西瓜的地方填上缺少数量的西瓜(当然尽量往后填,这样可以减少后面的西瓜使用,很好证明的贪心策略!)
当然还要累加使用的西瓜数
于是就这样搞定了........
我汗....不知差分约束系统该怎么写,希望大牛留言补上!先orz.....
如下为在下的AC代码.....
1
Code
2
var n,m:longint;
3
f:array[0..6000]of boolean;
4
c,s,e:array[0..3000] of longint;
5
procedure init;
6
var i:longint;
7
begin
8
readln(n,m);
9
for i:=1 to m do
10
begin
11
readln(s[i],e[i],c[i]);
12
end;
13
end;
14
procedure qsort(l,r:longint);
15
var i,j,x,t:Longint;
16
begin
17
i:=l;j:=r;
18
x:=e[(i+j) shr 1];
19
repeat
20
while e[i]<x do inc(i);
21
while e[j]>x do dec(j);
22
if i<=j then
23
begin
24
t:=e[i];e[i]:=e[j];e[j]:=t;
25
t:=s[i];s[i]:=s[j];s[j]:=t;
26
t:=c[i];c[i]:=c[j];c[j]:=t;
27
inc(i);dec(j);
28
end;
29
until i>j;
30
if l<j then qsort(l,j);
31
if i<r then qsort(i,r);
32
end;
33
procedure find;
34
var i,j,sum,ans:longint;
35
begin
36
fillchar(f,sizeof(f),0);
37
ans:=0;
38
for i:=1 to m do
39
begin
40
sum:=0;
41
for j:=s[i] to e[i] do if f[j] then inc(sum);
42
if sum>=c[i] then continue;
43
sum:=c[i]-sum;
44
ans:=ans+sum;
45
for j:=e[i] downto s[i] do
46
begin
47
if not(f[j]) then
48
begin
49
dec(sum);
50
f[j]:=true;
51
if sum=0 then break;
52
end;
53
end;
54
end;
55
writeln(ans);
56
end;
57
begin
58
init;
59
qsort(1,m);
60
find;
61
end.

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61
