<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gnarly Cow &#187; CQTSC</title>
	<atom:link href="http://blog.lipeiqian.com/archives/tag/cqtsc/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.lipeiqian.com</link>
	<description>We are continually faced with a series of great opportunities brilliantly disguised as insoluble problems.</description>
	<lastBuildDate>Thu, 01 Jul 2010 02:24:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>CQTSC2009 Summary</title>
		<link>http://blog.lipeiqian.com/archives/54</link>
		<comments>http://blog.lipeiqian.com/archives/54#comments</comments>
		<pubDate>Tue, 03 Mar 2009 16:39:11 +0000</pubDate>
		<dc:creator>gnarlycow</dc:creator>
				<category><![CDATA[省选]]></category>
		<category><![CDATA[CQTSC]]></category>
		<category><![CDATA[Summary]]></category>

		<guid isPermaLink="false">http://blog.lipeiqian.com/?p=54</guid>
		<description><![CDATA[中位数(median) 简单统计题 ?View Code CPP1 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 #include &#60;cstdio&#62; &#160; const int BASE=100000; int d&#91;100001&#93;,f&#91;100001&#93;,h&#91;200002&#93;; &#160; int main&#40;&#41; &#123; freopen&#40;&#34;median.in&#34;,&#34;r&#34;,stdin&#41;; freopen&#40;&#34;median.out&#34;,&#34;w&#34;,stdout&#41;; int n,b,s; scanf&#40;&#34;%d%d&#34;,&#38;n,&#38;b&#41;; for&#40;int [...]]]></description>
			<content:encoded><![CDATA[<p>中位数(median)<br />
简单统计题</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p54code3'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p543"><td class="line_numbers"><pre>1
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
</pre></td><td class="code" id="p54code3"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;cstdio&gt;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> BASE<span style="color: #000080;">=</span><span style="color: #0000dd;">100000</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> d<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100001</span><span style="color: #008000;">&#93;</span>,f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100001</span><span style="color: #008000;">&#93;</span>,h<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">200002</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;median.in&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span>,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;median.out&quot;</span>,<span style="color: #FF0000;">&quot;w&quot;</span>,<span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n,b,s<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>n,<span style="color: #000040;">&amp;</span>b<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,d<span style="color: #000040;">+</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>d<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>b<span style="color: #008000;">&#41;</span> s<span style="color: #000080;">=</span>i<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	h<span style="color: #008000;">&#91;</span>BASE<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>s<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #008080;">;</span><span style="color: #000040;">--</span>i<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>d<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span>d<span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #000040;">++</span>h<span style="color: #008000;">&#91;</span>BASE<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">int</span> ans<span style="color: #000080;">=</span>h<span style="color: #008000;">&#91;</span>BASE<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>s<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>d<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span>d<span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>h<span style="color: #008000;">&#91;</span>BASE<span style="color: #000040;">-</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,ans<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>跳舞(dance)<br />
二分答案+网络流<br />
经典的拆点构图模型，这里不加说明地直接给出构图方法：将每个人都拆成两个点，分别表示喜欢和不喜欢。从源向每个男喜欢连一条边，容量为二分枚举的曲子数。每个男孩从喜欢向不喜欢连一条容量为k的边，每个女孩从不喜欢向喜欢连一条容量为k的边。从每个女喜欢向汇连一条为容量为二分枚举的曲子数的边。对于每对相互喜欢的男女，从男喜欢向女喜欢连一条为容量为1的边；对于相互不喜欢的男女，从男不喜欢向女不喜欢连一条为容量为1的边。如果最大流恰为此时枚举的曲子数的n倍则可行。</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p54code4'); return false;">View Code</a> CPP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p544"><td class="line_numbers"><pre>1
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
</pre></td><td class="code" id="p54code4"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAXNODE<span style="color: #000080;">=</span><span style="color: #0000dd;">444</span>,MAXEDGE<span style="color: #000080;">=</span><span style="color: #0000dd;">30000</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> network
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> S,T,len<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> v<span style="color: #008000;">&#91;</span>MAXEDGE<span style="color: #008000;">&#93;</span>,capacity<span style="color: #008000;">&#91;</span>MAXEDGE<span style="color: #008000;">&#93;</span>,flow<span style="color: #008000;">&#91;</span>MAXEDGE<span style="color: #008000;">&#93;</span>,head<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span>,next<span style="color: #008000;">&#91;</span>MAXEDGE<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> insertEdge<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span>,<span style="color: #0000ff;">int</span>,<span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> makeLevelGraph<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> changeFlow<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span>,<span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> makeMaxFlow<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> getMaxFlow<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> g<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> q<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span>,h<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span>,cur<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span>,mark<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">bool</span> used<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span>,flag<span style="color: #008000;">&#91;</span>MAXNODE<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> fancy<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> network<span style="color: #008080;">::</span><span style="color: #007788;">initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	len<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>head,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>head<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>flow,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>flow<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	next<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> network<span style="color: #008080;">::</span><span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> a,<span style="color: #0000ff;">int</span> b,<span style="color: #0000ff;">int</span> c<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	len<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	v<span style="color: #008000;">&#91;</span>len<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>b<span style="color: #008080;">;</span>
	capacity<span style="color: #008000;">&#91;</span>len<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>c<span style="color: #008080;">;</span>
	next<span style="color: #008000;">&#91;</span>len<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>head<span style="color: #008000;">&#91;</span>a<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	head<span style="color: #008000;">&#91;</span>a<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>len<span style="color: #008080;">;</span>
	len<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	v<span style="color: #008000;">&#91;</span>len<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>a<span style="color: #008080;">;</span>
	capacity<span style="color: #008000;">&#91;</span>len<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	next<span style="color: #008000;">&#91;</span>len<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>head<span style="color: #008000;">&#91;</span>b<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	head<span style="color: #008000;">&#91;</span>b<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>len<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> network<span style="color: #008080;">::</span><span style="color: #007788;">makeLevelGraph</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>h,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>h<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>used,<span style="color: #0000ff;">false</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>used<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	used<span style="color: #008000;">&#91;</span>S<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
	q<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>S<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> headQ<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,tailQ<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>headQ<span style="color: #000080;">&lt;</span>tailQ<span style="color: #008080;">;</span><span style="color: #000040;">++</span>headQ<span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>head<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>headQ<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>i<span style="color: #008080;">;</span>i<span style="color: #000080;">=</span>next<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>capacity<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span>flow<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">&amp;&amp;!</span>used<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				h<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>h<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>headQ<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>T<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
				used<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
				q<span style="color: #008000;">&#91;</span>tailQ<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">bool</span> network<span style="color: #008080;">::</span><span style="color: #007788;">changeFlow</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k,<span style="color: #0000ff;">int</span> w<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>k<span style="color: #000040;">&amp;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> flow<span style="color: #008000;">&#91;</span>k<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #000080;">=</span>w<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span> flow<span style="color: #008000;">&#91;</span>k<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #000080;">=</span>w<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span>flow<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>w<span style="color: #008000;">&#41;</span><span style="color: #000080;">==</span>capacity<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> network<span style="color: #008080;">::</span><span style="color: #007788;">makeMaxFlow</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>makeLevelGraph<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>cur,head,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>head<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>used,<span style="color: #0000ff;">false</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>used<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		q<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>cur<span style="color: #008000;">&#91;</span>S<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> num<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span><span style="color: #000040;">!</span>used<span style="color: #008000;">&#91;</span>S<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>v<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>num<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>T<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">int</span> delta<span style="color: #000080;">=</span><span style="color: #0000ff;">INT_MAX</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>num<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> delta<span style="color: #000080;">&lt;</span><span style="color: #008080;">?</span><span style="color: #000080;">=</span>capacity<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span>flow<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>num<span style="color: #008080;">;</span>i<span style="color: #008080;">;</span><span style="color: #000040;">--</span>i<span style="color: #008000;">&#41;</span>
					<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>changeFlow<span style="color: #008000;">&#40;</span>q<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>,delta<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
						num<span style="color: #000080;">=</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>i<span style="color: #000080;">=</span>cur<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>num<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #008080;">;</span>i<span style="color: #008080;">;</span>i<span style="color: #000080;">=</span>next<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
					<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>used<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">&amp;&amp;</span>h<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>h<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>num<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000040;">&amp;&amp;</span>capacity<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span>flow<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
					<span style="color: #008000;">&#123;</span>
						q<span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>num<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>i<span style="color: #008080;">;</span>
						<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>i<span style="color: #008000;">&#41;</span> used<span style="color: #008000;">&#91;</span>v<span style="color: #008000;">&#91;</span>q<span style="color: #008000;">&#91;</span>num<span style="color: #000040;">--</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> network<span style="color: #008080;">::</span><span style="color: #007788;">getMaxFlow</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	makeMaxFlow<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> res<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>head<span style="color: #008000;">&#91;</span>S<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>i<span style="color: #008080;">;</span>i<span style="color: #000080;">=</span>next<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> res<span style="color: #000040;">+</span><span style="color: #000080;">=</span>flow<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> res<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;dance.in&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span>,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;dance.out&quot;</span>,<span style="color: #FF0000;">&quot;w&quot;</span>,<span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n,k<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>n,<span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%s&quot;</span>,<span style="color: #000040;">&amp;</span>fancy<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> L<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,R<span style="color: #000080;">=</span>n<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>L<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #000080;">&lt;</span>R<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> M<span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>L<span style="color: #000040;">+</span>R<span style="color: #008000;">&#41;</span><span style="color: #000080;">&gt;&gt;</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		g.<span style="color: #007788;">initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		g.<span style="color: #007788;">S</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		g.<span style="color: #007788;">T</span><span style="color: #000080;">=</span><span style="color: #0000dd;">4</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			g.<span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span>g.<span style="color: #007788;">S</span>,i,M<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			g.<span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">3</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span>i,g.<span style="color: #007788;">T</span>,M<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			g.<span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span>i,n<span style="color: #000040;">+</span>i,k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			g.<span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span>i,<span style="color: #0000dd;">3</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span>i,k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span><span style="color: #000040;">++</span>j<span style="color: #008000;">&#41;</span>
				<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>fancy<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'Y'</span><span style="color: #008000;">&#41;</span> g.<span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span>i,<span style="color: #0000dd;">3</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span>j,<span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span> g.<span style="color: #007788;">insertEdge</span><span style="color: #008000;">&#40;</span>n<span style="color: #000040;">+</span>i,<span style="color: #0000dd;">2</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span>j,<span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>g.<span style="color: #007788;">getMaxFlow</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #000080;">==</span>M<span style="color: #000040;">*</span>n<span style="color: #008000;">&#41;</span> L<span style="color: #000080;">=</span>M<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> R<span style="color: #000080;">=</span>M<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.lipeiqian.com/archives/54/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
