From 9d3c8c0e6e1a7ba43bf3dc19350d1dca68b657a3 Mon Sep 17 00:00:00 2001
From: Chris Xiong <chirs241097@gmail.com>
Date: Sun, 10 Feb 2019 11:16:07 +0800
Subject: Initial commit.

---
 sduacm2017/index.html            |  50 +++++
 sduacm2017/junior/problems_j.pdf | Bin 0 -> 957171 bytes
 sduacm2017/junior/ranklist       | 249 ++++++++++++++++++++++
 sduacm2017/lec1/lec.pdf          | Bin 0 -> 1393291 bytes
 sduacm2017/lec1/lec.tex          | 440 +++++++++++++++++++++++++++++++++++++++
 sduacm2017/lec1/zz.png           | Bin 0 -> 3638 bytes
 sduacm2017/lec1/zz1.png          | Bin 0 -> 9919 bytes
 sduacm2017/lec1/zz2.png          | Bin 0 -> 864349 bytes
 sduacm2017/lec2/lec.pdf          | Bin 0 -> 781277 bytes
 sduacm2017/lec2/lec.tex          | 312 +++++++++++++++++++++++++++
 sduacm2017/lec2/zz1.png          | Bin 0 -> 9919 bytes
 sduacm2017/lec2/zz2.png          | Bin 0 -> 353804 bytes
 sduacm2017/lec3/c1.png           | Bin 0 -> 214300 bytes
 sduacm2017/lec3/c2.png           | Bin 0 -> 296127 bytes
 sduacm2017/lec3/lec.pdf          | Bin 0 -> 817559 bytes
 sduacm2017/lec3/lec.tex          | 241 +++++++++++++++++++++
 sduacm2017/senior/problems_s.pdf | Bin 0 -> 1024819 bytes
 sduacm2017/senior/ranklist.html  | 324 ++++++++++++++++++++++++++++
 18 files changed, 1616 insertions(+)
 create mode 100644 sduacm2017/index.html
 create mode 100644 sduacm2017/junior/problems_j.pdf
 create mode 100644 sduacm2017/junior/ranklist
 create mode 100644 sduacm2017/lec1/lec.pdf
 create mode 100644 sduacm2017/lec1/lec.tex
 create mode 100644 sduacm2017/lec1/zz.png
 create mode 100644 sduacm2017/lec1/zz1.png
 create mode 100644 sduacm2017/lec1/zz2.png
 create mode 100644 sduacm2017/lec2/lec.pdf
 create mode 100644 sduacm2017/lec2/lec.tex
 create mode 100644 sduacm2017/lec2/zz1.png
 create mode 100644 sduacm2017/lec2/zz2.png
 create mode 100644 sduacm2017/lec3/c1.png
 create mode 100644 sduacm2017/lec3/c2.png
 create mode 100644 sduacm2017/lec3/lec.pdf
 create mode 100644 sduacm2017/lec3/lec.tex
 create mode 100644 sduacm2017/senior/problems_s.pdf
 create mode 100644 sduacm2017/senior/ranklist.html

(limited to 'sduacm2017')

diff --git a/sduacm2017/index.html b/sduacm2017/index.html
new file mode 100644
index 0000000..0c41ad8
--- /dev/null
+++ b/sduacm2017/index.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>11th SDU ACM/ICPC Contest</title>
+<link rel="stylesheet" href="../common.css" type="text/css"></link>
+</head>
+
+<body>
+<table border="0" style="width:66%;margin:auto;">
+	<tr>
+		<td class="CTitle" style="font-size:2em;">
+			11th SDU ACM/ICPC Contest @ SDU &amp; chrisoft.org
+		</td>
+	</tr>
+	<tr class="TText"><td><br>
+		<h3>General Info</h3>
+			<a href="http://acm.sdu.edu.cn/blog/2017/02/28/About-11-th-SDU-ACMICPC-Contest/">Rules &amp; Registeration info</a><br>
+			<a href="http://719daze.me/acmlab/17ACMSpringCompPlan.html"><s>more info</s></a>(insert "20" before "17")<br>
+	</td></tr>
+	<tr class="TText"><td><br>
+		<h3>Junior Division</h3>
+			<a href="junior/ranklist">Ranklist</a><br>
+			<a href="junior/problems_j.pdf">Problem set</a>
+			<p>
+				We are sorry about the erroneous statement of problem I.
+			</p>
+			<p>
+				The test data for problem G is weaker than what it should be.
+				All but one accepted solution submited during the countest should actually get TLE.
+				The rejudge, however, would not be reflected in the final result.
+			</p>
+			<p>
+				Again, we are terribly sorry for the confusion and inconvenience.
+			</p>
+	</td></tr>
+	<tr class="TText"><td><br>
+		<h3>Senior Division</h3>
+			<a href="senior/ranklist">Ranklist</a><br>
+			<a href="senior/problems_s.pdf">Problem set</a>
+			<p>
+				The statement of problem F has been updated. We are sorry for the inconvenience.
+			</p>
+	</td></tr>
+	<tr>
+		<td class="TText"><div align="center">Copyright Chrisoft 2017&nbsp;&nbsp;<a href="../#about">About</a>&nbsp;&nbsp;Site Map</div></td>
+	</tr>
+</table>
+</body>
+</html>
diff --git a/sduacm2017/junior/problems_j.pdf b/sduacm2017/junior/problems_j.pdf
new file mode 100644
index 0000000..961a342
Binary files /dev/null and b/sduacm2017/junior/problems_j.pdf differ
diff --git a/sduacm2017/junior/ranklist b/sduacm2017/junior/ranklist
new file mode 100644
index 0000000..7acd8ab
--- /dev/null
+++ b/sduacm2017/junior/ranklist
@@ -0,0 +1,249 @@
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>11th SDU ACM/ICPC Contest Junior Division</TITLE>
+<style>
+// based on
+// $Id: standings.css 1983 2009-12-09 02:29:11Z boudreat $
+table {
+	border: 1px solid #ccc; 
+	border-bottom: 0;
+	width: 52.7em;
+	margin-bottom: 2em;
+}
+body {
+   font-family: verdana, arial, tahoma, sans-serif;
+}
+table th {
+	text-align: center;
+	background: #247eca;
+	color: white;
+	padding: 0em; 
+	border: outset 2px #eee8aa;
+}
+table td {
+	border-bottom: 1px solid #DDD; 
+	padding: .0em .0em .0em .5em;
+}
+table tr td.rank {
+	background: transparent; 
+	/*border: 2px outset #ffffff;*/
+}
+
+table tr.gold td.rank {
+	background: #f9d923 !important;
+}
+table tr.silver td.rank {
+	background: Silver !important;
+}
+table tr.bronze td.rank {
+	background: #c08e55 !important; 
+}
+table tr.iron td.rank {
+	background: #6cf; 
+}
+table td.name {
+	padding-left: 2em;
+}
+table th.name{
+	padding-left: 3em; 
+}
+table tr.even td {
+	background: #F7F7F7;
+}
+table tr td.r10 {
+	background: #e9d923;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r9 {
+	background: #e1d963;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r8 {
+	background: #DDD7AA;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r7 {
+	background: #d2d2d2;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r6 {
+	background: #DDCDBD;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r5 {
+	background: #e6e6e6;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r4 {
+	background: #eee;
+	border: 2px outset #f3f3f3;
+}
+table tr td.r3 {
+	background: #F7f7f7;
+	border: 2px outset #f7f7f7;
+}
+div.tail {
+       font-size: .8em;
+       color: #888;
+//width: 65.875em;
+width: 80%;
+ border: 1px solid #ccc;
+margin-left: auto;
+margin-right: auto;
+}
+span.right {
+     float: right;
+}
+
+// troy additions
+table tr.odd {
+        background-color: #0; color: black;
+}
+table tr.even {
+        background-color: #EEEEFF; color: black;
+}
+table tr td.yes {
+        background-color: #00ff00; color: black;
+        text-align: center;
+}
+table tr td.pending {
+        background-color: #ffff00; color: black;
+        text-align: center;
+}
+table tr td.no {
+        background-color: #ff0000; color: black;
+        text-align: center;
+}
+table tr td.center {
+        text-align: center;
+}
+table tr td.right {
+        text-align: right;
+}
+
+</style>
+<META HTTP-EQUIV="REFRESH" CONTENT="60;">
+<META HTTP-EQUIV="EXPIRES" CONTENT="0">
+<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
+<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
+</HEAD>
+<BODY>
+<font face="verdana, arial, helvetica" align="right">
+<center>
+<h2>11th SDU ACM/ICPC Contest Junior Division</h2>
+未签到的队伍未在此榜单中显示。
+<br>
+<br>
+</center>
+</font>
+<center>
+<TABLE cellspacing="0">
+<tr>
+<th><strong><u>Rank</u></strong></th><th><strong><u>Name</u></strong></th><th><strong><u>Solved</u></strong></th><th><strong><u>Time</u></strong></th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>A</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>B</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>C</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>D</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>E</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>F</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>G</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>H</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>I</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>J</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>Total att/solv</th>
+</tr>
+<tr class="even gold">
+<td class="rank">1</td><td>team5-我的青春acm物语果然有问题</td><td class="center">9</td><td class="right">878</td><td class="yes">1/64</td><td class="yes">1/196</td><td class="yes">1/32</td><td class="yes">3/120</td><td class="yes">1/35</td><td class="yes">2/52</td><td class="yes">1/225</td><td class="yes">2/84</td><td class="no">1/--</td><td class="yes">1/10</td><td>14/9</td>
+</tr>
+<tr class="odd gold">
+<td class="rank">2</td><td>team1-粉粉哒小裙子</td><td class="center">9</td><td class="right">1039</td><td class="yes">1/84</td><td class="yes">4/275</td><td class="yes">1/11</td><td class="yes">1/143</td><td class="yes">1/118</td><td class="yes">1/28</td><td class="yes">1/245</td><td class="yes">1/88</td><td class="center">0/--</td><td class="yes">1/7</td><td>12/9</td>
+</tr>
+<tr class="even gold">
+<td class="rank">3</td><td>team28-我说我帅你说队</td><td class="center">9</td><td class="right">1420</td><td class="yes">1/86</td><td class="yes">3/276</td><td class="yes">1/74</td><td class="yes">2/153</td><td class="yes">1/239</td><td class="yes">1/104</td><td class="yes">1/201</td><td class="yes">1/174</td><td class="center">0/--</td><td class="yes">1/53</td><td>12/9</td>
+</tr>
+<tr class="odd silver">
+<td class="rank">4</td><td>team2-我的貂蝉在哪里</td><td class="center">8</td><td class="right">762</td><td class="yes">1/94</td><td class="center">0/--</td><td class="yes">1/37</td><td class="yes">1/137</td><td class="yes">1/96</td><td class="yes">2/48</td><td class="yes">1/253</td><td class="yes">1/56</td><td class="center">0/--</td><td class="yes">1/21</td><td>9/8</td>
+</tr>
+<tr class="even silver">
+<td class="rank">5</td><td>team4-菜</td><td class="center">8</td><td class="right">1140</td><td class="yes">1/32</td><td class="no">6/--</td><td class="yes">1/38</td><td class="yes">3/272</td><td class="yes">1/201</td><td class="yes">5/103</td><td class="yes">2/247</td><td class="yes">1/122</td><td class="center">0/--</td><td class="yes">1/5</td><td>21/8</td>
+</tr>
+<tr class="odd silver">
+<td class="rank">6</td><td>team3-能做对一个题算我输</td><td class="center">7</td><td class="right">693</td><td class="yes">2/22</td><td class="center">0/--</td><td class="yes">1/36</td><td class="no">6/--</td><td class="yes">1/170</td><td class="yes">1/52</td><td class="yes">4/237</td><td class="yes">1/128</td><td class="center">0/--</td><td class="yes">2/8</td><td>18/7</td>
+</tr>
+<tr class="even silver">
+<td class="rank">7</td><td>team25-咱们狠鰜沀</td><td class="center">7</td><td class="right">957</td><td class="yes">1/80</td><td class="center">0/--</td><td class="yes">1/95</td><td class="yes">3/265</td><td class="yes">1/84</td><td class="yes">2/124</td><td class="center">0/--</td><td class="yes">2/192</td><td class="center">0/--</td><td class="yes">2/37</td><td>12/7</td>
+</tr>
+<tr class="odd bronze">
+<td class="rank">8</td><td>team9-WaterOneWater</td><td class="center">6</td><td class="right">630</td><td class="yes">1/34</td><td class="center">0/--</td><td class="yes">1/44</td><td class="no">2/--</td><td class="yes">1/252</td><td class="yes">3/89</td><td class="no">1/--</td><td class="yes">2/117</td><td class="center">0/--</td><td class="yes">1/54</td><td>12/6</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">9</td><td>team19-正常队名-c</td><td class="center">6</td><td class="right">1040</td><td class="yes">1/265</td><td class="center">0/--</td><td class="yes">1/59</td><td class="no">2/--</td><td class="yes">1/227</td><td class="yes">4/125</td><td class="center">0/--</td><td class="yes">7/287</td><td class="center">0/--</td><td class="yes">1/17</td><td>17/6</td>
+</tr>
+<tr class="odd bronze">
+<td class="rank">10</td><td>team34-正常队名-a</td><td class="center">5</td><td class="right">674</td><td class="yes">2/116</td><td class="center">0/--</td><td class="yes">1/76</td><td class="no">5/--</td><td class="center">0/--</td><td class="yes">2/95</td><td class="center">0/--</td><td class="yes">4/237</td><td class="center">0/--</td><td class="yes">1/70</td><td>15/5</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">11</td><td>team16-专业划水</td><td class="center">5</td><td class="right">964</td><td class="yes">7/253</td><td class="center">0/--</td><td class="yes">2/53</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/177</td><td class="center">0/--</td><td class="yes">1/282</td><td class="center">0/--</td><td class="yes">1/59</td><td>12/5</td>
+</tr>
+<tr class="odd">
+<td>12</td><td>team6^卖女孩的小火柴</td><td class="center">4</td><td class="right">0(677)</td><td class="yes">7/273</td><td class="center">0/--</td><td class="yes">3/60</td><td class="no">1/--</td><td class="center">0/--</td><td class="yes">1/169</td><td class="center">0/--</td><td class="no">1/--</td><td class="center">0/--</td><td class="yes">2/15</td><td>15/4</td>
+</tr>
+<tr class="even">
+<td>13</td><td>team29-只会喊666</td><td class="center">4</td><td class="right">394</td><td class="yes">1/106</td><td class="center">0/--</td><td class="yes">1/48</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/192</td><td class="center">0/--</td><td class="no">2/--</td><td class="center">0/--</td><td class="yes">1/28</td><td>7/4</td>
+</tr>
+<tr class="odd">
+<td>14</td><td>team31-贾神说的队</td><td class="center">4</td><td class="right">429</td><td class="yes">2/223</td><td class="center">0/--</td><td class="yes">1/50</td><td class="center">0/--</td><td class="no">1/--</td><td class="yes">1/85</td><td class="no">2/--</td><td class="no">4/--</td><td class="center">0/--</td><td class="yes">1/51</td><td>12/4</td>
+</tr>
+<tr class="even">
+<td>15</td><td>team7-想不出队名我也很绝望啊</td><td class="center">4</td><td class="right">442</td><td class="yes">1/236</td><td class="center">0/--</td><td class="no">1/--</td><td class="yes">1/85</td><td class="no">1/--</td><td class="yes">1/114</td><td class="no">3/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/7</td><td>9/4</td>
+</tr>
+<tr class="odd">
+<td>16</td><td>team24-不WA算我输</td><td class="center">4</td><td class="right">447</td><td class="yes">3/63</td><td class="center">0/--</td><td class="yes">1/53</td><td class="center">0/--</td><td class="no">2/--</td><td class="yes">1/277</td><td class="center">0/--</td><td class="no">1/--</td><td class="center">0/--</td><td class="yes">1/14</td><td>9/4</td>
+</tr>
+<tr class="even">
+<td>17</td><td>team35-dalao说的都</td><td class="center">4</td><td class="right">562</td><td class="yes">2/212</td><td class="center">0/--</td><td class="yes">1/60</td><td class="no">4/--</td><td class="center">0/--</td><td class="yes">1/231</td><td class="no">3/--</td><td class="no">2/--</td><td class="center">0/--</td><td class="yes">1/39</td><td>14/4</td>
+</tr>
+<tr class="odd">
+<td>18</td><td>team13-我说对不队</td><td class="center">4</td><td class="right">582</td><td class="yes">1/223</td><td class="center">0/--</td><td class="yes">3/157</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/192</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/10</td><td>6/4</td>
+</tr>
+<tr class="even">
+<td>19</td><td>team14-这锅我不背</td><td class="center">3</td><td class="right">276</td><td class="yes">2/166</td><td class="center">0/--</td><td class="yes">1/76</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">1/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/14</td><td>5/3</td>
+</tr>
+<tr class="odd">
+<td>20</td><td>team26^嗨氏老婆后援队</td><td class="center">2</td><td class="right">0(236)</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">1/--</td><td class="yes">2/197</td><td class="no">2/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/19</td><td>6/2</td>
+</tr>
+<tr class="even">
+<td>21</td><td>team10-取名真难队</td><td class="center">2</td><td class="right">198</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">4/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/165</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/33</td><td>6/2</td>
+</tr>
+<tr class="odd">
+<td>22</td><td>team17-怎么做都不队</td><td class="center">2</td><td class="right">292</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">3/--</td><td class="no">1/--</td><td class="yes">1/174</td><td class="no">1/--</td><td class="no">2/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/118</td><td>9/2</td>
+</tr>
+<tr class="even">
+<td>23</td><td>team18-炸蛙</td><td class="center">2</td><td class="right">343</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/273</td><td class="no">4/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/70</td><td>7/2</td>
+</tr>
+<tr class="odd">
+<td>24</td><td>team30^混水摸鱼队</td><td class="center">1</td><td class="right">0(97)</td><td class="no">4/--</td><td class="center">0/--</td><td class="no">6/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/97</td><td>11/1</td>
+</tr>
+<tr class="even">
+<td>25</td><td>team32-吃饺子队</td><td class="center">1</td><td class="right">13</td><td class="no">1/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">3/--</td><td class="center">0/--</td><td class="no">1/--</td><td class="center">0/--</td><td class="yes">1/13</td><td>6/1</td>
+</tr>
+<tr class="odd">
+<td>26</td><td>team27-皮皮虾我们走</td><td class="center">1</td><td class="right">19</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">6/--</td><td class="no">3/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/19</td><td>10/1</td>
+</tr>
+<tr class="even">
+<td>27</td><td>team15-六条腿</td><td class="center">1</td><td class="right">34</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">5/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/34</td><td>7/1</td>
+</tr>
+<tr class="odd">
+<td>28</td><td>team8-一轮游~</td><td class="center">1</td><td class="right">47</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">6/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/47</td><td>7/1</td>
+</tr>
+<tr class="even">
+<td>29</td><td>team12-我就来看看</td><td class="center">1</td><td class="right">167</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">3/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">5/87</td><td>8/1</td>
+</tr>
+<tr class="odd">
+<td>30</td><td>team33-三个水枪手</td><td class="center">1</td><td class="right">167</td><td class="no">13/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">3/127</td><td>16/1</td>
+</tr>
+<tr>
+<td></td><td>Submitted/1st Yes/Total Yes</td><td></td><td></td><td class="center">56/22/19</td><td class="center">14/196/3</td><td class="center">48/11/18</td><td class="center">36/85/7</td><td class="center">16/35/11</td><td class="center">50/28/20</td><td class="center">28/201/6</td><td class="center">34/56/11</td><td class="center">1/--/0</td><td class="center">42/5/31</td><td>325/126</td>
+</tr>
+</TABLE>
+</center>
+<div class="tail">
+<span class="right"><A HREF="http://pc2.ecs.csus.edu/">PC^2 Homepage</A>
+<br>
+       CSS by Tomas Cerny and Ray Holder
+</span>
+Created by <A HREF="http://pc2.ecs.csus.edu/">CSUS PC^2</A> version 9.3.3 20160914 build 3454<br>
+Last updated
+Sat Mar 25 17:18:57 CST 2017</div>
+</BODY>
+</HTML>
diff --git a/sduacm2017/lec1/lec.pdf b/sduacm2017/lec1/lec.pdf
new file mode 100644
index 0000000..1e79812
Binary files /dev/null and b/sduacm2017/lec1/lec.pdf differ
diff --git a/sduacm2017/lec1/lec.tex b/sduacm2017/lec1/lec.tex
new file mode 100644
index 0000000..af1f66d
--- /dev/null
+++ b/sduacm2017/lec1/lec.tex
@@ -0,0 +1,440 @@
+\documentclass[aspectratio=169,hyperref={pdfencoding=auto,psdextra}]{beamer}
+\usepackage[utf8]{inputenc}
+\usepackage{CJKutf8}
+\usepackage{ulem}
+\usepackage{graphicx}
+\usepackage{fancyvrb}
+\usetheme{Malmoe}
+\usecolortheme{default}
+\begin{CJK*}{UTF8}{gbsn}
+\title{「知道错了没」}
+\subtitle{——如何让队友认错}
+\author{Chris Xiong}
+\date{2017-07-21}
+\begin{document}
+	\frame{\titlepage}
+	\begin{frame}
+		\frametitle{「知道错了没」}
+		\framesubtitle{Outline}
+		\begin{itemize}
+			\item 采访
+			\item dp: d(ui)p(ai)
+			\item dp: Knapsack problem
+			\item 如何让队友认错之如何殴打队友
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{采访}
+		\framesubtitle{\sout{a.k.a. 教学质量检查}}
+		\begin{itemize}
+			\item 上次课讲的内容大家都听懂了吗?\pause
+			\item 什么?不懂?\pause
+			\item 那还记得上次讲的什么吗?\pause
+			\item A Water Problem \pause
+			\item 已知$$f(x+1) =
+				\begin{cases}
+				a & x=0
+				\\
+				b & x=1
+				\\
+				f(x)+f(x-1)+sin(\frac{\pi x}{2}) & otherwise
+				\end{cases}$$
+			对于给定的$a,b,n$,求$f(n)$。$n\leq 10^{18}$。
+			\item 给大家5分钟的思考时间。
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{采访}
+		\framesubtitle{怎么样,是不是不会啊?}
+		\begin{itemize}
+			\item 都怪宇宙智障。\\
+			\includegraphics[scale=0.75]{zz.png}\pause
+			\item 提示:\pause周期!!\pause
+			\item 还不会的话就去找宇宙智障。\\
+			\includegraphics[scale=0.75]{zz1.png}
+			\item (听说你想要表扬 厚颜无耻)
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{d(ui)p(ai)}
+		\begin{itemize}
+			\item WTF is duipai?\pause
+			\item Automated generation of test data and execution of several programs.\pause
+			\item And most importantly, compare their results.\pause
+			\item \sout{A nice way to waste time if you are stuck.}
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{A sample script for UNIX-like OS}
+		\begin{Verbatim}
+#!/bin/bash
+i=0
+while(true)
+do
+	./170312cgen > test.in
+	./170312ca < test.in > aa.out
+	./170312cb < test.in > bb.out
+	diff aa.out bb.out
+	if [ $? -ne 0 ]
+	then
+		break
+	fi
+	echo $i passed
+	let i++
+done
+		\end{Verbatim}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{How to use it?}
+		\begin{itemize}
+			\item Modify the script to your needs.
+			\item Save it as a script, e.g.: "xxx.sh".
+			\item Give it the permission to execute.
+			Run \verb|chmod +x <your_script_name_here>| in a terminal.
+			\item Run it!
+			Type \verb|./<your_script_name_here>| in a terminal.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{What does this script do?}
+		\begin{itemize}
+			\item Run the input generator.
+			\item Feed the generated input to the compared program A and gather results from it.
+			\item Do the same thing with program B.
+			\item Check the output. If they differ, terminate the script. Otherwise loop. 
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Explanation}
+		\begin{itemize}
+			\item
+				\begin{verbatim}
+					while(true)
+					do
+					done
+					break
+				\end{verbatim}
+			\item
+				\begin{verbatim}
+					> <
+				\end{verbatim}
+				redirection
+			\item
+				\begin{verbatim}
+				if
+				then
+				fi
+				$?
+				[, -ne
+				\end{verbatim}
+			\item Verification: \verb|diff| / custom program
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Alternative approaches}
+		\begin{itemize}
+			\item Write a \verb|C/C++| program instead of a shell script?
+			\item \verb|system()| in \verb|stdlib.h| (\verb|cstdlib|)
+			\item return value of \verb|system()|
+			\item Windows batch file:
+				\begin{itemize}
+					\item \verb|IF %ERRORLEVEL% EQU 0(GOTO :loop)|
+				\end{itemize}
+			\item \sout{Powershell}?
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Writing input generators}
+		\begin{itemize}
+			\item Random?
+			\item Constructed special cases?
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{I suck at this}
+		\begin{itemize}
+			\item Unbounded knapsack problem
+			\item Bounded knapsack problem
+				\begin{itemize}
+					\item 0/1 knapsack problem
+				\end{itemize}
+			\item NP-complete!
+			\item A No-Dynamic-Programming-At-All variant
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{The No-DP-At-All variant}
+		Fractional knapsack problem (a.k.a. Continuous knapsack problem)
+		\begin{itemize}
+			\item A knapsack of capacity $W$.
+			\item $N$ items, each having its weight $w_i$ and value per unit weight $v_i$.
+			\item Select an amount $x_i$ of each item so that
+				the total weight doesn't exceed the capacity (
+				$\displaystyle\sum_{i}^{}x_i\leq W$
+			) and maximizing the total value
+				$\displaystyle\sum_{i}^{}x_i \times v_i$, where $x_i \in \mathbb{R}, x_i \geq 0$.
+			\pause
+			\item Greedy.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		\begin{itemize}
+			\item Still a knapsack of capacity $W$.
+			\item Still $N$ items, each having its weight $w_i$
+				and value $v_i$.
+			\item For each item, determine whether to put it in
+				the knapsack so that the total weight doesn't
+				exceed the capacity and the total value is maximum.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		A brute-force solution:
+		\begin{Verbatim}
+def dfs(i,remaining_capacity):
+	if(i==0): return 0;
+	if(remaining_capacity<0):
+		return -inf;
+	r1=dfs(i-1,remaining_capacity);
+	r2=dfs(i-1,remaining_capacity-w[i])+v[i];
+	return max(r1,r2);
+		\end{Verbatim}
+		\begin{itemize}
+			\item Call dfs(N,W) for answer.
+			\item Each non-trivial invocation of dfs branch into two paths.
+			\item Time complexity: $O(2^N)$.
+			\item A minor optimization: replace the second condition
+				statement with
+\verb|if(remaining_capacity<w[i]): return dfs(i-1,remaining_capacity);|
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		A effective optimization: memoization.
+		\begin{Verbatim}
+f=[[-1 for i in range(N)] for j in range(W)]
+def dfs(i,remaining_capacity):
+	if(i==0): return 0;
+	if(remaining_capacity<w[i]):
+		return dfs(i-1,remaining_capacity);
+	if(f[i][remaining_capacity]!=-1):
+		return f[i][remaining_capacity];
+	f[i][remaining_capacity]=max(
+			dfs(i-1,remaining_capacity),
+			dfs(i-1,remaining_capacity-w[i])+v[i]);
+	return f[i][remaining_capacity];
+		\end{Verbatim}
+\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		\begin{itemize}
+			\item For each parameter tuple of dfs, the function may only branch once.
+			\item Time complexity: $O(NW)$.\\
+				\tiny It's a pseudo-polynomial algorithm, so the knapsack problem is still NP-complete.
+				\normalsize
+			\pause
+			\item Why does this work?
+			\pause
+			\item Once the result for a specific parameter tuple has been calculated, will it change any further?
+			\item Non-aftereffect property.
+			\pause
+			\item Recursion? Phooey! That will be a lot of context switches!
+			\pause
+			\item Time for some black magic!
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		The iteration version.
+		\begin{Verbatim}
+f=[[0 for i in xrange(N)] for j in xrange(W)]
+for i in xrange(1,N):
+	for j in xrange(0,W):
+		f[i][j]=max(f[i-1][j],
+				f[i-1][j-w[i]]+v[i] if j>=w[i] else 0);
+		\end{Verbatim}
+\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		\begin{itemize}
+			\item Recall that in the memoization version, in order to calculate results for $f[i,remaining\_capacity]$
+				we must already have at least two results for $f[i-1,x]$.
+			\item Why don't we calculate all $f[i-1,x]$ before calculating $f[i,x]$?
+				\pause
+			\item Got the maximum value now! Want the list of selected items?
+				\pause
+			\item Traceback.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		\begin{itemize}
+			\item When we are at $i=x$ of the outer loop, all values in $f[y],y<x-1$ are no longer used.
+			\item If we don't need to traceback, can we save a bit of memory?
+				\pause
+			\item Yes! Just throw them away!
+			\begin{Verbatim}
+f=[0 for i in xrange(W)]
+for i in xrange(1,N):
+	for j in xrange(W,w[i],-1):
+			f[j]=max(f[j],f[j-w[i]]+v[i]);
+			\end{Verbatim}
+		\end{itemize}
+\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{0/1 knapsack problem}
+		\begin{itemize}
+			\item How does this work?\\
+				\pause
+			($g[i][j]$ denotes the original $f[i][j]$ from the two dimensional iterative solution.)
+			\item When we are at $j=y$ of the inner loop, $f[0..y]$ are values from $g[i-1]$ and
+				$f[y+1..W]$ contains values from $g[i]$.
+			\item Why reverse the inner loop?
+				\pause
+			\item Because we still need the values with smaller $remaining\_capacity$ from the last iteration!
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{Unbounded knapsack problem}
+		\begin{itemize}
+			\item Same as the 0/1 knapsack problem, but each item has unlimited copies.
+				\pause
+			\item Converting to 0/1 knapsack problem?
+				\pause
+			\item Imitating Binary. We can obtaining any multiplicity of items from a combination of 1x, 2x, 4x, 8x, ... of that item.
+				\pause
+			\item Any other solutions?
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Knapsack problem}
+		\framesubtitle{Unbounded knapsack problem}
+		Another solution:
+		\begin{Verbatim}
+f=[0 for i in xrange(W)]
+for i in xrange(1,N):
+	for j in xrange(w[i],W):
+			f[j]=max(f[j],f[j-w[i]]+v[i]);
+		\end{Verbatim}
+		Wait... Isn't this our final solution for the 0/1 knapsack problem?
+\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{Unbounded knapsack problem}
+		\begin{itemize}
+			\item Not exactly! Note that the inner loop now iterate from $w[i]$ to $W$.
+			\item Why?
+				\pause
+			\item Let's revisit the reason to iterate in reverse order in 0/1 knapsack problem:
+			\item We still need the values with smaller $remaining\_capacity$ from the last iteration.
+				\pause
+			\item Why do we need \textit{those values}, instead of the shiney new values we just obtained?
+				\pause
+			\item Because these values do not take the current item into consideration, effectively ensuring
+				that every item can be used at most once.
+			\item But now we have unlimited copies of each item!
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{Bounded knapsack problem}
+		\begin{itemize}
+			\item Same as the 0/1 knapsack problem, but each item has $C_i$ copies.
+			\item POJ 1276
+				\pause
+			\item Still solve by converting to a 0/1 knapsack problem.
+				\pause
+			\item How to limit the maximum number of copies?
+				\pause
+			\item By modifying the largest group so that if all groups are selected,
+				the sum of multiplicity equals to $C_i$.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Knapsack problem}
+		\framesubtitle{Bounded knapsack problem}
+		Another "stupid" solution that can also be applied to the unbounded knapsack problem:
+		\begin{itemize}
+			\item For each item, we have $C_i+1$ choices.
+			\item We just iterate through these choices to update $f[][]$.
+			\item This solution runs for $O(W\Sigma C_i)$.
+			\item However it can be further optimized to $O(NW)$ using some advanced DP optimization technics.
+				\pause
+			\item We are not covering that here today.
+			\item More about knapsack problems:\\
+				\url{https://github.com/tianyicui/pack}
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何殴打队友}
+		\begin{center}
+		\Huge{以下内容仅供娱乐}
+		\end{center}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何殴打队友}
+		\framesubtitle{——何时应当考虑殴打队友?}
+		\begin{itemize}
+			\item 当队友占3个小时键盘什么都没写出来时
+			\item 当队友开一题WA一题时
+			\item 当队友开始表演口技时
+			\item 当队友热身赛开可乐洒了一地时
+			\item 当队友看到树就想重心分解时
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何殴打队友}
+		\framesubtitle{——正题}
+		\begin{itemize}
+			\item 像现在这么殴打(宣传光辉事迹)
+			\item 比赛时不准碰键盘
+			\item 表演口技时录音
+			\item WA一题灌一瓶可乐,不准洒
+			(大家可以算一下光这张图就要喝多少瓶)\\
+			\includegraphics[scale=0.25]{zz2.png}\\
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何殴打队友}
+		\framesubtitle{——殴打队友时需要注意的地方}
+		\begin{itemize}
+			\item 注意殴打的度——虽然原则上是越重越好,但是如果你的队友是个卜力星人,殴打太重会导致其发射大量宇宙射线,导致「伤敌800,自损1000」的尴尬情形。
+			\item 殴打方式要适当。比如其在表演口技不应该使用灌可乐的手法,因为容易洒一地。
+			\item 适可而止。如果感觉队友能A题了就让其施展一发(没A就接着灌)。
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何殴打队友}
+		\framesubtitle{Bonus: 利用宇宙射线}
+		如果你发现你的队友会发射宇宙射线,那么它可能是可以被利用的。可利用的宇宙射线的发射者是会认错的。这里有一个正面例子和一个反面例子:
+		\begin{itemize}
+			\item 黄焖蓉 :发射射线导致临近的队伍接连两次CE。
+			\item 宇宙智障:发射射线导致队友高数全部忘光。
+		\end{itemize}
+		如你所见,第一类射线是可以加以利用的;而第二类射线则是「射别人一个也射不中,射自己人一射一个准」的。大家要尽量做好对第二类射线的防护工作。关于这个问题我们下次再说(如果还有下次机会的话)。
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何殴打队友}
+		\framesubtitle{So... what's the point?}
+		\begin{itemize}
+			\item 合理利用时间
+			\item 卡题时的处理方式
+			\item 队内的合作
+			\item 其他队伍的影响
+		\end{itemize}
+	\end{frame}
+\end{CJK*}
+\end{document}
+
diff --git a/sduacm2017/lec1/zz.png b/sduacm2017/lec1/zz.png
new file mode 100644
index 0000000..6caa4c2
Binary files /dev/null and b/sduacm2017/lec1/zz.png differ
diff --git a/sduacm2017/lec1/zz1.png b/sduacm2017/lec1/zz1.png
new file mode 100644
index 0000000..8e5bcf8
Binary files /dev/null and b/sduacm2017/lec1/zz1.png differ
diff --git a/sduacm2017/lec1/zz2.png b/sduacm2017/lec1/zz2.png
new file mode 100644
index 0000000..08da2dc
Binary files /dev/null and b/sduacm2017/lec1/zz2.png differ
diff --git a/sduacm2017/lec2/lec.pdf b/sduacm2017/lec2/lec.pdf
new file mode 100644
index 0000000..7c69fbf
Binary files /dev/null and b/sduacm2017/lec2/lec.pdf differ
diff --git a/sduacm2017/lec2/lec.tex b/sduacm2017/lec2/lec.tex
new file mode 100644
index 0000000..ae972b0
--- /dev/null
+++ b/sduacm2017/lec2/lec.tex
@@ -0,0 +1,312 @@
+\documentclass[aspectratio=169,hyperref={pdfencoding=auto,psdextra}]{beamer}
+\usepackage[utf8]{inputenc}
+\usepackage{CJKutf8}
+\usepackage{ulem}
+\usepackage{graphicx}
+\usepackage{fancyvrb}
+\usepackage{amsmath}
+\usepackage{multicol}
+\usetheme{Malmoe}
+\usecolortheme{default}
+\begin{CJK*}{UTF8}{gbsn}
+\title{「有了他我们无法活」}
+\subtitle{——炮打司令部}
+\author{Chris Xiong}
+\date{2017-07-28}
+\begin{document}
+	\frame{\titlepage}
+	\begin{frame}
+		\frametitle{「有了他我们无法活」}
+		\framesubtitle{Outline}
+		\begin{itemize}
+			\item 采访
+			\item Faster I/O
+			\item C++11 / 14
+			\item Common pitfalls
+			\item Bitmask
+			\item Bitmask+dp
+			\item 如何让队友认错之如何表扬队友
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{采访}
+		\framesubtitle{\sout{a.k.a. 教学质量检查}}
+		\begin{itemize}
+			\item 上次课讲的内容大家都听懂了吗?\pause
+			\item 什么?不懂?\pause
+			\item 那还记得上次讲的什么吗?\pause
+			\item 对不起,这次没有A Water Problem
+		\end{itemize}
+	\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Faster I/O}
+		Why?
+		\begin{itemize}
+			\item No need to parse the format string
+			\item Makes better use of the I/O buffer
+		\end{itemize}
+		\pause
+		How?
+		\begin{itemize}
+			\item \verb|.sync_with_stdio(false)|
+			\item \verb|getchar()|
+			\item \verb|fread()|
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Faster I/O}
+		\framesubtitle{Faster input - getchar()}
+		\begin{Verbatim}
+		int readint()
+		{
+			int ret=0;
+			char ch=getchar();
+			while(ch<'0'||ch>'9')
+				ch=getchar();
+			do
+			{
+				ret=ret*10+ch-'0';
+				ch=getchar();
+			}while(ch>='0'&&ch<='9');
+			return ret;
+		}
+		\end{Verbatim}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Faster I/O}
+		\framesubtitle{Even faster input - fread()}
+		\begin{Verbatim}
+		char s[SOME_LARGE_VALUE];
+		size_t ptr,len;
+		len=fread(s,1,SOME_LARGE_VALUE,stdin);
+		int readint()
+		{
+			//replace getchar() with s[ptr++]
+			...
+		}
+		\end{Verbatim}
+		\pause
+		Reading real numbers?
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Faster I/O}
+		\framesubtitle{Faster output}
+		\begin{itemize}
+			\item Print digit by digit
+			\item Save to buffer then \verb|fwrite()| to \verb|stdout|.
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{C++11 / 14 - Useful features that reduces coding efforts}
+		\framesubtitle{C++11}
+		\begin{itemize}
+			\item Uniform initialization
+			\begin{Verbatim}
+	struct S{int a;double b;char c;};
+	S s{1,2.0,'3'};//s.a==1; s.b==2.0; s.c=='3';
+			\end{Verbatim}
+			\item Type inference
+			\begin{Verbatim}
+	std::set<int> s;
+	auto a=1;
+	auto it=s.begin();
+			\end{Verbatim}
+			\item Range-based for loop
+			\begin{Verbatim}
+	std::vector<int> v;
+	for(auto &i:v)...
+			\end{Verbatim}
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{C++11 / 14 - Useful features that reduces coding efforts}
+		\framesubtitle{C++11 cont'd}
+		\begin{itemize}
+			\item Lambda functions
+			\begin{Verbatim}
+std::sort(p+1,p+nv,[o=p[0]](const v3d& a,const v3d& b)->bool
+	{
+		double cross=(a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);
+		if(sgn(cross))return sgn(cross)>0;
+		double la=hypot(a.x-o.x,a.y-o.y);
+		double lb=hypot(b.x-o.x,b.y-o.y);
+		return la<lb;
+	}
+);
+			\end{Verbatim}
+			\item Right angle bracket
+			\begin{Verbatim}
+	std::vector<std::pair<int,int>> v;
+			\end{Verbatim}
+			\item \verb|long long int|\\
+			Yeah, it was not standard until C++11 (C99).
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{C++11 / 14 - Useful features that reduces coding efforts}
+		\framesubtitle{C++11 STL}
+		\begin{itemize}
+			\item Hash tables\\
+			\verb|std::unordered_map, std::unordered_set|
+			\item \verb|std::tuple|
+			\item Regular expressions
+			\item Threading
+			\item Random number generators
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{C++11 / 14 - Useful features that reduces coding efforts}
+		\framesubtitle{C++14}
+		C++14 is a small extension to C++11.
+		\begin{itemize}
+			\item Improved \verb|auto|
+			\begin{Verbatim}
+	auto factorial(int x){
+		if(x==1)return 1;
+		return x*factorial(x-1);
+	}
+			\end{Verbatim}
+			\item Improved lambda functions
+			\begin{Verbatim}
+	auto lambda=[](auto x,auto y){return x+y;};
+			\end{Verbatim}
+			\item Lambda capture expressions
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Common pitfalls}
+		\begin{itemize}
+			\item Huge global variable causes linkage error.
+			\begin{Verbatim}
+int a[1LL<<12][1LL<<48],b[1LL<<12][1LL<<48],c[1LL<<12][1LL<<48];
+int main(){c[0][0]=1;}
+			\end{Verbatim}
+			Compilation result:
+			\begin{Verbatim}
+g++ -Wall -std=c++14 -g -o "test" "test.cpp" -lm (in directory:
+/home/chrisoft/code)
+/tmp/ccOkFQ7A.o: In function `main':
+/home/chrisoft/code/test.cpp:2:(.text+0x6):
+relocation truncated to fit: R_X86_64_PC32 against symbol
+`c' defined in .bss section in /tmp/ccOkFQ7A.o
+collect2: error: ld returned 1 exit status
+Compilation failed.
+
+			\end{Verbatim}
+			\item relocation of \verb|.bss| section exceeding platform limitations.
+		\end{itemize}
+\end{frame}
+	\begin{frame}[fragile]
+		\frametitle{Common pitfalls}
+		\begin{itemize}
+			\item Stack size is very small compared to heap
+			\begin{Verbatim}
+int main(){int a[100000000];...}
+			\end{Verbatim}
+			\item Results in stack overflow.
+			\item Math library
+			\item \verb|memset()| TLE
+		\end{itemize}
+\end{frame}
+	\begin{frame}
+		\frametitle{Bitmask}
+		\begin{itemize}
+			\item A set in its binary form
+			\item Codeforces 550B\pause
+			\item Codeforces 579A
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Bitmask+dp}
+		\begin{itemize}
+			\item Concept of a \textbf{state}\pause
+			\item Value function\pause
+			\item Initial state
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Bitmask+dp}
+		\begin{itemize}
+			\item TSP(Travelling Salesman Problem)
+			\item Given a list of cities and the distances between each pair of cities,
+			what is the shortest possible route that visits each city exactly once and
+			returns to the origin city?\pause
+			\item f[s][i]: s: set of visited cites, i: current city
+			\item functional equation:
+				$
+					f[s][i]=
+					\displaystyle \min_{k:N}f[s-{i}][k]+dist[k][i] (k\notin s)
+				$
+			\item Initial state: f[U][0]=0;\pause
+			\item Variant\pause
+			\item Loop direction
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Bitmask+dp}
+		\begin{itemize}
+			\item TSP: POJ 3311
+			\item Counting: POJ 3254
+			\item f[i][s]: row i with set s occupied
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何让队友认错之如何表扬队友}
+		\framesubtitle{队友需要表扬才能更有生产力}
+		\includegraphics[scale=0.75]{zz1.png}
+	\end{frame}
+	\begin{frame}
+		\frametitle{如何让队友认错之如何表扬队友}
+		\framesubtitle{光辉事迹}
+		\begin{itemize}
+			\item 比赛中要其他队伍帮忙写对拍
+			\item 比赛中睡3小时觉
+			\item 全权负责实验室事务
+			\item 发说说
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{宇宙智障的说说}
+		
+		\begin{multicols}{2}
+		就终于考完试了\_(:зゝ∠)\_\\
+		然而暑假这种?不存在的(滑稽\\
+		还是献给辣鸡的(划掉)acm好了\\
+		学期结束,事儿反而就又突然多了起来\\
+		假装已有计划的专题训练\\
+		各种姿势被虐的多校联合\\
+		以及暑期集训的萌新教学\\
+		与开始正式接手的实验室各种大小事务的锅\\
+		相信,一定会是个忙碌的七八月份吧\\
+		希望,也同会是个充满收获的七八月\\
+		就也会更期待着\\
+		在八月初的短假里\\
+		与小姐姐愉快的玩耍呢\\
+		总之,一定会是个不平凡的假期\\
+		再以及,小姐姐寄的明信片也终于到了:)\\
+		\end{multicols}
+	\end{frame}
+	
+	\begin{frame}
+		\frametitle{宇宙智障的说说}
+		\includegraphics[scale=0.5]{zz2.png}
+	\end{frame}
+	\begin{frame}
+		\frametitle{为何要表扬队友}
+		\begin{itemize}
+			\item 让恬不知耻的队友知道错(似乎对宇宙智障无效)
+			\item 叫醒队友
+			\item \sout{鼓励}队友\sout{WA更多题}
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{放假事宜}
+		\begin{itemize}
+			\item 宇宙智障已经畏罪潜逃
+			\item 宇宙智障8月7日将被扭送
+			\item 大家一定不用比宇宙智障回来的早
+		\end{itemize}
+	\end{frame}
+\end{CJK*}
+\end{document}
+
diff --git a/sduacm2017/lec2/zz1.png b/sduacm2017/lec2/zz1.png
new file mode 100644
index 0000000..8e5bcf8
Binary files /dev/null and b/sduacm2017/lec2/zz1.png differ
diff --git a/sduacm2017/lec2/zz2.png b/sduacm2017/lec2/zz2.png
new file mode 100644
index 0000000..ce8d970
Binary files /dev/null and b/sduacm2017/lec2/zz2.png differ
diff --git a/sduacm2017/lec3/c1.png b/sduacm2017/lec3/c1.png
new file mode 100644
index 0000000..0e6b37c
Binary files /dev/null and b/sduacm2017/lec3/c1.png differ
diff --git a/sduacm2017/lec3/c2.png b/sduacm2017/lec3/c2.png
new file mode 100644
index 0000000..93c15f3
Binary files /dev/null and b/sduacm2017/lec3/c2.png differ
diff --git a/sduacm2017/lec3/lec.pdf b/sduacm2017/lec3/lec.pdf
new file mode 100644
index 0000000..8eb6176
Binary files /dev/null and b/sduacm2017/lec3/lec.pdf differ
diff --git a/sduacm2017/lec3/lec.tex b/sduacm2017/lec3/lec.tex
new file mode 100644
index 0000000..990c6e5
--- /dev/null
+++ b/sduacm2017/lec3/lec.tex
@@ -0,0 +1,241 @@
+\documentclass[aspectratio=169,hyperref={pdfencoding=auto,psdextra}]{beamer}
+\usepackage[utf8]{inputenc}
+\usepackage{CJKutf8}
+\usepackage{ulem}
+\usepackage{graphicx}
+\usepackage{fancyvrb}
+\usepackage{amsmath}
+\usepackage{multicol}
+\usetheme{Malmoe}
+\usecolortheme{default}
+\begin{CJK*}{UTF8}{gbsn}
+\title{「初中数学都不会」}
+\subtitle{——Computational Geometrics}
+\author{Chris Xiong}
+\date{2017-08-18}
+\begin{document}
+	\frame{\titlepage}
+	\begin{frame}
+		\frametitle{「初中数学都不会」}
+		\framesubtitle{Outline}
+		\begin{itemize}
+			\item Basics
+			\begin{itemize}
+				\item Vectors
+				\item Distances
+				\item Area
+				\item Intersections
+				\item Transformations
+			\end{itemize}
+			\item Convex hull
+			\item Extra fun
+			\item Templates
+			\item 殴打宇宙智障
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Basics}
+		\framesubtitle{Vectors}
+		\begin{itemize}
+			\item Computational Gemoetrics in ICPC=\\
+					\hspace{1cm}40\% Junior high school maths+\\
+					\hspace{1cm}30\% Senior high school maths+\\
+					\hspace{1cm}20\% Brainstorming+\\
+					\hspace{1cm}10\% College maths
+			\item $\mathbf{u}$, $\mathbf{v}$, $\vec{u}$, $\vec{v}$
+			\item $\vec{u}+\vec{v}$,$\vec{u}-\vec{v}$,$s\vec{u}$,$\vec{u}\cdot\vec{v}$,$\vec{u}\times\vec{v}$
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Basics}
+		\framesubtitle{Distances}
+		\begin{itemize}
+			\item point 2 point
+			\item point 2 line
+			\pause
+			\item polygon 2 polygon???
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Basics}
+		\framesubtitle{Area}
+		\begin{itemize}
+			\item Circle???
+			\item Triangle?
+				\begin{itemize}
+					\item \sout{$ah/2$}
+					\item Heron's formula
+					\item Cross product
+				\end{itemize}
+			\item Polygon???
+				\begin{itemize}
+					\item Slicing
+				\end{itemize}
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Basics}
+		\framesubtitle{Intersections}
+		\begin{itemize}
+			\item point \& line
+			\item point \& segment
+			\item line \& line
+			\item line \& segment
+			\item segment \& segment
+			\item circle \& line
+			\item circle \& circle
+			\pause
+			\item \sout{convex} polygon \& point \pause
+				\begin{itemize}
+					\item \sout{randomizing} (polyhedron)
+					\item ray casting
+					\item winding number
+				\end{itemize}
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Basics}
+		\framesubtitle{Transformations}
+		\begin{itemize}
+			\item Scaling
+			\item Rotation
+			\item ${\displaystyle {\begin{bmatrix}s_x&0\\0&s_y\end{bmatrix}}}$
+			\item ${\displaystyle {{\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}}}$
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Convex hull}
+		\framesubtitle{WTF???}
+		\begin{itemize}
+			\item Smallest convex polygon (set) that contains a set of points.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Convex hull}
+		\framesubtitle{Algorithms}
+		\begin{itemize}
+			\item Brute force: gift wrapping
+			\item Graham scan
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Convex hull}
+		\framesubtitle{Gift wrapping}
+		\begin{itemize}
+			\item The left most point must be in the resulting set
+			\item Starting from that point, select the next point such that
+			all points are \textbf{to the right} of the newly formed line.
+			\item Time complexity: $O(nh)$
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Convex hull}
+		\framesubtitle{Graham scan}
+		\begin{itemize}
+			\item Find an extreme point and sort the remaining point according
+			to polar angle.
+			\item Start with a stack with two items, the extreme point and the
+			first point in the sorted list.
+			\item ($P_0$ denotes the top element of the stack, $P_1$ denotes the
+			element under $P_0$) For each point left in the list ($T$), pop the
+			stack until $\overrightarrow{P_1P_0}$ and $\overrightarrow{P_0T}$ forms
+			\textbf{a left turn}. Then push $T$ onto the stack.
+			\item Time complexity: $O(n log n)$ (with sorting)
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Convex hull}
+		\framesubtitle{Example: NEERC 08 A}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{Example: PetrSU SC 04 C}
+		Arc-arc intersection
+		\includegraphics[scale=0.5]{c1.png}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{Example: PetrSU SC 04 C}
+		\includegraphics[scale=0.36]{c2.png}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{Example: MultiUniversity Traning 20170815 H}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{Example: Asia GuangzhouRC 14 H}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{Example: "Angry birds"}
+		One of the few problems of computational geometrics in ICPC
+		that involves college maths.
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{CG. Combined with other algorithms}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Extra fun}
+		\framesubtitle{Rotating calipers}
+		Solves:
+		\begin{itemize}
+			\item Max/min width of convex polygon
+			\item Max/min distance between two convex polygons
+			\item Antipodal points/Farthest pairs
+			\item Union/intersection of convex polygons
+			\item Min area/perimeter obb
+			\item etc.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{Templates}
+		\framesubtitle{Critical for Computational Geometrics (maybe)}
+		\begin{itemize}
+			\item Basic operations
+			\item Basic intersections
+			\item Circle-line intersection
+			\item Circle-triangle intersection
+			\item Circle-circle intersection
+			\item 3D vector operations
+			\item Half-plane intersection
+			\item Cloest/Farthest Pair
+			\item etc.
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{殴打宇宙智障}
+		\framesubtitle{光辉事迹+1}
+		\begin{itemize}
+			\item 建完图后把图清空然后跑网络流\pause
+			\item 熟悉你的模板\pause
+			\item 多校睡觉\pause
+			\item 队伍组成
+			\item 代码手?\pause
+			\item 违反中央八项规定\pause
+			\item 口技
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{殴打宇宙智障}
+		\framesubtitle{后事}
+		\begin{itemize}
+			\item 21日最后一次讲课
+			\item 8月31日计科退宿舍
+			\item 如有不同以宇宙智障为准
+		\end{itemize}
+	\end{frame}
+	\begin{frame}
+		\frametitle{殴打宇宙智障}
+		\framesubtitle{没来得及讲的东西}
+		\begin{itemize}
+			\item 概率(解方程/dp)、高斯消元
+			\item 网络流
+			\item 好像没什么了?
+			\item Good luck to ya.
+		\end{itemize}
+	\end{frame}
+\end{CJK*}
+\end{document}
+
diff --git a/sduacm2017/senior/problems_s.pdf b/sduacm2017/senior/problems_s.pdf
new file mode 100644
index 0000000..f7839b5
Binary files /dev/null and b/sduacm2017/senior/problems_s.pdf differ
diff --git a/sduacm2017/senior/ranklist.html b/sduacm2017/senior/ranklist.html
new file mode 100644
index 0000000..7230ff5
--- /dev/null
+++ b/sduacm2017/senior/ranklist.html
@@ -0,0 +1,324 @@
+<HTML>
+<HEAD>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>11th SDU ACM/ICPC Contest Senior Division  </TITLE>
+<style>
+// based on
+// $Id: standings.css 1983 2009-12-09 02:29:11Z boudreat $
+table {
+	border: 1px solid #ccc; 
+	border-bottom: 0;
+	width: 52.7em;
+	margin-bottom: 2em;
+}
+body {
+   font-family: verdana, arial, tahoma, sans-serif;
+}
+table th {
+	text-align: center;
+	background: #247eca;
+	color: white;
+	padding: 0em; 
+	border: outset 2px #eee8aa;
+}
+table td {
+	border-bottom: 1px solid #DDD; 
+	padding: .0em .0em .0em .5em;
+}
+table tr td.rank {
+	background: transparent; 
+	/*border: 2px outset #ffffff;*/
+}
+table tr.gold td.rank {
+	background: #f9d923;
+}
+table tr.silver td.rank {
+	background: Silver;
+}
+table tr.bronze td.rank {
+	background: #c08e55; 
+}
+table tr.iron td.rank {
+	background: #6cf; 
+}
+table td.name {
+	padding-left: 2em;
+}
+table th.name{
+	padding-left: 3em; 
+}
+table tr.even td {
+	background: #F7F7F7;
+}
+table tr td.r10 {
+	background: #e9d923;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r9 {
+	background: #e1d963;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r8 {
+	background: #DDD7AA;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r7 {
+	background: #d2d2d2;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r6 {
+	background: #DDCDBD;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r5 {
+	background: #e6e6e6;
+	border: 2px outset #DCDCDC;
+}
+table tr td.r4 {
+	background: #eee;
+	border: 2px outset #f3f3f3;
+}
+table tr td.r3 {
+	background: #F7f7f7;
+	border: 2px outset #f7f7f7;
+}
+div.tail {
+       font-size: .8em;
+       color: #888;
+//width: 65.875em;
+width: 80%;
+ border: 1px solid #ccc;
+margin-left: auto;
+margin-right: auto;
+}
+span.right {
+     float: right;
+}
+
+// troy additions
+table tr.odd {
+        background-color: #0; color: black;
+}
+table tr.even {
+        background-color: #EEEEFF; color: black;
+}
+table tr td.yes {
+        background-color: #00ff00; color: black;
+        text-align: center;
+}
+table tr td.pending {
+        background-color: #ffff00; color: black;
+        text-align: center;
+}
+table tr td.no {
+        background-color: #ff0000; color: black;
+        text-align: center;
+}
+table tr td.center {
+        text-align: center;
+}
+table tr td.right {
+        text-align: right;
+}
+
+</style>
+<META HTTP-EQUIV="REFRESH" CONTENT="60;">
+<META HTTP-EQUIV="EXPIRES" CONTENT="0">
+<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
+<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
+</HEAD>
+<BODY>
+<font face="verdana, arial, helvetica" align="right">
+<center>
+<h2>11th SDU ACM/ICPC Contest Senior Division  </h2>
+<h3></h3>
+<br>
+</center>
+</font>
+<center>
+<TABLE cellspacing="0">
+<tr>
+<th><strong><u>Rank</u></strong></th><th><strong><u>Name</u></strong></th><th><strong><u>Solved</u></strong></th><th><strong><u>Time</u></strong></th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>A</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>B</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>C</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>D</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>E</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>F</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>G</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>H</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>I</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>&nbsp;&nbsp;&nbsp;&nbsp;<strong><u>J</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;</th><th>Total att/solv</th>
+</tr>
+<tr>
+<td></td><td></td><td></td><td></td><td>
+<center>A</center>
+</td><td>
+<center>B</center>
+</td><td>
+<center>C</center>
+</td><td>
+<center>D</center>
+</td><td>
+<center>E</center>
+</td><td>
+<center>F</center>
+</td><td>
+<center>G</center>
+</td><td>
+<center>H</center>
+</td><td>
+<center>I</center>
+</td><td>
+<center>J</center>
+</td>
+</tr>
+<tr class="even iron">
+<td class="rank">*</td><td>team1 - 粉粉哒小裙子*</td><td class="center">7</td><td class="right">723</td><td class="yes">3/92</td><td class="no">1/--</td><td class="yes">1/146</td><td class="yes">1/116</td><td class="yes">2/36</td><td class="no">1/--</td><td class="no">4/--</td><td class="yes">1/12</td><td class="yes">3/204</td><td class="yes">1/17</td><td>18/7</td>
+</tr>
+<tr class="odd gold">
+<td class="rank">1</td><td>team28 - Deadline!</td><td class="center">7</td><td class="right">818</td><td class="yes">3/97</td><td class="center">0/--</td><td class="yes">1/123</td><td class="yes">1/185</td><td class="yes">1/60</td><td class="center">0/--</td><td class="no">3/--</td><td class="yes">1/11</td><td class="yes">2/227</td><td class="yes">2/35</td><td>14/7</td>
+</tr>
+<tr class="even gold">
+<td class="rank">2</td><td>team16 - 不要脸了还</td><td class="center">7</td><td class="right">910</td><td class="yes">3/164</td><td class="center">0/--</td><td class="yes">1/154</td><td class="yes">1/175</td><td class="yes">2/67</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/10</td><td class="yes">1/248</td><td class="yes">1/32</td><td>10/7</td>
+</tr>
+<tr class="odd silver">
+<td class="rank">3</td><td>team39 - 水水题</td><td class="center">6</td><td class="right">515</td><td class="yes">3/43</td><td class="no">1/--</td><td class="yes">1/92</td><td class="yes">1/150</td><td class="yes">3/72</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/3</td><td class="no">3/--</td><td class="yes">4/15</td><td>17/6</td>
+</tr>
+<tr class="even silver">
+<td class="rank">4</td><td>team24 - 正常队名</td><td class="center">6</td><td class="right">588</td><td class="yes">2/25</td><td class="center">0/--</td><td class="yes">3/194</td><td class="yes">3/179</td><td class="yes">2/58</td><td class="no">3/--</td><td class="center">0/--</td><td class="yes">1/20</td><td class="center">0/--</td><td class="yes">1/32</td><td>15/6</td>
+</tr>
+<tr class="odd silver">
+<td class="rank">5</td><td>team15 - creating</td><td class="center">6</td><td class="right">622</td><td class="yes">6/46</td><td class="center">0/--</td><td class="yes">4/156</td><td class="yes">2/170</td><td class="yes">2/55</td><td class="no">6/--</td><td class="no">3/--</td><td class="yes">1/15</td><td class="center">0/--</td><td class="yes">2/40</td><td>26/6</td>
+</tr>
+<tr class="even iron">
+<td class="rank">*</td><td>team6 - 我说我帅你说队*</td><td class="center">6</td><td class="right">704</td><td class="yes">3/213</td><td class="center">0/--</td><td class="yes">1/90</td><td class="yes">3/219</td><td class="yes">1/32</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/13</td><td class="no">3/--</td><td class="yes">1/37</td><td>14/6</td>
+</tr>
+<tr class="odd silver">
+<td class="rank">6</td><td>team13 - 很难受</td><td class="center">6</td><td class="right">775</td><td class="yes">2/79</td><td class="no">1/--</td><td class="yes">4/107</td><td class="yes">2/250</td><td class="yes">3/201</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/8</td><td class="center">0/--</td><td class="yes">1/50</td><td>14/6</td>
+</tr>
+<tr class="even silver">
+<td class="rank">7</td><td>team45 - ShaBiLLX</td><td class="center">6</td><td class="right">812</td><td class="yes">1/98</td><td class="no">3/--</td><td class="yes">2/144</td><td class="yes">3/275</td><td class="yes">4/158</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/20</td><td class="center">0/--</td><td class="yes">1/17</td><td>15/6</td>
+</tr>
+<tr class="odd bronze">
+<td class="rank">8</td><td>team33 - 在座的都是大佬</td><td class="center">6</td><td class="right">935</td><td class="yes">7/119</td><td class="center">0/--</td><td class="yes">1/184</td><td class="yes">1/275</td><td class="yes">3/133</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/31</td><td class="no">3/--</td><td class="yes">3/53</td><td>19/6</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">9</td><td>team38 - 你得是匹狼</td><td class="center">6</td><td class="right">940</td><td class="yes">8/267</td><td class="center">0/--</td><td class="yes">1/116</td><td class="yes">2/246</td><td class="yes">1/66</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/15</td><td class="center">0/--</td><td class="yes">2/50</td><td>15/6</td>
+</tr>
+<tr class="odd bronze">
+<td class="rank">10</td><td>team22 - wa</td><td class="center">6</td><td class="right">1008</td><td class="yes">3/153</td><td class="center">0/--</td><td class="yes">1/236</td><td class="yes">4/275</td><td class="yes">3/114</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/15</td><td class="center">0/--</td><td class="yes">3/55</td><td>16/6</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">11</td><td>team40 - 宫保鸡丁队</td><td class="center">6</td><td class="right">1034</td><td class="yes">1/195</td><td class="center">0/--</td><td class="yes">4/148</td><td class="yes">3/249</td><td class="yes">2/165</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/26</td><td class="center">0/--</td><td class="yes">3/151</td><td>14/6</td>
+</tr>
+<tr class="odd bronze">
+<td class="rank">12</td><td>team31 - 你随便取个吧</td><td class="center">6</td><td class="right">1061</td><td class="yes">2/156</td><td class="center">0/--</td><td class="yes">14/206</td><td class="yes">1/296</td><td class="yes">4/61</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/15</td><td class="center">0/--</td><td class="yes">3/27</td><td>25/6</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">13</td><td>team44 - 小白菜</td><td class="center">6</td><td class="right">1233</td><td class="yes">27/282</td><td class="no">5/--</td><td class="yes">1/141</td><td class="yes">1/179</td><td class="yes">1/64</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/14</td><td class="no">5/--</td><td class="yes">6/13</td><td>47/6</td>
+</tr>
+<tr class="odd bronze">
+<td class="rank">14</td><td>team9 - helloworld</td><td class="center">6</td><td class="right">1345</td><td class="yes">11/220</td><td class="no">3/--</td><td class="yes">11/175</td><td class="yes">2/270</td><td class="yes">5/87</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/20</td><td class="no">1/--</td><td class="yes">1/173</td><td>36/6</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">15</td><td>team2 - 一起抱大腿</td><td class="center">5</td><td class="right">287</td><td class="yes">3/58</td><td class="center">0/--</td><td class="yes">1/124</td><td class="no">6/--</td><td class="yes">1/10</td><td class="no">4/--</td><td class="center">0/--</td><td class="yes">1/3</td><td class="no">4/--</td><td class="yes">2/32</td><td>22/5</td>
+</tr>
+<tr class="odd iron">
+<td class="rank">*</td><td>team4 - 咱们狠鰜沀*</td><td class="center">5</td><td class="right">344</td><td class="no">8/--</td><td class="no">1/--</td><td class="yes">1/145</td><td class="yes">1/76</td><td class="yes">3/46</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/20</td><td class="center">0/--</td><td class="yes">2/17</td><td>17/5</td>
+</tr>
+<tr class="even bronze">
+<td class="rank">16</td><td>team42 - meat</td><td class="center">5</td><td class="right">482</td><td class="yes">1/184</td><td class="center">0/--</td><td class="yes">3/112</td><td class="center">0/--</td><td class="yes">1/66</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/15</td><td class="center">0/--</td><td class="yes">3/45</td><td>9/5</td>
+</tr>
+<tr class="odd iron">
+<td class="rank">17</td><td>team25 - 15份的树莓派</td><td class="center">5</td><td class="right">657</td><td class="yes">1/173</td><td class="center">0/--</td><td class="yes">1/177</td><td class="center">0/--</td><td class="yes">1/94</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/18</td><td class="center">0/--</td><td class="yes">3/155</td><td>7/5</td>
+</tr>
+<tr class="even iron">
+<td class="rank">18</td><td>team14 - [此处是很厉害的队名]</td><td class="center">5</td><td class="right">888</td><td class="no">28/--</td><td class="center">0/--</td><td class="yes">8/150</td><td class="yes">5/287</td><td class="yes">3/103</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/49</td><td class="center">0/--</td><td class="yes">2/59</td><td>48/5</td>
+</tr>
+<tr class="odd iron">
+<td class="rank">19</td><td>team30 - 此刻尽丝滑</td><td class="center">5</td><td class="right">894</td><td class="yes">11/272</td><td class="center">0/--</td><td class="yes">5/212</td><td class="center">0/--</td><td class="yes">2/120</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">3/38</td><td class="center">0/--</td><td class="yes">4/92</td><td>25/5</td>
+</tr>
+<tr class="even iron">
+<td class="rank">20</td><td>team41 - ACM</td><td class="center">5</td><td class="right">936</td><td class="yes">14/229</td><td class="center">0/--</td><td class="yes">10/244</td><td class="no">1/--</td><td class="yes">2/123</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/45</td><td class="center">0/--</td><td class="yes">1/35</td><td>30/5</td>
+</tr>
+<tr class="odd">
+<td>21</td><td>team23 - 122@^</td><td class="center">4</td><td class="right">0(704)</td><td class="no">6/--</td><td class="center">0/--</td><td class="yes">2/242</td><td class="center">0/--</td><td class="yes">6/125</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">5/15</td><td class="center">0/--</td><td class="yes">2/102</td><td>21/4</td>
+</tr>
+<tr class="even">
+<td>21</td><td>team50 - 开开心心写代码^</td><td class="center">4</td><td class="right">0(793)</td><td class="center">0/--</td><td class="no">3/--</td><td class="no">7/--</td><td class="yes">1/276</td><td class="yes">3/172</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">5/43</td><td class="center">0/--</td><td class="yes">3/142</td><td>22/4</td>
+</tr>
+<tr class="odd">
+<td>21</td><td>team18 - 123^</td><td class="center">4</td><td class="right">0(1049)</td><td class="yes">8/261</td><td class="center">0/--</td><td class="yes">5/165</td><td class="center">0/--</td><td class="yes">3/276</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">4/47</td><td class="center">0/--</td><td class="no">14/--</td><td>34/4</td>
+</tr>
+<tr class="even">
+<td>24</td><td>team19 - 这个队名很正常</td><td class="center">4</td><td class="right">409</td><td class="yes">6/200</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/66</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/26</td><td class="center">0/--</td><td class="yes">1/57</td><td>9/4</td>
+</tr>
+<tr class="odd">
+<td>25</td><td>team49 - 干蒸烧卖糯米鸡</td><td class="center">4</td><td class="right">425</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/139</td><td class="center">0/--</td><td class="yes">2/87</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/18</td><td class="no">2/--</td><td class="yes">2/161</td><td>8/4</td>
+</tr>
+<tr class="even">
+<td>26</td><td>team48 - 小队</td><td class="center">4</td><td class="right">492</td><td class="yes">2/160</td><td class="center">0/--</td><td class="no">10/--</td><td class="center">0/--</td><td class="yes">4/168</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/22</td><td class="center">0/--</td><td class="yes">2/62</td><td>19/4</td>
+</tr>
+<tr class="odd">
+<td>27</td><td>team26 - 算计啊</td><td class="center">4</td><td class="right">493</td><td class="no">4/--</td><td class="center">0/--</td><td class="yes">1/162</td><td class="center">0/--</td><td class="yes">5/186</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/21</td><td class="center">0/--</td><td class="yes">1/44</td><td>12/4</td>
+</tr>
+<tr class="even">
+<td>28</td><td>team36 - 胡德平呀胡德平</td><td class="center">4</td><td class="right">597</td><td class="no">3/--</td><td class="center">0/--</td><td class="yes">1/149</td><td class="no">1/--</td><td class="yes">2/85</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">3/40</td><td class="center">0/--</td><td class="yes">5/183</td><td>15/4</td>
+</tr>
+<tr class="odd">
+<td>29</td><td>team32 - 得奖?不存在的!</td><td class="center">4</td><td class="right">668</td><td class="no">7/--</td><td class="center">0/--</td><td class="yes">5/225</td><td class="center">0/--</td><td class="yes">4/114</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/22</td><td class="center">0/--</td><td class="yes">2/147</td><td>19/4</td>
+</tr>
+<tr class="even">
+<td>*</td><td>team3 - 不WA算我输*</td><td class="center">4</td><td class="right">836</td><td class="yes">10/290</td><td class="center">0/--</td><td class="yes">9/239</td><td class="no">9/--</td><td class="no">3/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/15</td><td class="center">0/--</td><td class="yes">3/12</td><td>35/4</td>
+</tr>
+<tr class="odd">
+<td>30</td><td>team20 - ZING</td><td class="center">4</td><td class="right">948</td><td class="yes">4/251</td><td class="no">2/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">12/281</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/24</td><td class="center">0/--</td><td class="yes">4/52</td><td>23/4</td>
+</tr>
+<tr class="even">
+<td>31</td><td>team47 - 水一水</td><td class="center">4</td><td class="right">1034</td><td class="yes">8/286</td><td class="center">0/--</td><td class="no">9/--</td><td class="center">0/--</td><td class="yes">2/176</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/15</td><td class="center">0/--</td><td class="yes">8/277</td><td>28/4</td>
+</tr>
+<tr class="odd">
+<td>32</td><td>team8 - 梅锋真没疯</td><td class="center">3</td><td class="right">268</td><td class="no">5/--</td><td class="center">0/--</td><td class="yes">1/129</td><td class="center">0/--</td><td class="yes">2/76</td><td class="no">1/--</td><td class="center">0/--</td><td class="yes">1/43</td><td class="center">0/--</td><td class="no">5/--</td><td>15/3</td>
+</tr>
+<tr class="even">
+<td>33</td><td>team29 - 啤酒瓶</td><td class="center">3</td><td class="right">291</td><td class="no">5/--</td><td class="no">2/--</td><td class="no">6/--</td><td class="no">1/--</td><td class="yes">2/35</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/5</td><td class="center">0/--</td><td class="yes">3/171</td><td>21/3</td>
+</tr>
+<tr class="odd">
+<td>34</td><td>team5 - 午时已到</td><td class="center">3</td><td class="right">336</td><td class="no">10/--</td><td class="center">0/--</td><td class="no">9/--</td><td class="center">0/--</td><td class="yes">1/28</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/8</td><td class="center">0/--</td><td class="yes">5/240</td><td>26/3</td>
+</tr>
+<tr class="even">
+<td>35</td><td>team34 - 一颗赛艇</td><td class="center">3</td><td class="right">456</td><td class="no">2/--</td><td class="no">2/--</td><td class="yes">7/195</td><td class="center">0/--</td><td class="yes">2/42</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/79</td><td class="center">0/--</td><td class="no">10/--</td><td>24/3</td>
+</tr>
+<tr class="odd">
+<td>36</td><td>team21 - 咸鱼非余</td><td class="center">3</td><td class="right">462</td><td class="no">8/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">5/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/7</td><td class="yes">3/187</td><td class="yes">1/248</td><td>18/3</td>
+</tr>
+<tr class="even">
+<td>37</td><td>team46 - 伊利纯牛奶</td><td class="center">3</td><td class="right">498</td><td class="yes">12/214</td><td class="no">2/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">5/--</td><td class="center">0/--</td><td class="yes">3/116</td><td class="center">0/--</td><td class="yes">1/128</td><td>23/3</td>
+</tr>
+<tr class="odd">
+<td>38</td><td>team12 - 小腿想成为大腿^</td><td class="center">2</td><td class="right">0(359)</td><td class="no">4/--</td><td class="no">2/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">3/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/119</td><td class="center">0/--</td><td class="yes">6/240</td><td>16/2</td>
+</tr>
+<tr class="even">
+<td>39</td><td>team35 - 风水扬沙果粒无敌必胜超级厉害队^</td><td class="center">2</td><td class="right">0(512)</td><td class="no">7/--</td><td class="center">0/--</td><td class="yes">10/261</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">3/31</td><td class="center">0/--</td><td class="center">0/--</td><td>20/2</td>
+</tr>
+<tr class="odd">
+<td>40</td><td>team43 - triple_six</td><td class="center">2</td><td class="right">139</td><td class="no">8/--</td><td class="center">0/--</td><td class="no">11/--</td><td class="center">0/--</td><td class="yes">4/63</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/16</td><td class="center">0/--</td><td class="no">9/--</td><td>33/2</td>
+</tr>
+<tr class="even">
+<td>41</td><td>team10 - 明月照大江</td><td class="center">2</td><td class="right">167</td><td class="yes">2/92</td><td class="no">7/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">7/--</td><td class="yes">1/55</td><td class="center">0/--</td><td class="no">17/--</td><td>34/2</td>
+</tr>
+<tr class="odd">
+<td>42</td><td>team27 - 代码怎么写都队^</td><td class="center">1</td><td class="right">0(43)</td><td class="no">5/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="no">7/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">1/43</td><td class="center">0/--</td><td class="no">5/--</td><td>18/1</td>
+</tr>
+<tr class="even">
+<td>43</td><td>team17 - 在废人的领域也同样无敌</td><td class="center">1</td><td class="right">181</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">2/161</td><td class="center">0/--</td><td class="no">16/--</td><td>18/1</td>
+</tr>
+<tr class="odd">
+<td>44</td><td>team11 - String Name</td><td class="center">1</td><td class="right">182</td><td class="no">18/--</td><td class="no">4/--</td><td class="no">7/--</td><td class="center">0/--</td><td class="no">10/--</td><td class="center">0/--</td><td class="center">0/--</td><td class="yes">5/102</td><td class="center">0/--</td><td class="center">0/--</td><td>44/1</td>
+</tr>
+<tr>
+<td></td><td>Submitted/1st Yes/Total Yes</td><td></td><td></td><td class="center">295/25/29</td><td class="center">39/--/0</td><td class="center">181/90/33</td><td class="center">56/76/19</td><td class="center">135/10/39</td><td class="center">20/--/0</td><td class="center">17/--/0</td><td class="center">78/3/48</td><td class="center">30/187/4</td><td class="center">177/12/39</td><td>1028/211</td>
+</tr>
+</TABLE>
+</center>
+<div class="tail">
+<span class="right"><A HREF="http://pc2.ecs.csus.edu/">PC^2 Homepage</A>
+<br>
+       CSS by Tomas Cerny and Ray Holder
+</span>
+Created by <A HREF="http://pc2.ecs.csus.edu/">CSUS PC^2</A> version 9.3.3 20160914 build 3454<br>
+Last updated
+Sat Apr 08 17:40:05 CST 2017</div>
+</BODY>
+</HTML>
-- 
cgit v1.2.3