<?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>SQYBI.com &#187; SRM</title>
	<atom:link href="http://sqybi.com/blog/archives/tag/srm/feed" rel="self" type="application/rss+xml" />
	<link>http://sqybi.com/blog</link>
	<description>Change is a part of life, and takes part in finding us who we are.</description>
	<lastBuildDate>Mon, 09 Jan 2012 13:33:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SRM 445</title>
		<link>http://sqybi.com/blog/archives/136</link>
		<comments>http://sqybi.com/blog/archives/136#comments</comments>
		<pubDate>Fri, 24 Jul 2009 00:03:26 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[比赛]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/136</guid>
		<description><![CDATA[赛前定下的目标就是, 保住黄色. 然后拖着疲惫的身躯打完整场比赛, 坚持到了 rating 更新再睡觉 (幸运的是 System Test 很快, 没让我等太久), 也见证了自己的 rating 第一次突破 1700. 可以说很令我满意了, 不过却一点也高兴不起来. 让我耿耿于怀的就是那个 250 (275?). 当时拍出了一个自己也不知道对不对的程序, 按照平常的习惯, 我是万万不敢 submit 的, 除非是比赛最后时刻. 但是当时翻了一下 Room Summary, 发现那道题还只有 zhuojie 一个人提交, 不知道怎么就点了 submit. 感觉那一刻的自己像极了灵山仙人洞里的景天, &#34;只是想痛痛快快地打一场罢了&#34;. 当然了, 结果也很像. 不过如果每次都这样, 结果不像的那一天迟早会来临, &#8230; <a href="http://sqybi.com/blog/archives/136">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>赛前定下的目标就是, 保住黄色. 然后拖着疲惫的身躯打完整场比赛, 坚持到了 rating 更新再睡觉 (幸运的是 System Test 很快, 没让我等太久), 也见证了自己的 rating 第一次突破 1700. 可以说很令我满意了, 不过却一点也高兴不起来.</p>
<p>让我耿耿于怀的就是那个 250 (275?). 当时拍出了一个自己也不知道对不对的程序, 按照平常的习惯, 我是万万不敢 submit 的, 除非是比赛最后时刻. 但是当时翻了一下 Room Summary, 发现那道题还只有 zhuojie 一个人提交, 不知道怎么就点了 submit.   <br />感觉那一刻的自己像极了灵山仙人洞里的景天, &quot;只是想痛痛快快地打一场罢了&quot;.    <br />当然了, 结果也很像. 不过如果每次都这样, 结果不像的那一天迟早会来临, 而且肯定不会迟...</p>
<p>其实之前并没有发现自己这么地依赖 ACM. 因为那种原因被 ACM 队踢掉真的十分不爽, 甚至不能用不爽来形容了 -- 可惜我找不到更合适的词. 也只有这几天跟久违的同学们在一起的时候, 我才能稍微忘掉这些放松放松.   <br />可是, 这样下去也不是办法. 现在已经痛痛快快打了一场了, 也该是回归正轨的时候了.</p>
<p>下次 SRM 是8月, 还有时间.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/136/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>SRM 426</title>
		<link>http://sqybi.com/blog/archives/76</link>
		<comments>http://sqybi.com/blog/archives/76#comments</comments>
		<pubDate>Thu, 13 Nov 2008 10:32:37 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[搜索]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/76</guid>
		<description><![CDATA[好久没写SRM的文章了(上一次还是这里的SRM 422吧...),这次写主要是因为终于重新变黄了. 数一数,都蓝了快10场了呢. 上一场没参加,但这场开始的时候rp也没有爆发. 不知道怎么,12点开始的比赛,闹钟竟然也设在了12点.匆匆忙忙爬起来,都没来及洗脸就坐下开始看题.结果一刻钟都没看懂题,orz. 然后擦了一把脸接着看,终于看懂了.按照惯例,第一题应该是裸search的,但是自己分析复杂度竟然太高.只好求助于FancyMouse牛(后面那道500pts也求助于FancyMouse牛了),后来得知原先4^n的复杂度实际应该是3^n,然后后来又优化了几次,终于在比赛还有半个多小时的时候搞定250pts,这时这道题还剩下120多pts了. 第二题先和FM牛叙述了题意,然后自己感觉还是裸search.于是问FM牛,和我的想法一样.还有半小时,本来不想写了,但是在FM牛的鼓励下还是写了.最后在比赛还有2min结束的时候搞定500pts,200多分. 1000pts看了就知道不是能做的题,最后的确是这样.只有Petr和另一位大牛两人搞定1000pts,剩下的都挂掉了. 最后rating涨的也不是很多,要是250pts快点搞定就说不定会涨很多了. 另外祝贺一下RoBa神牛又一次变红. 附一段聊天记录(有删减): Killa.sqybi 0:40:07 还有半小时...我估计自己写不完500.. Fancy Mouse 0:40:20 MA。。。impossible is nothing Fancy Mouse 0:40:49 自从上次regional最后15分钟切掉2题以后偶十分信奉这句话 Fancy Mouse 0:41:15 虽然其中一道是别的队2hr以内就切掉的水题 Fancy Mouse 0:41:23 偶们不知怎么就是不会做 Killa.sqybi 0:41:49 呃... Fancy Mouse 0:41:55 偶在前面那道搜索切掉以后还剩下10分钟的时候豁出去写了个暴力居然过掉了 再次感谢FM牛...]]></description>
			<content:encoded><![CDATA[<p>好久没写SRM的文章了(上一次还是<a href="http://sqybi.com/blog/archives/66" target="_blank">这里</a>的SRM 422吧...),这次写主要是因为终于重新变黄了.<br />
数一数,都蓝了快10场了呢.</p>
<p>上一场没参加,但这场开始的时候rp也没有爆发.<br />
不知道怎么,12点开始的比赛,闹钟竟然也设在了12点.匆匆忙忙爬起来,都没来及洗脸就坐下开始看题.结果一刻钟都没看懂题,orz.<br />
然后擦了一把脸接着看,终于看懂了.按照惯例,第一题应该是裸search的,但是自己分析复杂度竟然太高.只好求助于FancyMouse牛(后面那道500pts也求助于FancyMouse牛了),后来得知原先4^n的复杂度实际应该是3^n,然后后来又优化了几次,终于在比赛还有半个多小时的时候搞定250pts,这时这道题还剩下120多pts了.</p>
<p>第二题先和FM牛叙述了题意,然后自己感觉还是裸search.于是问FM牛,和我的想法一样.还有半小时,本来不想写了,但是在FM牛的鼓励下还是写了.最后在比赛还有2min结束的时候搞定500pts,200多分.</p>
<p>1000pts看了就知道不是能做的题,最后的确是这样.只有Petr和另一位大牛两人搞定1000pts,剩下的都挂掉了.<br />
最后rating涨的也不是很多,要是250pts快点搞定就说不定会涨很多了.</p>
<p>另外祝贺一下RoBa神牛又一次变红.</p>
<p>附一段聊天记录(有删减):</p>
<p>Killa.sqybi 0:40:07<br />
还有半小时...我估计自己写不完500..<br />
Fancy Mouse 0:40:20<br />
MA。。。impossible is nothing<br />
Fancy Mouse 0:40:49<br />
自从上次regional最后15分钟切掉2题以后偶十分信奉这句话<br />
Fancy Mouse 0:41:15<br />
虽然其中一道是别的队2hr以内就切掉的水题<br />
Fancy Mouse 0:41:23<br />
偶们不知怎么就是不会做<br />
Killa.sqybi 0:41:49<br />
呃...<br />
Fancy Mouse 0:41:55<br />
偶在前面那道搜索切掉以后还剩下10分钟的时候豁出去写了个暴力居然过掉了</p>
<p>再次感谢FM牛...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/76/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SRM 422</title>
		<link>http://sqybi.com/blog/archives/66</link>
		<comments>http://sqybi.com/blog/archives/66#comments</comments>
		<pubDate>Sun, 19 Oct 2008 04:58:41 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[JJ陆]]></category>
		<category><![CDATA[SCDP]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[林俊杰]]></category>
		<category><![CDATA[水题]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/66</guid>
		<description><![CDATA[其实本次SRM我的目标也只是不掉rating而已,现在看来达到目标了.但是自己却是十分的不满意. 感觉这次从读题到写程序状态都是很好的,只不过rp不够而已- -. 250pts,水的不能再水的水题了(据说Div 2的250更水?无奈中- -).然后这道题竟然做了30min,原因更囧,题目里的50%之类的数给出的形式是50而不是0.5,而我也没除以100,直接傻傻地把50代进去算...结果都是很诡异的数了.等发现问题提交之后,时间已经过了大半... 500pts,在wind的提示下发现是SCDP,于是开写.过程中遇到了很多问题,想法有点错误.等改正之后已经没有时间了,最后差一个sizeof()(的确就差这几个字符就写完了- -),500pts没有交上. 这题SCDP应该可做,晚上我试试去... 1000pts没开题. 这次cha真算是平安夜了,整个Div貌似250都没有被cha的. 貌似ACRush教主顺利拿下第一.在此orz一下. rating小涨.下次争取大涨一次. P.S.&#60;JJ陆&#62;远没有预想的好.不想买了.]]></description>
			<content:encoded><![CDATA[<p>其实本次SRM我的目标也只是不掉rating而已,现在看来达到目标了.但是自己却是十分的不满意.</p>
<p>感觉这次从读题到写程序状态都是很好的,只不过rp不够而已- -.</p>
<p>250pts,水的不能再水的水题了(据说Div 2的250更水?无奈中- -).然后这道题竟然做了30min,原因更囧,题目里的50%之类的数给出的形式是50而不是0.5,而我也没除以100,直接傻傻地把50代进去算...结果都是很诡异的数了.等发现问题提交之后,时间已经过了大半...</p>
<p>500pts,在wind的提示下发现是SCDP,于是开写.过程中遇到了很多问题,想法有点错误.等改正之后已经没有时间了,最后差一个sizeof()(的确就差这几个字符就写完了- -),500pts没有交上.<br />
这题SCDP应该可做,晚上我试试去...</p>
<p>1000pts没开题.</p>
<p>这次cha真算是平安夜了,整个Div貌似250都没有被cha的.<br />
貌似ACRush教主顺利拿下第一.在此orz一下.</p>
<p>rating小涨.下次争取大涨一次.</p>
<p>P.S.&lt;JJ陆&gt;远没有预想的好.不想买了.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/66/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SRM 421</title>
		<link>http://sqybi.com/blog/archives/60</link>
		<comments>http://sqybi.com/blog/archives/60#comments</comments>
		<pubDate>Thu, 09 Oct 2008 12:58:03 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[二分答案]]></category>
		<category><![CDATA[概率]]></category>
		<category><![CDATA[精度]]></category>
		<category><![CDATA[贪心]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/60</guid>
		<description><![CDATA[正如校内状态所说,每次SRM之后状态难道都要改成"被虐了"?! 这次碰到了winsty所说过的精度题(也就是实型下二分答案),在改了好长时间之后还是WA掉了,仅仅错在一个测试点. 实型二分答案以前从没写过,所以挂掉了也很正常了. 然后500pts果然恶心,过掉前两题基本可以进top 100了.做法更恶心,一个贪心.但是我没法证明正确性.这道题又像lamppost(FNOI的小盆友们应该有知道的吧)又像road(TJOI 2007 Day 3某题),而这两道题都用了二分答案.但实际上这道求最大差值最小的题目并不像以前的最大值最小的题目都用二分答案--它只是一个简单的贪心. 以前不知道最大值最小用二分害过我一次,这次知道了最大值最小用二分又害了我... 1000pts是不可做概率题,貌似整个div就7个人做了,还有2个人fail system test了.在这里膜拜ahyangyi神牛. 又一次暴0,于是郁闷掉.再这样下去,一两场就跌到div 2了. 这几天考虑开始一些训练,一直不做题果然不行. SRM 422,一定要涨回来!争取变黄~ Go go +U~]]></description>
			<content:encoded><![CDATA[<p>正如校内状态所说,每次SRM之后状态难道都要改成"被虐了"?!</p>
<p>这次碰到了winsty所说过的精度题(也就是实型下二分答案),在改了好长时间之后还是WA掉了,仅仅错在一个测试点.<br />
实型二分答案以前从没写过,所以挂掉了也很正常了.</p>
<p>然后500pts果然恶心,过掉前两题基本可以进top 100了.做法更恶心,一个贪心.但是我没法证明正确性.这道题又像lamppost(FNOI的小盆友们应该有知道的吧)又像road(TJOI 2007 Day 3某题),而这两道题都用了二分答案.但实际上这道求最大差值最小的题目并不像以前的最大值最小的题目都用二分答案--它只是一个简单的贪心.<br />
以前不知道最大值最小用二分害过我一次,这次知道了最大值最小用二分又害了我...</p>
<p>1000pts是不可做概率题,貌似整个div就7个人做了,还有2个人fail system test了.在这里膜拜ahyangyi神牛.</p>
<p>又一次暴0,于是郁闷掉.再这样下去,一两场就跌到div 2了.<br />
这几天考虑开始一些训练,一直不做题果然不行.</p>
<p>SRM 422,一定要涨回来!争取变黄~<br />
Go go +U~</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/60/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>TopCoder SRM 417</title>
		<link>http://sqybi.com/blog/archives/46</link>
		<comments>http://sqybi.com/blog/archives/46#comments</comments>
		<pubDate>Thu, 11 Sep 2008 17:23:45 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[Floyd]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/46</guid>
		<description><![CDATA[继SRM 415暴0,SRM 416因为晚开了几分钟没注册成之后,SRM 417上,我又华丽地暴0了... 这套题目给OI(也就是可以开题看所有题)的话估计期望是做出两道题(250和1000). 题目很黑,250pts虽然一如既往地水,但是500pts竟然那么难,以至于很多人没开1000pts...我在最后几分钟开的,然后发现是一个裸的Floyd...囧掉.不过不知道为啥room里唯一做了1000的人fail掉system test了. 250挂的很无语.发现错误,然后已经改对了...刚要点submit就到时间了... 结果第一个被cha掉,意料之中的. 这次的算法: 250pts,暴力.刚开始估计错了text的子串数量,后来经winsty提醒才发现总共也就几千个... 500pts,人肉出11组本质不同的解,剩下的就是旋转翻转匹配.没了. 1000pts,暂且认为是Floyd.至少我没发现这道题有阴人的地方. 总结三点: 1.做250一定要坚决果断,一定要确定这就是暴力的题...TC!=OI... 2.没有保证250调过就不要开500. 3.想出来一个算法不要立刻实现,多花点时间分数低点无所谓... 果然做TC的经验要慢慢积累.现在还是OI的思路,根本没法刷rating(rating是浮云...浮云...),甚至没法保证得分...唉... 后面几次TC的目标是保住250,争取500,争取重回yellow...(其实掉到Div 2再回Yellow更容易些...) 另外250pts没submit的一个小客观原因:鼠标滚轮突然坏掉,只能自己拉滚动条...囧死了. 过两天还得买新鼠标去...]]></description>
			<content:encoded><![CDATA[<p>继SRM 415暴0,SRM 416因为晚开了几分钟没注册成之后,SRM 417上,我又华丽地暴0了...</p>
<p>这套题目给OI(也就是可以开题看所有题)的话估计期望是做出两道题(250和1000).<br />
题目很黑,250pts虽然一如既往地水,但是500pts竟然那么难,以至于很多人没开1000pts...我在最后几分钟开的,然后发现是一个裸的Floyd...囧掉.不过不知道为啥room里唯一做了1000的人fail掉system test了.</p>
<p>250挂的很无语.发现错误,然后已经改对了...刚要点submit就到时间了...<br />
结果第一个被cha掉,意料之中的.</p>
<p>这次的算法:</p>
<p>250pts,暴力.刚开始估计错了text的子串数量,后来经winsty提醒才发现总共也就几千个...<br />
500pts,人肉出11组本质不同的解,剩下的就是旋转翻转匹配.没了.<br />
1000pts,暂且认为是Floyd.至少我没发现这道题有阴人的地方.</p>
<p>总结三点:</p>
<p>1.做250一定要坚决果断,一定要确定这就是暴力的题...TC!=OI...<br />
2.没有保证250调过就不要开500.<br />
3.想出来一个算法不要立刻实现,多花点时间分数低点无所谓...</p>
<p>果然做TC的经验要慢慢积累.现在还是OI的思路,根本没法刷rating(rating是浮云...浮云...),甚至没法保证得分...唉...<br />
后面几次TC的目标是保住250,争取500,争取重回yellow...(其实掉到Div 2再回Yellow更容易些...)</p>
<p>另外250pts没submit的一个小客观原因:鼠标滚轮突然坏掉,只能自己拉滚动条...囧死了.<br />
过两天还得买新鼠标去...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/46/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>TopCoder SRM 415</title>
		<link>http://sqybi.com/blog/archives/34</link>
		<comments>http://sqybi.com/blog/archives/34#comments</comments>
		<pubDate>Wed, 27 Aug 2008 03:25:38 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[屠]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/34</guid>
		<description><![CDATA[彻彻底底被屠了. challenged + challenged + unopened = 0 pts... 250pts,纯水,贪心就行.可我竟然忘记了处理-1的情况...然后Run System Test才发现两个-1的点TLE了. 这道题也花费了我太长的时间...C++用的本来就不熟悉,然后TopCoder的编程环境是那么的别扭(在Code::Blocks里写更别扭)... 然后500pts,据说可以分半DP,我写的搜索,可惜250费的时间太多,500到最后样例还是WA.就是一个V很大n很小(32)的01背包. 1000pts,比赛结束之后我才开了看.模糊记得以前似乎见到过一道这样的题目,是自动机上的DP吗?求大牛解答. 屠惨了...还剩1400多分.蓝了. 其实250如果过了的话应该还可以黄的...]]></description>
			<content:encoded><![CDATA[<p>彻彻底底被屠了.<br />
challenged + challenged + unopened = 0 pts...</p>
<p>250pts,纯水,贪心就行.可我竟然忘记了处理-1的情况...然后Run System Test才发现两个-1的点TLE了.<br />
这道题也花费了我太长的时间...C++用的本来就不熟悉,然后TopCoder的编程环境是那么的别扭(在Code::Blocks里写更别扭)...</p>
<p>然后500pts,据说可以分半DP,我写的搜索,可惜250费的时间太多,500到最后样例还是WA.就是一个V很大n很小(32)的01背包.</p>
<p>1000pts,比赛结束之后我才开了看.模糊记得以前似乎见到过一道这样的题目,是自动机上的DP吗?求大牛解答.</p>
<p>屠惨了...还剩1400多分.蓝了.<br />
其实250如果过了的话应该还可以黄的...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/34/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TopCoder入门教程 -- sqybi完善版</title>
		<link>http://sqybi.com/blog/archives/25</link>
		<comments>http://sqybi.com/blog/archives/25#comments</comments>
		<pubDate>Sun, 24 Aug 2008 06:47:07 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[入门]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/25</guid>
		<description><![CDATA[本文根据经典的TC教程完善和改编。 TopCoder：http://www.topcoder.com/ 基本规则 TopCoder的比赛类型很多，最常见的是周赛SRM（Single Round Match），另外还有TCHS SRM（TopCoder High School SRM，题目和SRM一样，仅限中学生参加，参赛者水平较低，据说涨rating很容易），马拉松（Marathon Matchs），还有TCOpen（每年两次的大比赛）之类的比赛。因为大多数人都在做SRM，所以本文介绍的TC比赛即为SRM。 SRM的规则总结起来就是一句话：75分钟做完3道难度递增的题。 TC的每个用户（handle）都有自己的积分（rating），从0-3000+不等。成绩越好，分数越高。 积分与颜色的对应为：白色——未参赛（unrated）；灰色——0~899；绿色——900~1199；蓝色——1200~1499；黄色——1500~2199；红色——2200+。另外排名最高的几个人在TC客户端中会变成红色靶子图标。 比赛分为两个Division，Div I和Div II。白色灰色和绿色的参加Div II，蓝色黄色和红色的参加Div I。Div I的题要比Div II难许多，一般DivII的最后一题和Div I的第一或第二题是一样的。无论是Div I或Div II。三道题目的Score一般为250, 500和1000。 TC的计分规则很诡异，可以见http://www.topcoder.com/wiki/display/tc/Algorithm+Competition+Rating+System，但基本是没人看的懂。不过，TC积分规则的基本思想很简单。 首先是SRM每道题的计分规则。题目从打开开始计时，随着时间的流逝，你这道题目可能得到的分数也越来越少。不过分数减少的速率会逐渐变慢（有人说是先快后慢再快再慢，我不清楚到底哪个是对的，不过总体趋势是越来越慢），一般1000分的题目在降低到300分的时候就基本不会再下降太多了。每道题点击Submit才算正式提交，如果Submit之后发现错误，还可以再次点击Submit修改提交，不过这样会扣除这道题一定的分数。 其次是TC的计分规则。复杂的数学公式很难看懂，但大概的计分思想是：根据此次比赛的得分算出一个这次比赛的rank，然后和以前的rank做比较，求出一个期望的rank，再根据这个期望的rank调整rating。而有时也会出现考得很砸但依然涨rating的情况，不过总体来说TC的计分公式是十分稳定的。 运行环境 TC的客户端是一个Java程序，所以需要JRE（Java Runtime Environment）或者JDK（Java Development Kit）来运行。如果平时不写Java程序的话，装JRE就可以了。毕竟JDK比JRE大一个数量级，下载慢。安装照着提示完成就行了。推荐使用1.4.1以后的版本，因为带了java web start，可以快速登陆。具体方法下一部分讲。 JRE下载地址（中文）：http://www.java.com/zh_CN/download/index.jsp 注册 原文在注册的地方没有详细说明，但很多人似乎对注册都有疑问。所以这里我来注册一个小号，并通过整个过程讲解如何注册。 首先打开http://www.topcoder.com/tc（本文后面TopCoder的主页都指这个网址），然后点击右上角的Register &#8230; <a href="http://sqybi.com/blog/archives/25">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: 宋体;">本文根据经典的TC教程完善和改编。<br />
TopCoder：</span><span style="font-family: 宋体;"><a href="http://www.topcoder.com/" target="_blank">http://www.topcoder.com/</a></span></p>
<p><span style="font-family: 宋体;"><strong>基本规则</strong><br />
TopCoder的比赛类型很多，最常见的是周赛SRM（Single Round Match），另外还有TCHS SRM（TopCoder High School SRM，题目和SRM一样，仅限中学生参加，参赛者水平较低，据说涨rating很容易），马拉松（Marathon Matchs），还有TCOpen（每年两次的大比赛）之类的比赛。因为大多数人都在做SRM，所以本文介绍的TC比赛即为SRM。<br />
SRM的规则总结起来就是一句话：75分钟做完3道难度递增的题。<br />
TC的每个用户（handle）都有自己的积分（rating），从0-3000+不等。成绩越好，分数越高。<br />
积分与颜色的对应为：白色——未参赛（unrated）；灰色——0~899；绿色——900~1199；蓝色——1200~1499；黄色——1500~2199；红色——2200+。另外排名最高的几个人在TC客户端中会变成红色靶子图标。<br />
比赛分为两个Division，Div I和Div II。白色灰色和绿色的参加Div II，蓝色黄色和红色的参加Div I。Div I的题要比Div II难许多，一般DivII的最后一题和Div I的第一或第二题是一样的。无论是Div I或Div II。三道题目的Score一般为250, 500和1000。<br />
TC的计分规则很诡异，可以见<a href="http://www.topcoder.com/wiki/display/tc/Algorithm+Competition+Rating+System" target="_blank">http://www.topcoder.com/wiki/display/tc/Algorithm+Competition+Rating+System</a>，但基本是没人看的懂。不过，TC积分规则的基本思想很简单。<br />
首先是SRM每道题的计分规则。题目从打开开始计时，随着时间的流逝，你这道题目可能得到的分数也越来越少。不过分数减少的速率会逐渐变慢（有人说是先快后慢再快再慢，我不清楚到底哪个是对的，不过总体趋势是越来越慢），一般1000分的题目在降低到300分的时候就基本不会再下降太多了。每道题点击Submit才算正式提交，如果Submit之后发现错误，还可以再次点击Submit修改提交，不过这样会扣除这道题一定的分数。<br />
其次是TC的计分规则。复杂的数学公式很难看懂，但大概的计分思想是：根据此次比赛的得分算出一个这次比赛的rank，然后和以前的rank做比较，求出一个期望的rank，再根据这个期望的rank调整rating。而有时也会出现考得很砸但依然涨rating的情况，不过总体来说TC的计分公式是十分稳定的。 </span></p>
<p><span style="font-family: 宋体;"><strong>运行环境<br />
</strong>TC的客户端是一个Java程序，所以需要JRE（Java Runtime Environment）或者JDK（Java Development Kit）来运行。如果平时不写Java程序的话，装JRE就可以了。毕竟JDK比JRE大一个数量级，下载慢。安装照着提示完成就行了。推荐使用1.4.1以后的版本，因为带了java web start，可以快速登陆。具体方法下一部分讲。<br />
JRE下载地址（中文）：</span><span style="font-family: 宋体;"><a href="http://www.java.com/zh_CN/download/index.jsp" target="_blank">http://www.java.com/zh_CN/download/index.jsp</a></span></p>
<p><span style="font-family: 宋体;"><strong>注册<br />
</strong>原文在注册的地方没有详细说明，但很多人似乎对注册都有疑问。所以这里我来注册一个小号，并通过整个过程讲解如何注册。<br />
首先打开<a href="http://www.topcoder.com/tc" target="_blank">http://www.topcoder.com/tc</a>（本文后面TopCoder的主页都指这个网址），然后点击右上角的Register Now（没看到？你可能看到了一个Login，目光向下挪一点，那个红底白字的“Register Now”就在下面）。接下来会弹出<a href="http://www.topcoder.com/reg" target="_blank">http://www.topcoder.com/reg</a>这个页面，因为我们要参加SRM，所以选择第一个，Competition Registration。如果要参加TCHS可以选择第二个High School (Secondary School) Registration。这些以后都可以更改（这里没有选的如果以后要选上，只需要更新个人设置并挑勾；如果选上的要撤销选择则需要点一个“Unregister”的链接）。这里选择项目的多少和后面的页面需要填写内容的多少相关，本文以只选择第一项为例。<br />
需要填写的项目和对应的中文翻译如下：</span></p>
<blockquote><p><span style="font-family: 宋体;">* Given Name:  名<br />
* Surname:     姓<br />
* Address1:  地址1<br />
Address2:  地址2<br />
Address3:  地址3（如果一行写不开，就在三行中分别写）<br />
* City:   城市<br />
State (US Only):  地区（不在美国就不用选）<br />
Postal Code:  邮编<br />
Province:  省<br />
* Country:  国家<br />
* Country to represent:  代表国家（不知道啥意思，中国人两个都填China就行）<br />
* Timezone:  时区（选Asia/Chongqing）<br />
Phone Number:  电话号码<br />
* Email Address:  电子邮件<br />
* Confirm Email Address:  确认电子邮件地址（就是把电子邮件地址重新打一遍）<br />
Email Notifications:  邮件提醒（就是它给你发邮件提醒什么东西）<br />
- Algorithm Competitions  算法比赛，就是SRM和TCOpen<br />
- Software Development Opportunities  貌似就是有软件开发的项目就告诉你<br />
- Employment Opportunities  工作机会<br />
- TopCoder News &amp; Events  新闻<br />
* Enable Member Contact:  允许成员联系（似乎就是说是不是让别人在TC上能找到你）<br />
* Show / hide earnings:  显示/隐藏收入（大概是说别人是不是能看到你赚了多少钱，TC的比赛可是有钱赚的）<br />
* User Name:  用户名（下面的话提醒你一定不要填错，因为注册多个用户是不符合规定的。据说有人因为别人在TC客户端和他打招呼说“怎么你拿小号上了”，那个人的号就被封了）<br />
* Password:  密码<br />
* Confirm Password:  确认密码<br />
* Secret Question:  密码找回问题（找回密码时需要回答这个问题，注意至少要8个字符长，而一个中文字似乎算一个字符，所以最后可能要打几个问号补齐长度）<br />
* Secret Question Response:  密码找回问题答案<br />
Quote:  座右铭，就是个签名档之类的东西<br />
* Student/Professional:  学生/职业程序员<br />
* = required  带*的项目必填</span></p></blockquote>
<p><span style="font-family: 宋体;">填写之后点Term of Use下面的I Agree，再点Submit，完成提交。除了用户名别的以后似乎都可以改。<br />
接下来进入Demographics页面，这个大概相当于一个注册用户情况调查。</span></p>
<blockquote><p><span style="font-family: 宋体;">* Age :  年龄<br />
* Gender :  性别（Male男，Female女）<br />
* Ethnic Background :  民族背景（似乎选Asian or Pacific Islander就行吧……）<br />
* Primary Interest in TopCoder :  在TC的主要兴趣，看不懂的就选第一个吧，那个是说你的兴趣在奖金……<br />
* Shirt Size :  T-Shirt大小（有的比赛会给排名前N的选手发T-Shirt，这里你需要选择适合自己的大小，如果选最后一个说明你不想要T-Shirt，人家也不发你了。TC的T-Shirt还是挺好看的，比AStar的好）<br />
* College Major :  大学的专业<br />
* College Major Description :  这个不知道啥意思，随便填点东西就行……<br />
* Degree Program :  学位（从上到下分别为：准学士，学士，硕士，博士，中学生）<br />
* Graduation Year :  毕业年份<br />
* Graduation Month :  毕业月份<br />
* Clubs / Organizations :  组织（一般选None，可以按住Ctrl点鼠标多选）<br />
Other Clubs / Organizations :  其它组织<br />
* School:  学校（点Choose School选择学校，可以搜索，不过为啥shanghaijiaotong university才2个人注册？！）<br />
* Show / hide my school:  显示/隐藏我的学校<br />
GPA:  不懂的自己百度去……<br />
GPA Scale:  同上<br />
Resume:  简历<br />
* How did you hear about TopCoder?:  你怎么知道的TC，如果选了“Member Referral”的话，需要填写那个人在TC的用户名（欢迎填写sqybi~）<br />
* = required</span></p></blockquote>
<p><span style="font-family: 宋体;">点Submit，进入Confirm页面，确认信息。如果有误可以点Edit修改，否则点最下面的Confirm提交。<br />
接下来进入Success，提示你已经发送一封邮件到你的邮箱中，你必须去点击里面的链接激活用户。激活之后就可以使用这个用户了。 </span></p>
<p><span style="font-family: 宋体;"><strong>登录<br />
</strong>登录的方法一般都是使用Java Web Start。<br />
在TopCoder主页（</span><span style="font-family: 宋体;"><a href="http://www.topcoder.com/tc" target="_blank">http://www.topcoder.com/tc</a>）最下方有一段话，第一句是“Load</span><span style="font-family: 宋体;"> the Arena as an Applet or as a Java Web Start Application”。点“Java Web Start Application”，就会自动下载登陆需要的文件（一个jnlp格式的文件，本机装了JRE/JDK才能打开）。经测试在IE7下这个链接似乎不管用，在Firefox 3下正常。<br />
然后运行下载下来的jnlp文件，就打开了TC客户端。第一次运行和有更新的时候会自动下载安装程序，等待即可，很快。<br />
在我这里有时会提示“语法错误”，但没有任何影响，点“确定”就可以。启动可能会慢一些，耐心等待。<br />
然后输入用户名密码，在Connection的地方选合适的登录方式（一般Direct就行，如果不行的话可以试试别的或者用AUTODETECT自动检测），在PROXY处设置代理，点GO登陆。这时可能还会提示语法错误，再确定就行，这个也没有什么影响。 </span></p>
<p><span style="font-family: 宋体;"><strong>界面</strong><br />
下面的图们来自原文，很经典，不打算改动了。请使用等宽字体浏览。<br />
主界面：<br />
-----------------------------------------------------------------------<br />
|   Advertisements.............                                       |<br />
-----------------------------------------------------------------------<br />
| Main | Lobbies | Options | Practice Rooms | Active Contests | Help ||<br />
-----------------------------------------------------------------------<br />
|                                                 | Clock |           |<br />
-----------------------------------------------------------------------<br />
| Rating Key | Who's here |                 Chat Area                 |<br />
|     .      |            |                                           |<br />
|     .      |            |                                           |<br />
|     .      |            |                                           |<br />
|     .      |            |                                           |<br />
|     .      |            |                                           |<br />
|------------|            |                                           |<br />
|  MESSAGES  |            |                                           |<br />
|------------|            |                                           |<br />
|LEADER BOARD|            |                                           |<br />
|------------|            |                                           |<br />
|            |            |                                           |<br />
|            |            |-------------------------------------------|<br />
|            |            | &gt;&gt;_______________________________________ |<br />
-----------------------------------------------------------------------<br />
Advertisements 广告。<br />
菜单项:<br />
- Main里可以看在线名单和找人。<br />
- Lobbies基本用不着，因为用户一般都在Chat Room 1。<br />
- Options里是一些选项和颜色设置。<br />
- Practice Rooms里有大量的练习，都是以前比赛的题目<br />
- Active Contests只有有比赛的时候才有用，显示当前正在进行和将要进行的比赛以及比赛注册之类的东西。<br />
- Help里是....不用说了吧。<br />
Rating Key: handle的颜色是随着积分而改变的，这里显示了积分与颜色的关系。<br />
MESSAGES: 比赛的时候这里有注册提示和clarification。<br />
LEADER BOARD: 看每个room的最高分。<br />
Who's here: 当前room里的人。<br />
Chat Area: 聊天。 </span></p>
<p><span style="font-family: 宋体;"><strong>练习</strong><br />
在Practice Rooms里随便选择一个room就可以进入practice了。<br />
界面与主页面稍有变化，但基本相同，略去不画。主要的变化就是Who's here分成了两块，多了一块Who's assigned。这块显示的是谁被分到了这个room。因为是练习区，所以只要是在这里打开过题的都算是assigned。而在正式比赛中room是由TC分配的。这里显示的是被分配到这个room的人。界面上还有一个变化是Chat Area顶上多了三块。最左边的是一个下拉菜单。里面有三个分值，选择后就可以打开相应的题目。中间的summary可以看这个room里每个人的提交情况。<br />
在practice room里只有coding phase。提交后要判的话需要自己选择Practice Options（多出来的菜单项）里的Run System Test。 </span></p>
<p><span style="font-family: 宋体;"><strong>比赛</strong><br />
每次比赛(除了1年两次的大赛)都需要在赛前3小时-5分钟之间登陆注册方可参加，注册需要在Active Contest菜单中，选择你要参加的那个比赛，再选择Register。注意比赛前5分钟注册停止，这时候如果没有注册就不能参赛了。而注册了没有打开题目也视为没有参赛，rating不变动。<br />
然后TopCoder开始根据每个人的rating分配room，一般每个room都有高手和菜鸟，只不过如果你的rating高，和高手分在一起的概率高一些（当然也不一定是这样，比如我上次就和yuhch大牛分在了一起……）<br />
分配完成后，Active Contest菜单中Register一项变成Enter。选择后可以直接进入你被分配到的room。Active Contest菜单最下面还有一项暗色背景的Room子菜单，可以进入各个room溜达。<br />
进入自己room的时候一般离开始只有3分钟左右，静一下心就可以直接开始比赛了。coding phase的过程与practice基本相同。注意每题的得分是和用的时间相关（见前面的计分规则），而时间是从你打开该题开始算的。所以一题做完后可以不急着打开下一题，先放松一下。<br />
75分钟的coding后是5分钟的intermission，这段时间是用来休息和聊天的。<br />
然后就是最刺激的15分钟challenge phase，也就是通常说的cha人。打开summary，双击别人的各题Score可以打开那题的程序，如果觉得有错误就可以点左下的Challenge然后输入你认为他会错的输入数据，如果输入数据合法那么系统会用标程的输出和这个程序的输出对比，如果出现不同则cha人成功。成功的话你能得到50分，对方该题分数为0；而如果失败了，你会被减去25分。每个程序只能成功被cha一次，也就是说，如果有人cha掉了这个程序，你就不能再次cha。但是一个人可以cha某个程序很多次，直到这个程序被cha掉或者你放弃。<br />
Challenge结束后就是System Test。这个过程一般比较慢，可以先走开做其他事，过20分钟再回来看结果。System Test中的测试数据有两种：一种是出题者准备的测试数据，一种是成功cha掉别人的数据。所以，TC中很少出现有bug的程序能通过System Test的情况。<br />
结果出来后再过一段时间，就可以看到一系列message,比如rating更新了，新的practice room建好了以及可以通过主页查看这次比赛的数据了。这时比赛就宣告结束。 </span></p>
<p><span style="font-family: 宋体;"><strong>注意事项</strong><br />
1.在TC主页（</span><span style="font-family: 宋体;"><a href="http://www.topcoder.com/tc" target="_blank">http://www.topcoder.com/tc</a>）上可以看到Next</span><span style="font-family: 宋体;"> SRM，这是下次SRM的时间。注意我们的时间与他们刚好相差12小时，因此若时间是7月9日9:00 PM的话，这里是7月10日9:00 AM。还有要注意的是美国有夏令时，非夏令时的时候，还要再加1小时，就是7月10日10:00 AM。<br />
2.Practice Rooms里写的程序只要点SAVE就可以保存，下次login的时候还可以看到，但是比赛时候的程序必须Submit才可以在coding phase结束后保存(coding phase结束前还是只要SAVE就可以的)。<br />
3.若想cha别人的程序，自己必须是正分(0分也不行)，所以若没有一题有正确的程序但有很好的数据的话，随便交一道看上去正确的程序，然后在challenge的时候快下手，就可以赚到了。<br />
4.客户端自带的编辑器只有基本的编辑功能和编译及测试功能，所以若觉得不方便的话可以使用parser和plugin，TC主页最下面有plugin的连接。每个plugin都有详细说明文档，这里不再赘述。<br />
5.TC的FAQ：</span><span style="font-family: 宋体;"><a href="http://www.topcoder.com/?&amp;t=support&amp;c=index" target="_blank">http://www.topcoder.com/?&amp;t=support&amp;c=index</a></span><br />
<span style="font-family: 宋体;">6.最后一条，千万不要作弊，会有严重的后果。 </span></p>
<p><span style="font-family: 宋体;"><strong>SRM的输入输出</strong><br />
SRM是不用标准或文件输入和输出的，只要写一个类的一个成员函数。也就是说，你需要编写的并不是一个完整的程序，而是一个类。<br />
输入是成员函数的参数，输出用return，所以经常需要STL中的vector和string。<br />
因为TC的系统并不测试标准输出，所以标准输出可以当调试用。<br />
下面以SRM 413 Div 2的1000分题目介绍程序的写法。<br />
题目如下（选择不同的语言，题目描述会略有不同，本文以C++为例）： </span></p>
<blockquote><p><span style="font-family: 宋体;">Problem Statement<br />
NOTE: This problem statement contains subscripts that may not display properly if viewed outside of the applet.</span></p>
<p><span style="font-family: 宋体;">Let's consider an infinite sequence A defined as follows:<br />
A0 = 1;<br />
Ai = A[i/p] + A[i/q] for all i &gt;= 1, where [x] denotes the floor function of x. (see Notes)<br />
You will be given n, p and q. Return the n-th element of A (index is 0-based).</span></p>
<p><span style="font-family: 宋体;">Definition<br />
Class:<br />
InfiniteSequence<br />
Method:<br />
calc<br />
Parameters:<br />
long long, int, int<br />
Returns:<br />
long long<br />
Method signature:<br />
long long calc(long long n, int p, int q)<br />
(be sure your method is public)</span></p>
<p><span style="font-family: 宋体;">Notes<br />
- [x] denotes the floor function of x which returns the highest integer less than or equal to x. For example, [3.4] = 3, [0.6] = 0. </span></p>
<p><span style="font-family: 宋体;">Constraints<br />
- n will be between 0 and 10^12, inclusive.<br />
- p and q will both be between 2 and 10^9, inclusive. </span></p>
<p><span style="font-family: 宋体;">Examples<br />
0)<br />
0<br />
2<br />
3<br />
Returns: 1 </span></p>
<p><span style="font-family: 宋体;">A[0] = 1. </span></p>
<p><span style="font-family: 宋体;">1)<br />
7<br />
2<br />
3<br />
Returns: 7 </span></p>
<p><span style="font-family: 宋体;">A[0] = 1; A[1] = A[0] + A[0] = 2; A[2] = A[1] + A[0] = 2 + 1 = 3; A[3] = A[2] + A[1] = 3 + 2 = 5; A[7] = A[3] + A[2] = 5 + 3 = 8. </span></p>
<p><span style="font-family: 宋体;">2)<br />
10000000<br />
3<br />
3<br />
Returns: 32768 </span></p>
<p><span style="font-family: 宋体;">3)<br />
256<br />
2<br />
4<br />
Returns: 89 </span></p>
<p><span style="font-family: 宋体;">4)<br />
1<br />
1000000<br />
1000000<br />
Returns: 2 </span></p>
<p><span style="font-family: 宋体;">This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved. </span></p></blockquote>
<p><span style="font-family: 宋体;">下面是我写的一个错误算法的程序，仅供参考格式用：</span></p>
<blockquote><p><span style="font-family: 宋体;">#include &lt;string&gt;<br />
#include &lt;vector&gt;<br />
class InfiniteSequence {<br />
public:<br />
long long calc(long long n, int p, int q) {<br />
if (n == 0)<br />
return 1;<br />
else<br />
return calc(n/p, p, q) + calc(n/q, p, q);<br />
}<br />
};</span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/25/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>ZOJ Monthly August 2008 and SRM 414 and dd&#039;s Contest</title>
		<link>http://sqybi.com/blog/archives/15</link>
		<comments>http://sqybi.com/blog/archives/15#comments</comments>
		<pubDate>Sat, 16 Aug 2008 18:18:47 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[Tree DP]]></category>
		<category><![CDATA[ZOJ]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/15</guid>
		<description><![CDATA[今天做了两场比赛,ZOJ Monthly和SRM. 总体感觉还是不错,coding速度有待提高.思路准确性不够.coding准确性尚可. ZOJ去晚了,做了几道弱智题,拿了rank 60.其实早去半小时,就能top 25了... ZOJ月赛好多人组队参加...下次考虑和jl等人组个队. SRM,基本发挥水平,250+500全部Pass,可惜250和500开始想的都有问题,加上我C++的coding速度很慢,最后加起来也不到500分.我那个room都是强人,六个red...于是cha人的时候,打开一个代码,就提示我这个已经被cha了,再打开一个,又提示...最后一个代码也没看完就都cha干净了...现在rating是1671,涨得不多... 对了,还有dd的一个模拟赛,那个我写了三道题的标程.交到TOI的时候,第三题又因为%lld和%I64d的问题挂掉了...我忘了TOI是Linux系统,直接交了%I64d... ZOJ Monthly 中午去图书大厦,下午回到家,winsty告诉我有月赛...然后那时候人家都比了一半了. 这次月赛是ZOJ内部集训的题目,于是某道题我就得利了...可是重写的程序精度还是出了问题,最后2Y掉.就是1008题,这题AC率好低...传说中的万人坑. 然后1006,1002和1001都1Y掉了. 1008 这题注意精度,十分注意精度...没别的了. 1006 统计每个数在a和b中分别出现的次数,然后对每个数对应的两个次数取个最小值,最后把这些最小值都+起来.用了map和迭代器,STL果然好用. 1002 小学奥数题,竟然想了半天没想出来...后来MM群里有人提醒我(HL牛?),就是那个一个人牵着一匹马(一头驴也一样...)从A走到B途中要去河里喝水...问最短路径...后来又扯到Fermat原理...但不管怎么说,就是作(b, 0)关于三角形那条斜边的对称点...然后对称点和(0, a)连线,求出这条连线与斜边的交点,就是反射点...没有精度问题. 1001 写个暴力,跑,然后打表...dd的题目真恶搞... SRM 414 Div 1 第一次做Div 1,题目还不是很难. 250 这道题一开始想复杂了,一直在想怎么处理第一个表格从一天的什么时刻开始填的问题...后来发现一天最多有10^6个时刻,于是直接枚举...然后最后Pass掉.很囧...这道题白白掉了一大半的分数. 500 这道题开始想的就是正确的,贪心.可是细节处理出了问题. 算法是每个string记录当前取到了哪个字母,每次取字典序最小的一个字母. 细节上,当两个字符串当前字母一样的时候,需要比较剩余后缀的字典序.注意abc比abcd的字典序靠后,而不是一般我们认为的靠前. 一度以为时间复杂度太高会被cha,事实证明pass了. dd_engi的NOIP模拟赛 题目难度适中.dd的题质量还是不错的. 生命游戏 &#8230; <a href="http://sqybi.com/blog/archives/15">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>今天做了两场比赛,ZOJ Monthly和SRM.<br />
总体感觉还是不错,coding速度有待提高.思路准确性不够.coding准确性尚可.<br />
ZOJ去晚了,做了几道弱智题,拿了rank 60.其实早去半小时,就能top 25了...<br />
ZOJ月赛好多人组队参加...下次考虑和jl等人组个队.<br />
SRM,基本发挥水平,250+500全部Pass,可惜250和500开始想的都有问题,加上我C++的coding速度很慢,最后加起来也不到500分.我那个room都是强人,六个red...于是cha人的时候,打开一个代码,就提示我这个已经被cha了,再打开一个,又提示...最后一个代码也没看完就都cha干净了...现在rating是1671,涨得不多...</p>
<p>对了,还有dd的一个模拟赛,那个我写了三道题的标程.交到TOI的时候,第三题又因为%lld和%I64d的问题挂掉了...我忘了TOI是Linux系统,直接交了%I64d...</p>
<p><strong>ZOJ Monthly</strong></p>
<p>中午去图书大厦,下午回到家,winsty告诉我有月赛...然后那时候人家都比了一半了.<br />
这次月赛是ZOJ内部集训的题目,于是某道题我就得利了...可是重写的程序精度还是出了问题,最后2Y掉.就是1008题,这题AC率好低...传说中的万人坑.<br />
然后1006,1002和1001都1Y掉了.</p>
<p>1008<br />
这题注意精度,十分注意精度...没别的了.</p>
<p>1006<br />
统计每个数在a和b中分别出现的次数,然后对每个数对应的两个次数取个最小值,最后把这些最小值都+起来.用了map和迭代器,STL果然好用.</p>
<p>1002<br />
小学奥数题,竟然想了半天没想出来...后来MM群里有人提醒我(HL牛?),就是那个一个人牵着一匹马(一头驴也一样...)从A走到B途中要去河里喝水...问最短路径...后来又扯到Fermat原理...但不管怎么说,就是作(b, 0)关于三角形那条斜边的对称点...然后对称点和(0, a)连线,求出这条连线与斜边的交点,就是反射点...没有精度问题.</p>
<p>1001<br />
写个暴力,跑,然后打表...dd的题目真恶搞...</p>
<p><strong>SRM 414 Div 1</strong></p>
<p>第一次做Div 1,题目还不是很难.</p>
<p>250<br />
这道题一开始想复杂了,一直在想怎么处理第一个表格从一天的什么时刻开始填的问题...后来发现一天最多有10^6个时刻,于是直接枚举...然后最后Pass掉.很囧...这道题白白掉了一大半的分数.</p>
<p>500<br />
这道题开始想的就是正确的,贪心.可是细节处理出了问题.<br />
算法是每个string记录当前取到了哪个字母,每次取字典序最小的一个字母.<br />
细节上,当两个字符串当前字母一样的时候,需要比较剩余后缀的字典序.注意abc比abcd的字典序靠后,而不是一般我们认为的靠前.<br />
一度以为时间复杂度太高会被cha,事实证明pass了.</p>
<p><strong>dd_engi的NOIP模拟赛</strong></p>
<p>题目难度适中.dd的题质量还是不错的.</p>
<p>生命游戏<br />
纯模拟...没什么可说的,判断的时候注意边界.还有n和m的输入顺序,是先m后n.</p>
<p>正则表达式简化版<br />
还是模拟...很恶心的题,这题我没写标程.</p>
<p>魔法塔防<br />
这套题最有意思的一道题!很容易想到n^3的DP,其实只需要证明一点:红色的一定在最后.尝试反证法.</p>
<p>公司聚会<br />
很裸的Tree DP.我写了多叉转二叉,不过dd的标程写法很独特.详情请期待dd的题解.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/15/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>TopCoder SRM 413</title>
		<link>http://sqybi.com/blog/archives/7</link>
		<comments>http://sqybi.com/blog/archives/7#comments</comments>
		<pubDate>Thu, 14 Aug 2008 17:04:07 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[题解]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/7</guid>
		<description><![CDATA[Div 2果然是水题.第一次SRM,变黄. yuhch不好好出题啊... 此文测试插件用 有爱者可以忽略 第一题,纯水.贴TC的标程: double minTime(int length, int maxAcceleration, int maxVelocity) { double t1 = sqrt(length / double(maxAcceleration)); if(maxAcceleration * t1 &#62; maxVelocity) { double t2 = maxVelocity / double(maxAcceleration); return (length - maxAcceleration * t2 * t2) &#8230; <a href="http://sqybi.com/blog/archives/7">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Div 2果然是水题.第一次SRM,变黄.<br />
yuhch不好好出题啊...<br />
此文测试插件用 有爱者可以忽略</p>
<p>第一题,纯水.贴TC的标程:</p>
<pre lang="cpp">double minTime(int length, int maxAcceleration, int maxVelocity) {
  double t1 = sqrt(length / double(maxAcceleration));
  if(maxAcceleration * t1 &gt; maxVelocity) {
    double t2 = maxVelocity / double(maxAcceleration);
    return (length - maxAcceleration * t2 * t2) / maxVelocity + 2 * t2;
  } else
    return 2 * t1;
}</pre>
<p>第二题,我的做法是求解一大堆不等式:<br />
假设给出了a0,a1,a2,...其中a1,a2...分别等于[a1],[a2]...,那么<br />
a1-a0&lt;=d&lt;a1-a0+1<br />
a2-a0&lt;=2*d&lt;a2-a0+1<br />
...<br />
TC给出的代码如下:</p>
<pre lang="cpp">double minCommonDifference(int a0, vector  seq) {
  // fraction representing 0/1 (minimum permissible value)
  pair  res(0, 1);
  // find d
  for(int i = 0; i &lt; seq.size(); ++i)
    if(res.first * (i + 1) &lt; (seq[i] - a0) * res.second) {
      res.first = seq[i] - a0;
      res.second = i + 1;
    }
  // check whether a solution is possible
  for(int i = 0; i &lt; seq.size(); ++i)
    if(seq[i] != a0 + (i + 1) * res.first / res.second)
      return -1;
  return res.first / double(res.second);
}</pre>
<p>出现问题了...先测试到这里</p>
<p>刚才看了一下,Zoundry瞎改HTML.没办法,以后只能到blog后台来写了...装个增强的WYSIWYG插件去...</p>
<p>update:WLW竟然可以用!没想到啊.<br />
继续写完.</p>
<p>第三题看似范围很大,实际用到的状态并不多,所以开一个map做记忆化搜索就解决问题.继续贴TC的代码:</p>
<pre lang="cpp">map  mem;
long long calc(long long n, int p, int q) {
  if(n == 0)
    return 1;
  if(mem.count(n))
    return mem[n];
  mem[n] = calc(n / p, p, q) + calc(n / q, p, q);
  return mem[n];
}</pre>
<p>这次题目就这样,很水了...<br />
WLW似乎也把line参数给吞了...泪奔...</p>
<p>关闭了可视化编辑器,希望这次能行...<br />
以后就得这么发代码了...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/7/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>2008.08.14</title>
		<link>http://sqybi.com/blog/archives/6</link>
		<comments>http://sqybi.com/blog/archives/6#comments</comments>
		<pubDate>Thu, 14 Aug 2008 16:38:00 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Life]]></category>
		<category><![CDATA[[Daily Life]]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[Semagic]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[Zoundry]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/6</guid>
		<description><![CDATA[此文使用Zoundry Raven发布.据巫山霏云牛说Zoundry Raven不错,于是尝试一下. 今天一天一直在搞这个blog.中午11点左右起床,看到昨天晚上一键安装的WP装好了,然后开始搞Logo和首页.找wh做了个flash,然后自己照猫画虎又做了一个.发现Flash也挺简单. 接下来就是装插件,装主题.一直到安装全部结束都很顺利. 不过调试的部分可就没那么容易了. 出现了种种的问题,比如windywinter所说的在Firefox下变形,本机测试却没有问题.后来发现是因为主题的CSS大部分用了em,于是调整默认字体大小之后,整个主题的各个地方大小就都改变了.更要命的是竟然还有部分地方写了pt,于是大脑崩溃...用了好长时间把所有非字体的em都改成px,终于测试通过. 另外首页的Flash弹出窗口被Firefox拦截的情况,至今不知如何处理.如果哪位大牛知道请留言. 然后评论插件又出现问题,reply的时候总是reply到最下方而不是被reply的评论的下一层(我的插件是可以分层评论的).实在调的恶心了只好关掉,这时才发现我开了两个评论的插件...泪奔...重新启用其中一个,问题解决.Ajax还很好用. 接下来改CSS,把链接的下划线去掉.依然是人工改,一个一个把underline改成none,问题解决. 另外有一些比如页面评论的问题,已经被我忽视掉了. 最后还剩下一个未解决的问题,那就是wp-syntax插件.下一篇文章是SRM 413的总结.由于Div 1的1000不会,250和500跟Div 2的500和1000如出一辙,所以只总结Div 2的三道水题.主要为了测试插件用,所以那篇文章基本可以忽略. P.S.刚才下载了Semagic,一会儿用它试试.]]></description>
			<content:encoded><![CDATA[<p>此文使用Zoundry Raven发布.据<a href="http://www.missway.cn/" target="_blank">巫山霏云</a>牛说Zoundry Raven不错,于是尝试一下.</p>
<p>今天一天一直在搞这个blog.中午11点左右起床,看到昨天晚上一键安装的WP装好了,然后开始搞Logo和首页.找<a href="http://hexun.com/fqq11679/default.html" target="_blank">wh</a>做了个flash,然后自己照猫画虎又做了一个.发现Flash也挺简单.<br />
接下来就是装插件,装主题.一直到安装全部结束都很顺利.</p>
<p>不过调试的部分可就没那么容易了.</p>
<p>出现了种种的问题,比如<a href="http://www.briefdream.com/" target="_blank">windywinter</a>所说的在Firefox下变形,本机测试却没有问题.后来发现是因为主题的CSS大部分用了em,于是调整默认字体大小之后,整个主题的各个地方大小就都改变了.更要命的是竟然还有部分地方写了pt,于是大脑崩溃...用了好长时间把所有非字体的em都改成px,终于测试通过.<br />
另外首页的Flash弹出窗口被Firefox拦截的情况,至今不知如何处理.如果哪位大牛知道请留言.</p>
<p>然后评论插件又出现问题,reply的时候总是reply到最下方而不是被reply的评论的下一层(我的插件是可以分层评论的).实在调的恶心了只好关掉,这时才发现我开了两个评论的插件...泪奔...重新启用其中一个,问题解决.Ajax还很好用.</p>
<p>接下来改CSS,把链接的下划线去掉.依然是人工改,一个一个把underline改成none,问题解决.<br />
另外有一些比如页面评论的问题,已经被我忽视掉了.</p>
<p>最后还剩下一个未解决的问题,那就是wp-syntax插件.下一篇文章是SRM 413的总结.由于Div 1的1000不会,250和500跟Div 2的500和1000如出一辙,所以只总结Div 2的三道水题.主要为了测试插件用,所以那篇文章基本可以忽略.<br />
P.S.刚才下载了Semagic,一会儿用它试试.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

