??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲精品国产亚洲老地址 ,国产精品久久久久久久人人看,色婷婷久久综合中文久久一本http://www.shnenglu.com/MatoNo1/category/16328.htmlMato是一只超U大沙茶……但他一直以来都x为各Ҏ(gu)赛都No.1的神犇…?/description>zh-cnTue, 18 Jun 2013 02:12:26 GMTTue, 18 Jun 2013 02:12:26 GMT60【复仇之战】AHOI2013 Round2 ȝhttp://www.shnenglu.com/MatoNo1/archive/2013/06/17/200747.htmlMato_No1Mato_No1Mon, 17 Jun 2013 14:37:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2013/06/17/200747.htmlhttp://www.shnenglu.com/MatoNo1/comments/200747.htmlhttp://www.shnenglu.com/MatoNo1/archive/2013/06/17/200747.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/200747.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/200747.html前言Q?br />?006q的全国W一Q到2012q的全国W二十;
从国安每年必有Q到正式选手NOI Ag都拿不到Q?br />旉可以改变一切,仅仅几年Q我们共同见证了一个省从强省变成弱省;
而无比奇(keng)?die)的省选题Q又使得许多难以惌的事情发生了Q?br />不知现在Q还有谁记得一q前的那场风波,两年前的那场风LQ三q前的那场风波;
不知现在Q还有谁记得那些被奇(keng)?die)的省选题和谐掉的众神Q?br />相关链接0
相关链接1
相关链接2
———————————————————————————————————————————————————
今年Q安徽省选终于不再是一场闹剧?br />希望q能成ؓ(f)一个{折点。下面进入正题?br />———————————————————————————————————————————————————

本沙茶还是考废?#8230;…6题有3题被卡常敎ͼ而且卡到和暴力差不多的得?#8230;…
不过毕竟复仇成功?#8230;…好像q进了A?#8230;…
不过像我q么弱到NOI也是被虐的䆾……

下面上题解:(x)
【Day1?br />coinQ?br />首先那个贪心性质是比较好看出来的?#8230;…是如果每个面值都是上一个面值的正整数倍,则要得到一个h(hun)格的最张敎ͼL先用最大的Q不够了再用W二大的……以此cL?br />Q证明:(x)假设h为sQ某个方?a1, a2...am)(ai为第i大的面g用张?对于最大的面g是按照这L(fng)Q则有s-a1*v1>=v1Q若a2*v2>=v1Q则?v1/v2)张第二大的换成一张第一大的昄更优Q若a2*v2<v1Q则可得s-a1*v1-a2*v2>=v1-a2*v2>=v2Q可以对W三大的l箋分类讨论Q这样一直到Wm大的Q必然会(x)有一个出现可换成更大面值的情况Q也是该方案必然不是最优方案;如果最大的面值按照这P后面的面g按照q样Q仍然如此)
q样只要所有面值确定,配成M一Uh(hun)格的最优方案也q定了Q且可以随着面g大到的一一定Q不断更新最优方案;
׃本题h<=100000Q所以考虑搜烦。一开始搜最大的面|然后在搜后面的面值的时候,只能枚D其因数。优化:(x)
Q?Q初始定界:(x)Ҏ(gu)样例2+单分析可以得出,使用2的幂的面值是一U比较优的方案,因此用它q行初始定界Q可以大大方便后面的卡界Q?br />Q?Q容易证明,如果所有h(hun)g最大的为maxwQ则最大的面值必然在[maxw/2, maxw]之间Q?br />Q?Q很重要的剪枝:(x)Ҏ(gu)证明在最优方案中Q相M个面值的比值必然是质数Q否则设vi/v(i+1)不是质数Q存?gt;1的因数dQ则加入vi/dq个面g?#8230;…Q。因此,只需要预处理?~100000间所有数的质因数卛_Q?br />Q?Q一些启发式优化Q卡界)Q?br />Q?Q卡Ӟ
l合使用以上Ҏ(gu)可以得到85~100分;注意搜烦中的数组分层问题Q?br />
cube:
被卡常数了,真?zhn)?#8230;…
本题的猥琐之处在于它的时I限Ӟ旉1sQ空?4M……l跪了!Q!
只要求出(0, 0, 0)-(200, 200, 200)间的每个格子是否被覆盖,然后再做一ơfloodfillp了囧……
实现Ҏ(gu)有很多,最好的是三l树(wi)状数l(Ҏ(gu)求点Q一个数l即可,且可以用shortQ?br />问题是,本题的floodfill如何实现Q递归DFSQ爆栈;人工栈DFSQMLEQBFSQ在压位的情况下可以勉强卡过I间Q但常数被卡?#8230;…
Q求犇好的解决办法?#8230;…Q?br />
squareQ?br />首先两个不相交子矩Ş要么在X方向上不怺Q要么在Y方向上不怺Q要么在X、Y方向上都不相?#8230;…Q废话)
因此l果{于(X方向上不怺的全黑子矩Ş个数)+(Y方向上不怺的全黑子矩Ş个数)-(X、Y方向上都不相交的全黑子矩形个?Q?br />前两个显然灰常好求,W三个,只要求出每个点左上、右上、左下、右下四个方向里面的全黑子矩形个敎ͼ也灰常好?#8230;…
不过有一个细节:(x)如何求出以某?列ؓ(f)最下行/最叛_的全黑子矩Ş个数Q?br />一U方法是往?叻I或上/下)W一个比它矮的地方不断P代,但这样遇到阶梯状的会(x)被卡掉;
正确Ҏ(gu)是找到往?叻I或上/下)W一个比它矮的地方,然后以这里ؓ(f)右下角的全黑子矩形个?以那个地方ؓ(f)右下角的全黑子矩形个?q里的高?两个位置的距;
然后是严格的O(N2)了(不过数据很弱Q本沙茶使用?x)被阶梯状的卡掉的办法也AC了囧Q;

xDay1完挂?br />
【Day2?br />Q全DS题什么心态?Q?Q?Q)
homeworkQ?br />W一?#8230;…是h都会(x)吧囧……
W二?#8230;…?c)了?#8230;…
其实看到W二问这U不能合q的东东应该想到分?#8230;…q里说一U时间复杂度为O(N5/3)的分块方?br />注意本题的两问都满区间减性质Q即“A[l1..r1]中关于[l2..r2]范围内的数的l果=A[l1..r1]中关于[0..r2]范围内的数的l果- A[l1..r1]中关于[0..l2-1]范围内的数的l果”?br />因此Q可以先对[l2..r2]q一l离U,然后按照值递增的顺序逐个加入A数组中的所有元素(一开始A数组为空Q,每加入一个数Q就对l2或r2{于q个数的所有询问计结果,q样原题p{化ؓ(f)了这个问题:(x)
一个长为N的序列,一开始所有位|都为空Q现在有两个操作Q(1Q在某个IZ|插入一个数Q(2Q询问目前某区间内的数的LQ以?qing)不相同的数的LQ?br />q两个问题都可以分块解决Q设S1[i][j]和S2[i][j]分别表示目前Wi块到Wj块中数的L以及(qing)不相同的数的LQ同时维护bool FF[i][j][k]表示Wi块到Wj块是否出现数k。插入一个数时直接维护S1Q根据FFl护S2卛_。显然块大小sz应取N2/3Qȝ旉、空间复杂度均ؓ(f)O(N5/3)?br />q样……本题旉10s应该能过了吧?#8230;…但是常数……万恶的常数啊Q!Q!Q(事实上后5个点在本Z都是8.5s左右的,只有W??个点TQ但在那里不知ؓ(f)什么几乎全T?#8230;…Q?br />
disconnectedQ?br />q个……本沙茶真心不?x)搞?#8230;…
@drcrow犇说有一U按询问分块的办法,其思想具体见他今年CTSC的论?#8230;…但本沙茶智硬理解不了……
求各位神犇解?#8230;…

diffQ?br />Q很水的题,很坑爹的常数……本题真是推广SAM的利?#8230;…Q?br />本题的核心在于算L两个后缀的LCP之和Q其它的很容易推导出?#8230;…
后缀的LCPQ?#8220;正常?#8221;的第一反应是SA……
求出SA?qing)height后,转化为线D|(wi)问题……然后q接搞定了……
但是……………………………………………………………………………………………………
本题N<=500000Q时?sQ!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!
如果求SAQ不是倍增q是DC3都会(x)TQ把SA求出来就T了)
因此Q正解其实是SAMQ把q个串的SAM求出来之后,直接用DFS求次序,再求height……q里的时间复杂度是U性的了?br />QWJMZBMRQ现在SA早就q时了,要用SAMQ!Q不Q其实SAM也过时了Q现在是Suffix BST以及(qing)2K Substring BSTQ但考虑到AH太弱了,同情一下,降低一炚w?#8230;…Q?br />
xAHOI Round2完挂?br />Q不q许多h都放水了?#8230;…他们说我d滚粗Q太可怜了Q要照顾?#8230;…于是我这L(fng)弱智A队了……Q?br />QHSAAHNUq了6?#8230;…太可怕了Q坐{NOIl团虐场……Q?br />

Mato_No1 2013-06-17 22:37 发表评论
]]>
AHOI2013 Round1 题解&&ȝhttp://www.shnenglu.com/MatoNo1/archive/2013/05/18/200374.htmlMato_No1Mato_No1Sat, 18 May 2013 09:38:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2013/05/18/200374.htmlhttp://www.shnenglu.com/MatoNo1/comments/200374.htmlhttp://www.shnenglu.com/MatoNo1/archive/2013/05/18/200374.html#Feedback4http://www.shnenglu.com/MatoNo1/comments/commentRss/200374.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/200374.htmlQ首先声明一下,今年AHOI R1的题==JSOI R3 Day1的题Q?br />【题解?br />sport:
首先很容易证明,最优方案必然是左边都是-Q右辚w?Q从样例也可以看出来囧)……
因此问题转化ZW几ơ开?Q可以得开?的时候,目标元素的位|最?#8230;…
注意到排队的q程实际上是个冒?#8230;…因此本题的关键在于发掘出冒的性质?#8230;…
设最初的序列为A[0..N-1]Q目标元素ؓ(f)A[pos]。设S[0]为排在A[pos]之左的比A[pos]大的元素的个敎ͼ因ؓ(f)一开始排在A[pos]之左的且<=A[pos]的元素,不管肿么搞都一直在目标元素之左Q不它们了?#8230;…Q,然后Q考察所有一开始排在A[pos]之右的,比A[pos](注意?lt;A[pos]Q不?lt;=Q的所有元素,讑֮们之间的间隔分别为S[1]、S[2]、S[3]……Q具体见图,其中S[1]为A[pos]和第一个比A[pos]的元素之间的间隔)

然后来审视一下整个冒泡的q程。一开始,必然是将目标元素左边的一个比目标元素大的元素Ud双去,在目标元素右边它可能?x)停下来Q但紧接着必然是一个值更大的元素l箋往右移Q最l的效果{h(hun)于将目标元素左边的一个比目标元素大的元素“Ud?#8221;了(即移C最双的比目标元素的元素的右边)Q也是S[0]减了1Q而S[1]、S[2]……都没变,q个q程昄只能持箋S[0]ơ,目标元素左边比它大的元素全部移出去Q此时目标元素到达了?#8220;可能到达”的最左位|?br />接着Q目标元素和双W一个比它小的元素(卛_中的A[i1]Q之间的Q比目标元素大的那些元素被依次的移出去Q也是S[1]不断?Q而S[2]?qing)后面的都没变。这一q程?x)持lS[1]ơ,目标元素和A[i1]靠在一起了Q注意,在这个过E中Q目标元素的位置是不?x)变的)?br />如果此时l箋冒Q则目标元素׃(x)和A[i1]交换Q右UM个位|,q且׃q次冒开始,S[2]不断?Q减?为止Q接着目标元素和A[i2]交换Q右UM个位|,S[3]不断?……直到最后一个S[]g减到0后,目标元素到达它的目标位置?br />也就是,?#8220;Wi阶段”为S[i]值减的q个阶段Q则在第0阶段Q目标元素会(x)不断左移Q显然不?Q第1阶段Q目标元素不动,也不?Q但从第2阶段开始,在每阶段的第一ơ冒泡时Q目标元素都?x)向右移一个位|。因此,开?的时候,必然是第xQx>=2Q阶D늚开始的那次。由于最多只? Kơ,因此可能的最左位|就是满N-1-∑(0<=j<x)S[j] <=K的最的x值减2Q加上一开始就在目标元素之左的Q且g大于目标元素的元素个敎ͼ它们必然在目标元素之左)。注意特D情况:(x)x<2Q此时当成x=2处理Q,或者x不存在(全是-Q?br />因此Q本题就是预处理求出所有S之后Q扫一遍得出最的x值就行了QO(N)?br />当然Q二分答?暴力判断可以?0Q有犇说二分答案之后可以在O(N)旉内判断,从而O(NlogN)解决Q我太弱了,完全搞不懂囧……QOrzQ!Q?br />
moleQ?br />首先Q一个很重要的事实就是,“整个q程中左手所在的位置严格于x”其实是一个废条gQ!因ؓ(f)如果左右手交叉了Q必然是左手试图L靠右的一个,而右手试囑֎打靠左的一个,此时Q让它们交换Q则两只手移动的距离都变,Ҏ(gu)仍然合法Q且更优Q我太弱了,当时是在这里想抽了很久Q以至于木有做这?#8230;…后来才知道这题很?#8230;…真?zhn)剧!Q!Q?br />接下来就变成了一个全局l筹的问题,可以用网l流解决Q每个地鼠i拆成两个点:(x)入点i'、出点i''Q中间连一条容量ؓ(f)1Q表C只能打一ơ)Q费用ؓ(f)它的得分的边Q两只手开始的位置也当成有地鼠Q只不过得分?而已。如果某只手在打完第i个地鼠后能接着LWj个地鼠,p?lt;i'', j'>Q容?Q费?。s往表示两只手开始的两个点的入点q一条容量ؓ(f)1Q费用ؓ(f)0的边Q每个出点往Tq一条容量ؓ(f)1Q费用ؓ(f)0的边。求q个囄最大费用最大流卛_?br />当然Q用O(N3)的DP也可以得到至?0分,如果卡的好的话可能有80以上?#8230;…

busQ?br />裸的数据l构题,用一坨Splay Treel护卛_Q唯一要注意的是铑֏以翻转,因此要rev标记……
q是不会(x)搞的可以dZJOI2012 Day2的某?#8230;…
q题在数据结构题中还是比较好写的……值得吐槽的是它的Ҏ(gu)很难?#8230;…本沙茶写正解用了50minQ写Ҏ(gu)用了75min……
———————————————————————————————————————————————————
【ȝ && 一些闲扯?br />Q?Q(Orz @sunzhouyiQ?br />“要想滚粗Q?
0.仔细看错或者记错题?/div>
1.选对不可做题?/div>
2.思考坑爚w[鉴于‘坑爹’一词在AH的特D含义,q一Ҏ(gu)?#8220;思考废条g怎么处理”]?/div>
3.认真写自׃?x)的东西?/div>
4.最后还不写暴力分?#8221;
本沙茶中了其中的三点Q因此?zhn)剧?#8230;…
Q?Q?span style="color: red">热烈庆祝今年的题目不再坑爹了Q!Q!Q?/strong>Q?/strong>Q因为用的是JSOI的题Qbusq抄袭了ZJOI……Q?br />Q?Q这ơ的题目……要么是难惟뀁好写(sport代码只有1K多)Q要么是好想、较隑ֆQ但q可以写的完的(指busQ和BZOJ上最q的那些数据l构相比真是太h道了……Q?br />Q?Q要善于发掘题目的本质,特别是一些隐含的最优性质Q比如mole的那个废条gZ么废Q;
Q?Q遇到想了很久想不出的题Q一定要换一个方向去惻I因ؓ(f)很可能是一开始的方向疵了Q?br />Q?Q对于代码量较大的题Q如数据l构题)Q到底写不写是要看情늚Q灵zL握;

一些闲扯:(x)
Q?Q本沙茶所在的考场几乎全是犇Q就我一个沙?#8230;…于是被虐M……
Q?Q比赛时看到寚w的一个h在喝“和其?#8221;……瞬间吓傻?#8230;…Q话说肿么木有看到喝阿华田的?#8230;…Q?br />Q?Q昨天试机的时候,被Atbiter虐了半天Q一开始肿么配|都?#8220;找不到答案文?#8221;……后来才发现Atbiter已经改版了,players下面的第一层文件夹应该是考试场数~号QDay1、Day2……Q;
Q?Q试机的时候发现鼠标是坏的Q后来才知道q个考场?个鼠标坏了,3个键盘坏了,2个系l时间显C错?#8230;…
Q?QMq次挂惨了,不过?0应该能进Q重Ҏ(gu)Round2Q加油!Q我要复仇!Q?br />


Mato_No1 2013-05-18 17:38 发表评论
]]>AHOI2013 大致的规则出来了http://www.shnenglu.com/MatoNo1/archive/2012/09/21/191533.htmlMato_No1Mato_No1Fri, 21 Sep 2012 13:34:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/09/21/191533.htmlhttp://www.shnenglu.com/MatoNo1/comments/191533.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/09/21/191533.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/191533.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/191533.html相关链接

由此看来Q省队(准确来说?#8220;省集训队”Q的压力减小很多了囧……因ؓ(f)即省选题目再坑爹Q也有NOIP?0%垫着……
昄QNOIP必须得高分,甩开别hQ甩得越q越好,q样才能在省集训队的选拔中占据优?#8230;…
不过Q进了省集训队之后又肿么选,׃知道?#8230;…

而且估计明年的省选应该木有这么坑爹了?#8230;…
其实……最q发现即使是AHOI2012的后3题,只要?x)各U搜?q似也是可以搞到很多分的……臛_加v?00分木问题Qd200A队了Q?#8230;…

所以,实力l究是硬道理Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!

我要q省队!Q!Q?br />我要q国安训队Q!Q!


Mato_No1 2012-09-21 21:34 发表评论
]]>
AHOI2013 期待中…?/title><link>http://www.shnenglu.com/MatoNo1/archive/2012/08/05/186303.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Sat, 04 Aug 2012 16:32:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2012/08/05/186303.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/186303.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2012/08/05/186303.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/186303.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/186303.html</trackback:ping><description><![CDATA[<a title="相关链接0" >相关链接0</a><br /><a title="相关链接1" >相关链接1</a><br /><br />NOI2012l束了,Ҏ(gu)沙茶来说是鸡肋之战Q因Z得多少分都木有用,只能得到像废U怸L(fng)成W证明Q其实就q这个,本沙茉木有拿到囧)<br />而AHOI2012选出来的安徽省队Q成l史上最差,正式选手首次Au、Ag都木有,在忽略团体对抗赛的情况下Q团体分全场Rank20Q东部倒数W二……<br />唯一值得庆幸的是团体Ҏ(gu)赛得了Rank4Q而且是在册时RP耗尽D?#8230;…<br /><br />真真切切希望Q?br />Q?Q?012~2013赛季中,自己的水q快速提高,早日pQ?br /><strike>Q?QNOIP2012 AH 1=分数U不低于全国划线Q?br /></strike>Q这个梦惛_l破灭了……唯一能希望的是CCF NOI2013省队名额攚wQ要是真改不了就用尽全力挤进?吧囧……毕竟2011q本沙茶都干q个Q?013q应该也可以囧)<br />Q?Q?span style="color: red"><strong>AHOI2013不要再出像今q这L(fng)题了Q至要保证每题都有正解、数据范围不骗hQ?/strong></span><br />Q?QNOI2013上,AH今年的?zhn)剧不要重演,团体分至进Rank12……<br /><br />其它?yu)木有神马可说的了囧?br /><br />Q本沙茶曄在网l上消失了很长一D|_(d)现在回来了,原来那个帖子删除Q?<img src ="http://www.shnenglu.com/MatoNo1/aggbug/186303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2012-08-05 00:32 <a href="http://www.shnenglu.com/MatoNo1/archive/2012/08/05/186303.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AHOI2007 题解http://www.shnenglu.com/MatoNo1/archive/2012/05/04/173607.htmlMato_No1Mato_No1Fri, 04 May 2012 10:00:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/05/04/173607.htmlhttp://www.shnenglu.com/MatoNo1/comments/173607.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/05/04/173607.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/173607.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/173607.html
box:
要求x2=kn+1Qk为整敎ͼQ即(x+1)(x-1)=kn。因?x+1)?x-1)所可能h的共同的质因数只?Q因此可以分ZU情况:(x)Q?Qx是奇敎ͼ且n?的倍数Q此时可以将(x+1)?x-1)都除?Qn除以4之后Q{化ؓ(f)(x+1)/2?x-1)/2是n/4的倍数Q然后直接求解;Q?Q其它情况:(x)此时必然?x+1)?x-1)是n的倍数Q可以直接求解。注意需要特判一下x=0的情况;

doorQ?br />求逆矩늚问题。方法:(x)讄N*N的矩阵A(ch)和BQA初始为待求逆的矩阵QB为单位矩阵,然后Q不断地对A和B同时实施相同的初{行变换Q直到将A变成单位矩阵为止Q此时B是A的逆矩阵,若无论如何也不能A变成单位矩阵Q则A无逆矩c?br />初等行变换有3U:(x)Q?Q两行互换;Q?Q将一行整体乘以一个非0常数Q(3Q将一行加到另一行上?br />具体操作Q类g高斯消元。第一步,i?到n-1Q在A的第i?n-1)行中扑ֈ一个第i列不?的(若找不到则A无逆矩阵)Qƈ其与第i行互换(变换1Q,然后Q对Wi行后面所有第i列不?的,其整行乘以一个非0常数Q变?Q,使得其第i列的值刚好是-A[i][i]Qƈ第i行加到这一行上Q变?Q得其Wi列变?Q这样一直下去,可以把A的下三角全部变ؓ(f)0Q第二步Qi从n-1?Q对于第i行第(i+1)列及(qing)其以后的每个敎ͼ若有不ؓ(f)0的,其乘上一个常敎ͼ变换2Q得这个数变ؓ(f)-1Q再用后面的已经处理好的单位矩阵对应行加到第i行上Q变?Q,这个数变ؓ(f)0Q这样一直到最后一列ؓ(f)止,最后,要把Wi行乘上一个常敎ͼ变换2Q得A[i][i]=1Q这L(fng)i行就处理好了Q这样一直下去,直到所有的行都处理好ؓ(f)止?br />
lightQ?br />首先对这个字W串A[0..n-1]q行自nexKMPQ求出nx数组Qnx[i]表示A[i..n-1]与A[0..n-1]的LCP长度?br />然后Q点灯器的长度ؓ(f)p可行的充要条件是Q(1Qnx[n-p]==pQ(2Q对于整个nx数组Q取出其所有大于等于p的元素,则相M个元素的距离Q下标之差)都不过p?br />对于W(2Q个条gQ只要用一个线D|(wi)l护最大距d可以了,枚Dp的时候正、逆序均可Q推荐逆序Q这样实际上{于不断插入元素Q比删除元素要方ѝ?br />
rockQ?br />大水题。只要把矩阵中所有的0变成-1Q再求最大子矩阵p了?br />
redcrossQ?br />?1矩阵中最大的某种性质的子矩阵cȝ题目。最暴力的做法显然是13个数l(原始数组+上下左右延0的长?上下左右延1的长?左上左下右上右下延?正方形的辚wQ,如果把上下左叛_g??的长度进行合q可以减到9个数l,但这样对于这U如此卡常数的题目还是会(x)TLE的。其实,可以换一U思考方式,最后只?个数l(包括原始数组Q就解决了问?#8230;…至于q个是肿么搞的,现在不能_(d)以后的某一天再?#8230;…
另外q里的最优解排序……发现有惊人的地方么囧……

mazeQ?br />׃可以随便赎ͼN<=10Q因此可以枚丑։5步的走法和后?步的走法Q其实全是一L(fng)Q枚举一ơ就行了Q只是存储方式不同)Q把能得到的所有权值和分最后到达位|(?步)和开始位|(?步)存在数组里,然后是二分查找了囧……至于N<10的情况就几步枚举了囧。其实还是比较难写的Q本沙茶2009q写q题的时候写了整整一晚上Q当然这或许与本沙茶当时太太太太?#8230;…׃有关Q当然现在仍然弱Q?br />

Mato_No1 2012-05-04 18:00 发表评论
]]>
Splay Tree处理区间问题的几道好题及(qing)ȝhttp://www.shnenglu.com/MatoNo1/archive/2011/06/25/149425.htmlMato_No1Mato_No1Sat, 25 Jun 2011 03:21:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2011/06/25/149425.htmlhttp://www.shnenglu.com/MatoNo1/comments/149425.htmlhttp://www.shnenglu.com/MatoNo1/archive/2011/06/25/149425.html#Feedback2http://www.shnenglu.com/MatoNo1/comments/commentRss/149425.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/149425.htmlQ?QRobotic SortQ?a title="HDU1890" >HDU1890?a title="ZJU2985" >ZJU2985Q?br />本题主要考察的是Ҏ(gu)c问题,序列中给定值的索引问题?br />当Splay Tree用来处理一个序列的时候,其关键字是序列中元素的下标Q而不是元素的倹{这P如果要查扑ֺ列中l定的值的位置Q假讑ֺ列中L两个元素的g相等Q看h无法实现。其实也是有办法实现的:(x)因ؓ(f)元素在树(wi)中的下标是永q不变的Q也是Q设q个序列为AQ如果A[i]在插入Splay Tree时的下标为jQ那么在A[i]被删除之前,其下标一直是jQ永q不?x)变Q注意元素在序列中的下标和在?wi)中的下标是不同的)。利用这一性质可以解决l定值的索引问题?br />对于本题Q每ơ将从序列中Wi的元素到序列中Wi个元素(q里假定元素下标是从1开始的Q而不是从0开始)之间的所有元素反转,q输出第i的元素在反转之前的在序列中的下标。设B[i]为第i的数的初始位置QS[i]?span style="color: #ff0000">初始位置在第i位的元素的下标,B[i]和S[i]都可以通过预处理得到。然后,每次交换前,求出S[B[i]]在树(wi)中的排名Q基本操作)Q再?Q因为有边界l点Q就是该元素目前的位|,而序列中Wi个元素就是树(wi)中第(i+1)的元素Q再执行交换卛_?br />不过需要千万注意的是本题的标记问题Q在求S[B[i]]在树(wi)中的排名Ӟ有可能其先l点上有标记Q需要先遍历其所有的先l点Q再逆向下放标记Q标记只能自向下传Q。另外在交换的时候需要求出S[B[i]]的后l,在求后的过E中需要查找,此时千万别忘了下放标讎ͼȝ_(d)凡是有查扄地方Q就有dmQ?br />代码Q本沙茶太弱了,是抄别h的,因此其算法和上面ȝ的可能有差别Q神犇不要鄙视)

Q?QSuperMemoQ?a title="PKU3580" >PKU3580Q?br />本题?个操作中Qadd、reverse、insert、delete、min都不难搞Q而revolve操作需要涉?qing)到区间交换?br />可以发现Q所谓的旋{其实是交换两个盔R区间Q这对于功能极强的Splay Tree来说Ҏ(gu)不难搞?br />设这两个盔R区间为[x, y]与[y+1, z]Q假讑֮们均非空Q也是x<=y<zQ因其中臛_有一个区间是I区_(d)则交换没有意义)Q先扑ֈ?wi)中x的前P与z的后lSQ这里x、z{指的都是对应的l点Q下同)Q将P伸展到根、将S伸展到根的右子结点处Q则S的左子树(wi)pC区间[x, z]。然后,设S的左子树(wi)的根l点Q也是S的左子结点)为NQ在q棵子树(wi)中找到第1的l点P0与第(y-x+2)的l点S0Q这需要涉?qing)到扑֭树(wi)内WK的操作Q只要把找整|(wi)WK的操作的root改ؓ(f)N卛_Q,它们分别表示x?y+1)Q这样将P0伸展到N处,S0伸展到N的右子结点处Q显然P0无左子树(wi)QS0的左子树(wi)T1表示区间[x+1, y]QS0的右子树(wi)T2表示区间[y+2, z]。然后,先将S0从P0的右子结点移动到P0的左子结点,再将T1作ؓ(f)P0的右子树(wi)Q注意移动是两步Q插入和删除Q。这h子?wi)的中序遍历l果变成了S0->T2->P0->T1Q也是[y+1, z]∪[x, y]?br />另外本题的标记有炚w搞,只需注意rev是逆向标记Q以?qing)查找与dm共存p了?br />代码
Q?QPlay with Chain(HDU3487)
q个cx马好说的,里面的操作在SuperMemo里都有;
代码
Q?Q?a title="AHOI2006 文本~辑?editor)" >AHOI2006 文本~辑?editor)
q题在这一c题里面水的。对于光标,只要用一个值来l护p了?br />另外注意本题极ؓ(f)猥琐?点(题目中米有说明)Q一是最初的文本q不是空的,而是有一个空|二是执行GET操作时光标可能位于文本末,此时应输出空|
代码
Q?QHFTSC2011 高精度计器(apc)Q题目见q个帖子Q?br />q题反映Z一个很囧的问题Q有些信息会(x)被rev整体破坏?br />本题中的操作都是常见操作Q但是本题所需要维护的信息却不是那么容易维护。本题要求维护一子?wi)中所有结Ҏ(gu)表示的元素序列(中序遍历l果Q模一个指定的M的倹{设F[i]为R^i mod M的|q里R是进Ӟ也就是题目中的KQ,则有Q?br />T[x].mod = (T[T[x].c[0]].mod * F[T[T[x].c[1]].sz + 1] + T[x].v * F[T[T[x].c[1]].sz] + T[T[x].c[1]].mod) % M;
q个式子其实是很好理解的?br />关键是,本题的猥琐之处ƈ不在此。注意本题的rev操作Q它?x)整体改变?wi)中所有结Ҏ(gu)记录的mod|q时Q如果再用上面这个式子来l护T[x].modQ就?x)出错,因?f)此时引用到的T[T[x].c[0]].mod和T[T[x].c[1]].mod都是q时的。解册一问题只有一U方法:(x)记录“逆mod”(rmod)Q意思是整个元素序列反转后的modQ即Q?br />T[x].rmod = (T[T[x].c[1]].rmod * F[T[T[x].c[0]].sz + 1] + T[x].v * F[T[T[x].c[0]].sz] + T[T[x].c[0]].rmod) % M;
q样Q在反{某序列的时候,直接根l点的mod值和rmodg换就行了?br />像modq样?x)被反{操作整体破坏的信息还有很多,比如NOI2005 sequence里面的lmax和rmax。如果真的遇到这cM息,只有采用上面的方法?br />另外Q本题第6??0个点有误?br />代码

现在Splay Tree差不多弄完了Q接下来q有N多知名的、不知名的高U数据结?#8230;…旉MS有些不够用了?#8230;…


Mato_No1 2011-06-25 11:21 发表评论
]]>AHOI2006 基因匚w(match)http://www.shnenglu.com/MatoNo1/archive/2011/03/19/142240.htmlMato_No1Mato_No1Sat, 19 Mar 2011 14:38:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2011/03/19/142240.htmlhttp://www.shnenglu.com/MatoNo1/comments/142240.htmlhttp://www.shnenglu.com/MatoNo1/archive/2011/03/19/142240.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/142240.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/142240.html
题目大意Q求两个长度?N的序列的最长公共子序列长度Q在两个序列中,整数1~N分别都出?ơ?<=N<=20000?br>
【注Q本沙茶一开始用U段?wi)的Q后来在看了CLJ犇的标E(OrzQ!Q之后终于明白了?wi)状数组解法?#8230;…?br>
LCS问题的朴素时间复杂度为O(NM)。对于本题显焉要优化?br>观察LCS的{ULE:(x)
F[i][j] = F[i-1][j-1]+1Q当A[i]==B[j]Ӟ
F[i][j] = max{F[i-1][j], F[i][j-1]}Q当A[i]!=B[j]Ӟ

可以F用滚动数l来表示Q即设F'Z阶段的FQ即F[i-1]Q,则本阶段的FQ即F[i]Q可以由F'求得Q?br>F[j] = F'[j-1]+1Q当A[i]==B[j]Ӟ
F[j] = max{F'[j], F[j-1]}Q当A[i]!=B[j]Ӟ

q一步,q个F'其实都不用记录,只需在每一阶段更新一遍F卛_Q?br>F[j] = F[j-1]+1Q当A[i]==B[j]Ӟ
F[j] = max{F[j], F[j-1]}Q当A[i]!=B[j]Ӟ
不过需要逆序更新Q保证F[j-1]是上一阶段的而不是本阶段的)Q这?1背包有点像?br>
由题意可以发玎ͼA[i]==B[j]的出现次数极,在每阶段中只?x)出?ơ!我们可以预先求出q?个地方的|然后对于其它的F[j]Q其在本阶段的值其实就是它前面的最大|max{F[1..j-1]}Q,又因为我们最后只需知道F[N']QN'=5NQ即序列长度Q即可,故可设计Z下算法:(x)
一开始F[1..N]均ؓ(f)0Q然后将以下内容执行N'ơ,Wiơ:(x)
Q?Q求出B序列中与A[i]相等?个元素的位置Q设为S[1..5]Q?br>Q?Q依ơ更新F[S[5..1]]Q每个都更新为它前面的最大值加1Q很Ҏ(gu)知道为神马)Q其它的值暂时不;

N'ơ执行完后,整个序列中的最大值就是F[N']的倹{由于这个算法中出现的主要操作是改动一个指定位|元素的值和找一个前~区间中的最大|因此可以采用?wi)状数组Q时间复杂度O(NlogNQ(U段?wi)必TLEQ?br>
【ȝQ在本题中用了一U?#8220;推迟更新”的方法,即需要更C个值时Q先暂时不理它,{到需要引用到它的时候再更新。这U方法最常见的应用就是线D|(wi)的结Ҏ(gu)记。不q要注意的是Q如果该值的推迟更新?x)对它后面要更新的值带来问题(也就是,q些后更新的值需要引用该值的新|Q就不能使用q种Ҏ(gu)。在本题中,其它位置的值的改变只与q?个特D的位置有关Q与其它因素无关Q故可以使用q种Ҏ(gu)。?br>

Mato_No1 2011-03-19 22:38 发表评论
]]>
AVþþƷ| þþþѾƷ| þۺϺݺɫۺ| ҹƵþþþһ | þ99Ʒ| ˾Ʒþþþ7777| 91Ʒþþþþ| 99Ʒ99þþþþ97| ҹƷþþþþþС˵| þAVĻ| 69SEXþþƷ鶹| þþƷ99þ㽶ɫ| ޹Ƶþ| ޾ƷNVþþþþþþþ| ɫþþۺƷ | 91þùƵ| ӰȷŮAV³ɫԴþ| þùƷ99Ʒ987| þۺɫݺ| þùƷ99þþþþ | ĻhdþþƷ| 99þù뾫Ʒ | þþƷԴվ| þ| þþù99þùһ| 777þþƷһ| ҹþþþüŮӰԺ | þùֻоƷ| 2021þþƷ| þ99Ʒ鶹| þ99ۺϾƷ| ҹþþþ| þۺ³³| 97þ㽶߿ۿ| þþþĸ| ɫɫۺϾþҹҹ| þ99Ʒþþþþ| 69Ʒþþþ99| AVӰƬþþþþ| þþù| ŷ鶹þþþþ|