??xml version="1.0" encoding="utf-8" standalone="yes"?>成人国内精品久久久久影院VR
,一级做a爱片久久毛片,精品国产VA久久久久久久冰http://www.shnenglu.com/MatoNo1/category/19860.htmlMato是一只超U大沙茶……但他一直以来都x为各Ҏ(gu)赛都No.1的神犇…?/description>zh-cnSat, 03 May 2014 00:13:02 GMTSat, 03 May 2014 00:13:02 GMT60- WC2014ȝhttp://www.shnenglu.com/MatoNo1/archive/2014/02/14/205760.htmlMato_No1Mato_No1Fri, 14 Feb 2014 08:59:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2014/02/14/205760.htmlhttp://www.shnenglu.com/MatoNo1/comments/205760.htmlhttp://www.shnenglu.com/MatoNo1/archive/2014/02/14/205760.html#Feedback5http://www.shnenglu.com/MatoNo1/comments/commentRss/205760.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/205760.htmlQ?QhcL慧是可怕的……
Q?Q我们要充分发挥人类智慧Q探索、测试、改q解x案的能力……
Q?Q有些喜M见的题目Q和游戏好像木有什么区别囧……
Q?Q随机和q似是很有力的工?#8230;…
Q?Q尽可能发散思维Q想Cؕ搞办法,是更有力的工?#8230;…
Q?Q学?x)利用机器和pȝ的bug和其它有用特点进行ؕ搞,??sup>*)有力的工P前面的那个括号内是个正则表达式)(j)……
Q?Q传l题可能有许多非传统做法Q这是很坑的?#8230;…
Q?Q做题时Q不要忘?jin)计机U学最基本的理?#8230;…
Q?Q有时候,玩也是很有用的囧……
Q?QQ何时候,永远不要对自׃׃?j)和希望Q即使在考挂的时候囧……
Q?0Q营员交和表演节目是可以救命的囧(不知谁还记得@huyuanming11和@lhm_m两位犇的故?#8230;…Q?/p>
Q?1Q给人类智慧的化w@lemon_workshopQ@false_sillycross)跪了(jin)……
Q?2Q给提出数据l构最前沿研究内容Retroactive DSQ同时在比赛里出人道数据Q最l成功保佑了(jin)本沙茶的@WJMZBMR跪了(jin)……
Q?3Q给虐爆全集训队的@xudyh、@vfleaking、@jcvb跪了(jin)……
Q?4Q给比赛前一天玩游戏Q当然后来也开始刷CF?#8230;…表示犇Z么都喜欢刷CF?#8230;…Q,然后在比赛里虐场的@法法塔、@Vensinte跪了(jin)……
Q?5Q给一q集训队、一q半候选队的@formyfamily(kzf)跪了(jin)……
Q?6Q给下N个法法塔Q@ydc、@pyx1997、@matthew99……跪了(jin)……
Q?7Q给各位被本沙茶h资料的神犇,以及(qing)所有虐掉本沙茶的神犇跪?#8230;…
Q?8Q其实上面的所有h都叫一个名字:(x)杨芳?#8230;…Q顺便剧透一下:(x)本沙茶其实是杨芳斐的W?0086个小?#8230;…Q?/p>
Q?9Q没什么可说的Q都是蒟ȝ借口|了(jin)……自己果然q是半吊子水q_?#8230;…
最lȝQ用两个字ŞҎ(gu)ơWCQ?span style="color: red; ">,b

]]>- NOI2013 题解&&ȝhttp://www.shnenglu.com/MatoNo1/archive/2013/07/20/201888.htmlMato_No1Mato_No1Sat, 20 Jul 2013 15:43:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2013/07/20/201888.html
不说?jin)?#8230;…
【Day1?br />
meowQ?br />
k=2Q先这N个dl向量组成一个N*d的矩阵A(ch)Q则A*AT&e1;i&e3;&e1;j&e3;(mod 2)是向量i•向量j(mod 2)Q因此问题有解当且仅当A*AT不是??br />
随机1*N的向量vQ看(v*A)*AT是否{于v*(N*N的全1矩阵)Q如果A*AT不是?那么期望试两ơ就可以得到不等的结果。(如果试了(jin)10ơ都是相{,p为无解)(j)
如果两边的乘U不{,则找到那个不{的列,设ؓ(f)Wi列,则必然存在一个解包含向量iQ枚丑֏一个即可。时间复杂度O(Nd)
k=3Q计?A*AT)&e1;i&e3;&e1;j&e3;2(mod 3)Q即(Σ(xik*xjk))2Q即Σ(xik1*xik2*xjk1*xjk2)(mod 3)Q对每个向量构造一个d2l向量,Z前的每个向量各维两两怹的结果,则{化ؓ(f)k=2的情况(只不q将mod 2改ؓ(f)mod 3Q,旉复杂度O(Nd2)Q常数小一点(比如算modQ可以卡q去?br />
countQ?br />
Q正解需要某些很奇怪的性质Q本沙茶看不出来Q只?5分的Q?br />
递推Q设F&e1;i&e3;&e1;j&e3;和G&e1;i&e3;&e1;j&e3;表示某层是BFS序列?amp;e1;i..j&e3;q一D,?wi)的总高度和?wi)的|Q所求^均值即为F&e1;i&e3;&e1;j&e3; / G&e1;i&e3;&e1;j&e3;Q?br />
则枚举kQ若k满一定条?/span>Q则F&e1;j+1&e3;&e1;k&e3;+=F&e1;i&e3;&e1;j&e3;+G&e1;i&e3;&e1;j&e3;QG&e1;j+1&e3;&e1;k&e3;+=G&e1;i&e3;&e1;j&e3;?br />
问题是这?#8220;一定条?#8221;是什么(最难搞的地方囧Q?br />
W零QBFS&e1;j+1..k&e3;q一D늚各个l点在DFS序列中的位置递增Q这个很昄Q?br />
W一QBFS&e1;j+1..k&e3;q一D늚各个l点在DFS序列中的位置之前都必L在BFS&e1;i..j&e3;范围内的l点Q作为它的父l点Q这个也很显?dng)?j)Q?br />
W二QDFS序列中,所有在BFS&e1;i..j&e3;范围内的l点的下一个位|如果不是在BFS&e1;0..i-1&e3;范围内的Q就必须是BFS&e1;j+1..k&e3;范围内的Q因表示它的W一个子l点Q这个灰帔R惛_Q!Q!Q!Q!Q!Q!Q!Q本沙茶挂在这里了(jin)?#8230;…Q?br />
对于W零和第一Q实际上是给Z(jin)k的上限,枚Dk时不W合q个条g则退出,而第二则是给Z(jin)k的下限(所有的“下一个位|?#8221;要填满才能算Q;
此外QF和G要用long doubleQdouble也会(x)爆,不用担心(j)_ֺQ本沙茶当时q在如何l护q_值的问题上纠l了(jin)很久……Q?br />
q个做法是O(N3)的,但加上那些优化就可以85分了(jin)?#8230;…
Q本沙茶当时惛_q个做法?jin),也想C(jin)W零和第一Q但木有惛_W二Q结果挂?#8230;…要是真得?5分,d254Q稳的rank1?#8230;…真?zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)剧,真(zhn)?#8230;…Q?br />
trainQ?br />
史上最水的提交{案……整个是个NOIP普及(qing)l难度的?#8230;…
首先分析数据׃隑֏现这10个点其实是一U模型:(x)
一开始有若干元钱Q用变量v 2表示Q?br />
有若q个大块Q每个大块可以选择q或者不q,如果q,p付出一些钱Q如果不q,p动蟩转到后面的某个大块?br />
在每个大块里有若q个Q不过25个)(j)块Q有1?0个变量,每个块也可以选择要或者不要,如果要,对所有的变量各加上一个效果|可正可负Q?br />
目标是所有变量的l对g和最大(每个大块末尾?x)结一ơ,然后所有变量的值清Ӟ(j)
首先每个大块内选哪些小块可以暴力枚举,然后得到最大的ȝ对|设ؓ(f)val&e1;i&e3;Qi为大块编P(j)Q设如果不进Wi个大块,跛_的大块编号ؓ(f)B&e1;i&e3;Q第i个大块付出的׃ؓ(f)V&e1;i&e3;?br />
而大块之间就是一个类g01背包的模型,设F&e1;i&e3;&e1;j&e3;表示到达Wi个大块(未作出选择Q时Q用掉了(jin)j元钱的最大L果|用F&e1;i&e3;&e1;j&e3;更新F&e1;B&e1;i&e3;&e3;&e1;j&e3;Q若不超q一开始的总钱数则用F&e1;i&e3;&e1;j&e3;+val&e1;i&e3;更新F&e1;i+1&e3;&e1;j+V&e1;i&e3;&e3;Q要实时保存最优决{?br />
输出的时候注意一下,那里面有几个点,当钱不够时会(x)自动选择不进当前大块Q木有必要作出选择?jin)?br />
xDay1完挂?br />
【Day2?br />
matrixQ?br />
矩阵乘法Q十q制快速幂。没?jin)?br />
penmanQ?br />
比较猥琐的DP?#8230;…
重点是这个:(x)所有的囑Ş都可以拆成单列,一列一列地弄(本沙茶太׃(jin)Q这个都木有惌v来)(j)Q然后就是三lDP?br />
NQ设F&e1;i&e3;&e1;j&e3;&e1;k&e3;&e1;st&e3;表示Wi列,上下边界分别为j、k行,状态ؓ(f)Wst个部分(W?部分为最左边一竖,W?部分Z间若q块Q第2部分为最双一竖)(j)的最优解Q计好一列之后求Z大堆辅助|可以下一列O(1)出?jin)?br />
IQ设F&e1;i&e3;&e1;j&e3;&e1;k&e3;&e1;st&e3;表示Wi列,上下边界分别为j、k行,状态ؓ(f)Wst个部分(W?部分为那一竖的左边Q第1部分为那一竖,W?部分为那一竖的双Q的最优解Q不需要辅助|直接求即可;
OQ可以DPQ但更好的办法是枚D左、右、上边界Q然后扫描,说它更好是因为知道了(jin)左右边界Q可以直接引出左边的N和右边的I的最优解?br />
具体实现的时候细节很?#8230;…真折h。还有要注意省空_(d)F数组要对iq一l滚动?br />
foodshopQ?br />
首先q是个无向环套树(wi)Q关于这斚w的ȝ?a title=""q里"" href=""http://www.shnenglu.com/MatoNo1/archive/2012/09/01/189006.html"">q里Q?br />
枚D开店的那条边,如果是树(wi)边,求出该边的较下结点往下的最大长度dist1Q以?qing)往其它l点的最q距dist2Q则l果即ؓ(f)min{dist1+x, dist2+L-x}Q满?<=x<=LQL辚w度。dist1求法不说?jin),dist2分ؓ(f)两部分,?wi)内的,可以转化为经典DP模型“?wi)的中?j)?#8221;Q树(wi)外的Q先求出环上的每个结点往?wi)中走的最大长度,作ؓ(f)q个l点的权|然后p{化ؓ(f)一个带Ҏ(gu)和点权的环,对于每个点iQ求出max{i、j距离+j的权值}Qj为环上的点)(j)的|q个值可以通过在环上扫描的Ҏ(gu)求出Q设G&e1;i&e3;为第i个点出发Q逆时针走更优的位|最q到哪里。逆时针扫描这个环Q然后所有的G可以在U性时间内求出Q求出G后,Ҏ(gu)个点分别求出光时针更优区与顺旉更优区内的最大|可以在扫描过E中用线D|(wi)l护Q,卛_解决q个问题?br />
如果开店的边在环上Q设其两端点为i、jQi->j为逆时针方向)(j)。很Ҏ(gu)发现Q如果在q条边上开店,则j的逆时针更优区内的所有点一定是逆时针到q个店更q,i的顺旉更优区内的所有点一定是时针到q个店更q,而其它的点则需要额外判断一下是时针更q还是逆时针更q(d断次Cؓ(f)U性)(j)。这样也可以借助U段?wi)在扫描q程中求出每条环边的、逆时针更优区Q从而{化ؓ(f)与树(wi)边的问题一L(fng)模型。时间复杂度O(NlogN)?br />
不过Q对于环边,q有一U更单的做法QOrz @hzaQ:(x)
二分最q距(即结果)(j)DQ然后对于环上的所有点Q找到这个环上到q个点距d于(D-q个Ҏ(gu)(wi)里的最大深度)(j)的点集合Q显然是q箋的一D弧Q,Ҏ(gu)有点的这U弧求ƈQ如果能覆盖整个环,则最优解<DQ否则最优解>=D?br />
本沙茶Day2全暴力,只拿?jin)暴力?#8230;…对付J琐题的能力太弱?jin),代码量一大就(zhn)剧……
Q后来发玎ͼfoodshop的暴力都写疵?jin)?#8230;…枚D开店的边后应该用SPFA求最短\Q因为删掉的可能是树(wi)边,剩下的不是树(wi)……不过数据弱,木有出现q种情况?#8230;…Q?br />
xNOI2013完挂?br />
———————————————————————————————————————————————————
【ȝ && 一些感惟?br />
从上面可以看出,本沙茶在NOI2013中用的法都是NOIP普及(qing)l以内难度的囧(matrix的矩阵乘法可能略高一些,但显然也不能过NOIP隑ֺQ?#8230;…
q些法都是本沙茶在2009q以前就搞懂的,也就是说Q后4q掌握的所有算法,q次都木有用?#8230;…
最后一ơNOIQ竟如此富有戏剧?#8230;…居然只考普?qing)组?#8230;…
图论、高U数据结构、字W串、几何、数论、组?#8230;…q次都木有考,q也是NOI历史上的一?#8220;创D”?jin)?#8230;…
但尽如此,本沙茶在此次NOI中仍然暴露出?jin)诸多问?#8230;…q不是比赛技巧问题,而是qx埋下的祸?#8230;…
想题不够灉|Q找不出题目隐藏的特D性质Q特D情况考虑不清楚,写代码速度太慢……q些都是qx不好好做题,天天颓废的结?#8230;…
因此Q这ơ挂掉,也是理所应当的事……
遗失?jin)过去,因此Q现在后(zhn)了(jin)…………………………………………………………………
不过Q不肿么讲Q还是q了(jin)集训?#8230;…集训队是一个新的开始,每天都面临巨大的挑战Q同时每天都能得到巨大的提高……
虽然本沙茶现在很弱,应付N的能力还q远不够Q但l过q一q的训练Q相信可以改变这一切,快p……
希望q能是一个{折点?br />
50Q?2Q?Q?Q??/span>
———————————————————————————————————————————————————
膜拜本次虐场犇
@鼎爷
@xudyh
@xyz111
@hzaskywalker(FFT)
@hzhwcmhf
@zhj
@g
@sunzhouyi
以及(qing)众多虐掉count、penman、foodshop的神?#8230;…

]]> - NOIP2012 完挂…?/title>http://www.shnenglu.com/MatoNo1/archive/2012/11/19/195376.htmlMato_No1Mato_No1Mon, 19 Nov 2012 09:58:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/11/19/195376.htmlhttp://www.shnenglu.com/MatoNo1/comments/195376.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/11/19/195376.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/195376.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/195376.htmlblockade写疵?#8230;…
在贪?j)的部分的一个x++忘写?jin)?#8230;…
再加上Day1完跪Q?strike>估计本沙茶这ơAH Top10都进不去?jin)?#8230;…明年省集训队有危险了(jin)?#8230;…Q据最新消息,׃AH太弱?jin),Top10q是E的?#8230;…Q?br />
看来q么长的l合题代码不Ҏ(gu)实很危?#8230;…
但又有谁让我写得q么慢木有时间对拍了(jin)?#8230;…
Z么挂得这么惨呢?
基本的模板写得太不熟?jin),一遇到l合题就慢,drive和blockade挂掉都是q个原因?#8230;…
q有Q一遇到长代码的题就畏惧……本沙茶在写blockade代码的时候,q写add_edge时手都在抖,?j)发?#8230;…以至于这?00-行的代码写了(jin)2h+……
之前的N多模拟赛Q本沙茶都考得很好Q但是有个毛?#8230;…毕竟当时q种cd的题木有?#8230;…
剩下木有可说的?jin)?#8230;…虽然q次挂了(jin)Q但是只要吸取教训,下次一定能nQ!Q!Q!Q!Q!Q?br />AHOI2013 我要复仇Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q!Q?/span>
Orz AK的大!Q?br />@hqztrue
@roosephu

]]> - 【AHOI2013复仇】NOIP2012 ȝhttp://www.shnenglu.com/MatoNo1/archive/2012/11/14/195019.htmlMato_No1Mato_No1Wed, 14 Nov 2012 13:04:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/11/14/195019.htmlhttp://www.shnenglu.com/MatoNo1/comments/195019.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/11/14/195019.html#Feedback2http://www.shnenglu.com/MatoNo1/comments/commentRss/195019.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/195019.htmlvigenereQ不说了(jin)Q?br />
gameQ?br />Ҏ(gu)一Q本沙茶在现场的做法Q?0分)(j)Q?br />设i的左x为A[i]和B[i]。二分最大的金币数DQ则Wi个h要满_前面所有hQ包括国王)(j)的A之积不超qS[i] = (D+1) * B[i] - 1?br />考虑站在最后的那个人,昄除了(jin)他以外的所有hQ包括国王)(j)的A之积不能过他的S|如果木有人满x条g则无解,否则取满x条g的A值最大的人,放最后(因ؓ(f)若某个合法方案最后不是满x条g的A值最大的人,则把那个A值最大的Z他交换,仍然是合法方案)(j)Q然后删掉这个hQ{化ؓ(f)子问题,直到所有h都删掉ؓ(f)止,此时必然有解?br />此方法时间复杂度为O(N2 * log2MAXW)Q其中MAXW为D的上限,׃60%的数据D<=109Q所以MAXW?09?br />昄q个Ҏ(gu)是不能再加高_ֺ?jin),否则必TQ问题是计算所有h的A之积时会(x)过long long范围Q解x法:(x)׃A和B的上限是104QD的上限是109Q所以有解时必然有所有h的A之积<=109 * 104 * 104 = 1017Q因此在q程中若过q个|必定无解Q直接卡掉?br />
Ҏ(gu)二(正解Q:(x)
把所有的人按照A*B递增排序Q就一定是最优解Q剩下的׃解释?jin)(需要高_ֺ乘除单精度)(j)?br />证明Q?br />若某Ҏ(gu)不是所有h按照A*B递增排序的,则必然存在i使得A[i]*B[i]>A[i+1]*B[i+1]Q这里的i是排序后的编P不是原来的编P(j)Q下证交换i?i+1)之后解必然不?x)变差?br />设i前面所有hQ包括国王)(j)的AgUؓ(f)S1?br />交换前,i的金币数为S1/B[i]Q?i+1)的金币数为S1*A[i]/B[i+1]Q?br />交换后,i的金币数为S1*A[i+1]/B[i]Q?i+1)的金币数为S1/B[i+1]Q?br />注意q里S1*A[i]/B[i+1]昄不小于S1/B[i+1]Q而S1*A[i]/B[i+1]-S1*A[i+1]/B[i]=S1*(A[i]*B[i]-A[i+1]*B[i+1])/(B[i]*B[i+1])>0Q因此交换前(i+1)的金币数不小于交换后i?i+1)的金币数Q而除?jin)i?i+1)外,其他人在交换前后金币数都不变Q因此ȝ金币数的最大g?x)变大,卌不?x)变差。证毕?br />
q两U解法都是贪?j),但它们是从不同的角度入手?#8212;—Ҏ(gu)一?#8220;分阶D贪?#8221;Q证明需要分别证最优子l构性质和贪?j)选择性质Q方法二?#8220;排序贪心(j)”——在一cLx优顺序的问题中,一般解法不是贪?j),是二分图或|络模型(当然数据也可以状压Q,如果用贪?j),只要扑ֈ一U排序方法(Ҏ(gu)个值排序)(j)Q得若不这h序则把相邻逆序的元素交换后能够得到不更差的解,做法是正确的?/strong>
driveQ(本沙茶想出正解了(jin)Q可是实在写不完Q后来交暴力?jin)?#8212;—真真真真真真真真真真真真真真真真真真真真真真真真真真真真真真(zhn)剧Q?br />首先求出S1[i]和S2[i]分别表示i往xq的和第二近的位|,q个用^衡树(wi)可以解决Q?br />然后Q每个位|i拆成两个点i.A和i.BQ分别表CZq里出发QA先开和B先开。i.A往S2[i].BQ如果有的话Q连一条边Q边权ؓ(f)两位|距,i.B往S1[i].AQ如果有的话Q连一条边Q边权ؓ(f)两位|距R由于不?x)有环(S1[i]、S2[i]?gt;iQ,所以是林?br />然后Q设F1[i]和F2[i]分别Zi走到根结点,A开的长度和B开的长度,q个BFS一下就可以?jin)囧?br />对于W一问,设W(wng)[i]Zi往上走Q总长不超qX0时最q能走到哪里Q显然只要从下到上求WQ类似单调队列ؕ搞即可;求出W后,枚D每个点iQ用记录的F1和F2值可以求出i到W[i]路径上A开的和B开的长度,找比值最的卛_Q?br />对于W二问,可以在求出森林后用树(wi)的\径剖分搞Q但更好的做法是倍增Q设SUM[i][k]表示从i往上走2k条边的总长度,SUM可以在预处理中求出,做第二问Ӟ只需要在SUM里调?yu)p?jin),一ơ操作的旉复杂度O(log22N)?br />昄q是个数据结构综合题Q巨J琐Q估计代码要过10KQ,本沙茶当时花?h+写,后来发现肿么也不可能写完?jin),׃暴力了(jin)囧Q早知道一上来写暴力?jin),q样或许能想出来game的正解啊啊啊啊啊啊啊啊啊……哭死……Q?br />
MDay1跪得不成人Ş?#8230;…
【Day2?br />mod: 不说?jin)?br />
classroomQ线D|(wi)是可以AC的,只不q要把两个操作(找最值和区间减法Q放一P
当然Q本题的正解是,二分M0Q然后看前M0个操作是否能全部满Q将每个操作(l, r, D)拆成(1, r, D)?1, l-1, -D)Q当l>1Ӟ(j)Q这h有操作的左端炚w??jin),设S[i]为右端点为i的所有操作的D之和Q这个显然可以在U性时间内得到Q则点i的变化量是S[i..N]之和Q这个在求出S[i]后从后到前扫描一下即可得出,也是U性,如果所有的变化量加上原来的值都不小?Q则前M0个操作都能满I否则׃是都能满?br />q样Q时间复杂度仍是O(NlogM)的。更好的Ҏ(gu)是,借鉴倍增的思想Q如果前M0个可以满I把前M0个都满Q把所有点都加上变化量Q,接下来就不用考虑前M0个操作了(jin)Q只在后面l二分。这P法的时间复杂度是U性的?jin)?br />
blockadeQ?br />
【首先每个军队往上走当然是最好的Q但不能在根上停住?br />因此Q二分最长时间DQ注意D<=5*10^13Q,然后先看不能走到根的军队Q一直往上走直到旉C(jin)?br />然后看能走到根的Q先让他们全到根上,然后Q对于那?#8220;q有叶结Ҏ(gu)有被控制?#8221;根的子树(wi)Q防止断句错误)(j)Q用那些走到根上的来控制Q用贪心(j)解决……
本沙茶就q么写的Q写?80+行,也查完了(jin)Q可是在l束?min时突然发现漏?jin)一U情?#8212;—
某些能到根的军队可以不走到根Q直接停在根的子l点处,控制q棵子树(wi)?br />可是已经来不?qing)?jin)Q最后就木有考虑q种情况……而且q种情况q比较普?#8230;…?br />q种情况的解军_法:(x)
如果某个军队能走到根Q但让它再走一步,走回到它所在的那个根的子结点,来不及(qing)?jin)的话,p它停在根的子l点处,控制它自q子树(wi)。这是因为,如果它去帮别的子?wi),必然有W三个军队要来帮它。设它所在的那个根的子结点ؓ(f)BQ它d的子l点为AQ帮它的W三个军队所在的根的子结点ؓ(f)CQ由于它自己C回来Q所以第一ơ走到根的子l点处的剩余旉T<2*W(root, B)Q而它能去帮别的子l点Q所以T>=W(root, A)+W(root, B_Q可得出W(root, A)<W(root, B)。第三个军队能来帮它Q所以第三个军队剩余的时?gt;=W(root, B)+W(root, C_Q自?gt;W(root, A)+W(root, C)Q所以这W三个军队也能去帮AQ因此,让原来的军队停在BQ第三个军队dAQ也是合法方案?br />注:(x)本题灰常ȝ(ch)Q需要用到树(wi)DFS、BFS、倍增Q这个和drive肿么一样啊?#8230;…Q,本沙茶写的时候还用上?jin)线D|(wi)?#8230;…
MDay2也跪?jin),但不像Day1那么惨囧……
MDay2比Day1跪得更惨?#8230;…

]]> - 【AHOI2013复仇?1月的NOIP模拟赛ȝhttp://www.shnenglu.com/MatoNo1/archive/2012/11/09/194983.htmlMato_No1Mato_No1Fri, 09 Nov 2012 13:36:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/11/09/194983.htmlhttp://www.shnenglu.com/MatoNo1/comments/194983.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/11/09/194983.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/194983.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/194983.html水题׃说了(jin)?#8230;…
?】Oct.30 TYVJ “扫地”杯III NOIP2012模拟?day1
Q本沙茶q个其实木有参加Q是之后捉的……q好AK?jin)?#8230;…Orz liouzhou_101Q!Q?br />W一题:(x)
若n=1Q则只有当y=x*x时才有唯一解xQ这个一定要特判Q;
若n>1Q由柯西不等式得(a22+a32+...+an2)(1+1+...1Qn-1?Q? >= (a2*1+a3*1+...+an*1)2Q?br />?n-1)(y-a12)>=(x-a1)2Q当且仅当a2~an全部相等时等h立?br />昄a1的最大、小g定是零点Q也是求方E?n-1)(y-a12)=(x-a1)2的解的问题,?#916;<0则无解,否则求两解之U,可用Vieta定理得出?br />
W三题:(x)
先求出最短\图(求出S到每个点的最短距dist0[]和每个点到T的最短距dist1[]Q然后边<i, j>属于最短\囑ֽ且仅当dist0[i]+<i, j>长度+dist1[j]{于S-T最短\长)(j)Q然后那些能炸掉的点是最短\囄S-T割点Q当然S、T本n不能,另外Q最短\囑օ实应该是个有向图Q但q里当做无向囑֤理)(j)Q只要对S、T所在的q通块做Tarjan卛_?br />注意q里最短\的求法:(x)SPFA或许也能q,但由于其不稳定,在比赛的时候如果时间够的话q是写Dijk+heap吧囧……
?】Nov.2 TYVJ 「Clover 10」杯HE两校联赛(W二轮Day1)
Q这个也木有参加Q是之后捉的……另外说一下,W二题的题目描述与数据不W)(j)
W三题:(x)
正解?a title="This_poet" >This_poet犇的空间?br />q里说一下本沙茶的方法(70分)(j)Q?br />设F[i][s]表示对X[1..i]q行讄Q范围是[1..s]Q且?能够“走出?#8221;Q走到大于i的结点)(j)的方案LQ这里有s>i?br />枚D“指出?#8221;QX值大于iQ的最的l点为jQ?<=j<=iQ,则有
F[i][s]=∑(F[j-1][i] * (s-i) * si-j)Q?<=j<=i?br />边界QF[0][i]=1Q本w木有意义,在乘的时候作为单位元Q?br />q很Ҏ(gu)理解。j是要指出ȝQ因此i+1<=X[j]<=sQ有(s-i)U;对于X[1..j-1]Q由于j是指出去的最结点,所以它们都不能指出去,XD?..iQ但是它们必?#8220;指出j-1"Q就是走到j?qing)其后面的部分,否则׃?x)被困住,自然也就C出去?jin),所以是F[j-1][i]Q对于j+1..iQ它们可以随便指Q?<=X?lt;=SQ因此是si-j?br />但是Q这个递推式再也无法优化下M(jin)Q题目要求O(N2)昄无法办到?br />而在正解中,我们兛_(j)的不是从1能不能走出iQ而是?最q能走到哪里?/span>q时列出来的递推式就很容易优化到O(N2)。所以,在递推和DP问题中,思\的不同,会(x)引发完全不同的结果,当一个递推?转移方程无法优化下去的时候,可以换一个思\来求解?br />
?】Nov.3 TYVJ 「Nescafé 29」杯HE两校联赛(W二轮Day2)
W一题:(x)
二分rQ求出每个半圆能覆盖到的U段Q再看这些线D늚q是否ؓ(f)[0, x0]卛_。问题就是求U段q的操作是比较易늚?br />首先所有线D|照左端点递增排序Q然后扫描每条线D,q记录目前线D达到的最右位|(是右端Ҏ(gu)大|(j)maxrQ若某条U段的左端点大于前面的maxr则不能覆盖,扫描完了(jin)以后Q再看第一条线D늚左端点和所有线D늚maxr是否W合要求卛_?br />但是Q对于本题要注意Q(1Q由于有可能相离Q因此最后的U段数可能不N条,其要注意一条线D都木有的情况;Q?Q?span style="color: red">Q极其易疵)(j)题目只要求覆盖线D[0, x0]卛_Q因此,即在x0双发现?jin)中断处Q左端点大于前面maxrQ,也木有关p!Q?/strong>Q本沙茶当时在q里搞疵?jin),跪?jin)2个点Q;
W二题:(x)
本沙茶当时用搜索骗?#8230;…可是它的数据实在太弱Q本该AC的(最后还是跪?jin)一个点Q原因是卡时QZZZ = ?? / m0Q忘?jin)考虑m0=0的情况)(j)Q?br />首先求出囄每个q通块Q如果某q通块内的所有结点初始权g和不为零Q无解。否则求?gu)个图的最生成森林(用KruskalQ,作ؓ(f)初始解(其实很多情况下这是最优解囧)(j)?br />然后开始DFSQ用改变搜索顺序优化:(x)先考查两端Ҏ(gu)值都不ؓ(f)零且为相反数的边Q因{UM后可产生两个0点)(j)Q再考查两端Ҏ(gu)值都不ؓ(f)零且不ؓ(f)相反数的边(转移之后可生一?点,注意双向转移Q,最后考查两端Ҏ(gu)值有一个ؓ(f)零的边(?点{U,不会(x)产生新的零点Q,其它的决{显然不明智。此外每条边只能转移一ơ?br />当然直接q样搜肯定是要T的,但最优解?x)很快求出,因此可以卡掉。这题可以加启发函数Q但本沙茶不加也木有事囧……
W三题:(x)
递推式不说了(jin)。注意满x件的?wi)的高度的范围其实很?lt;=16Q,所以在扑ֈ高度上下界之后是不会(x)T的。注意对于结果小?0^8的处理(不需输出多余?Q,此时N<=34Q?br />
?】Nov.5 VIJOS NOIP2012模拟赛第三弹
W一题:(x)
Ҏ(gu)证明Q最优解中虫z的左端点一定是最左的炏V?br />二分最大距distQ然后离最左的点距?lt;=dist的显焉能走刎ͼ>dist的则只能使用虫洞。设L左的点距?gt;dist的左L(fng)一个点为SQ则从S往x举每个点z右端点ӞS的距dL右点的距L否都不大于distQ若都小于,则右端点可以在这里,distW合条g?br />
?】Nov.7 TYVJ NOIP2012提高l模拟赛day1
全是水题Q不说了(jin)。注意第二题是保留整数而不是四舍五入,W三题的“?#8221;不是“差的l对?#8221;Q!Q!Q!Q!Q!Q!Q!Q?br />
?】Nov.8 TYVJ 「Poetize 10」杯NOIP2012提高l模拟赛day2
W一题:(x)
首先要模型{化一下,题目是Q在一|(wi)上,每个l点都有一个权|除根l点外,每个l点都有一个容量(q个定w在题目中是体现在父边上的Q,选定若干l点Q得树(wi)中除根结点外的每个结点子?wi)中选定l点的权g和都不大于其定wQ问最多能选多结炏V?br />׃数据范围,本沙茶用cM?wi)Ş背包的DP搞掉了(jin)Q其实是可以贪心(j)的囧……结Ҏ(gu)权值递增排序Q每ơ选择一个所有祖先容量全部够的权值最的l点Q最后得到的一定是最优解?br />证明Q由于决{之间不互相影响Q最优子l构性质昄满Q下证贪?j)选择性质。设目前所有祖先容量全部够的权值最的l点为AQ某Ҏ(gu)中权值比A的l点的选定情况Q就是之前的状态)(j)与选A的方案相同,但木有选A。设该方案中选定的权g于A且与A的LCA深度最大的l点为BQLCA(A, B)=PQ由于B的权g于AQ所以若B删掉QA选上Q其到根的\径上P?qing)其以上的部分显然不会(x)超q容量限Ӟ对于P以下的部分,׃P是最qLCAQ因此P以下的部分根本木有被权g与A的结Ҏ(gu)占用Q因此肯定也不会(x)有事Q所以,B删掉、A选上Q将得到一个不比原Ҏ(gu)差的可行Ҏ(gu)Q所以贪?j)选择性质满。综上,贪心(j)法是正的?br />
W二题:(x)
先将区间按照右端炚w增排序Q然后扫描:(x)讄前区间的右端点ؓ(f)rQ上一个区间的右端点ؓ(f)r0Q这里忽略右端点相同的情况,卛_有r>r0Q,则在[r0+1, r]q一D里的最优解有两U可能:(x)Q?Q若目前区间?qing)其之后的区间内有左端点于r的,则最优解为rQ(2Q若目前区间?qing)其之后的区间的左端点全部不于rQ则[r0+1, r]q一D里各个值的能量d均相同,Z证最,最优解为r0+1?br />接下来的问题是如何快速求出E=r或r0+1时的能量d。显然在之前的区间里都不能获得能量,后面的区间内Q左端点于{于E的区间的能量为左端点的|否则为E。由于前面的区间的右端点都小于EQ左端点自然于{于EQ所?#8220;后面的区间内Q左端点于{于E的区间个?#8221;是全部区间内左端点于{于E的区间个敎ͼq个可以在预处理中将所有左端点递增排序之后用二分查扑־出,q些区间的左端点和g可以记录一个S值来得出Q而左端点不小于E的区间个数就?该区间及(qing)其后面的区间L-左端点小于等于E的区间个??br />L间复杂度O(NlogN)Q?br />
W三题:(x)
q个题真是折腾死Z(jin)?#8230;…其实做法很简单,但巨难想?#8230;…
首先把待匚w字符Ԍ设ؓ(f)AQ匹配串设ؓ(f)BQ展开?倍的形式Q所有的循环串就是所有长度ؓ(f)N的子串了(jin)?#8230;…
设F[i][j]为AQ展开后的Q第i个字W往前,臛_到哪才能与B[0..j]匚wQ也是所有能与B[0..j]匚w的A[k..i]中的k的最大|(j)。显然这样一_(d)转移方程出来了(jin)囧:(x)
若B[j]="*"Q则F[i][j]=max{F[k][j-1], k<=i}
若B[j]≠“*”Q则F[i][j]=F[i-1][j-1]Q当A[i]=B[j]Ӟ(j)?INFQ当A[i]≠B[j]Ӟ(j)Q注意边界:(x)j=0ӞB[j]必ؓ(f)"*"Q根据下面的假设Q,此时F[i][j]=i+1Q不是iQ!Z(jin)后面的决{)(j)Q而i=0Ӟ若B[0..j]均ؓ(f)“*”则ؓ(f)1Q不?Q同理)(j)否则?INF?br />对于max{F[k][j-1], k<=i}q里Q显然可以用辅助数组搞定Q注意辅助数l是要滚动的Q否则会(x)MLEQ其实F也可以滚动)(j)Q?br />接下来,若B[0]="*"Q则求出F之后只需要看对于每个iQi>=N-1QN为原长)(j)QF[i][M-1]QM为B的长度)(j)是否>=i-N+1卛_Q因为前面的部分都可以用q个*q掉?br />若B[0]≠"*"Q则B最前面的不?*"的部分拿出来Q显然这里是要硬性匹配的Q因此先求出q里能匹配A的哪些位|(KMP用不用都可以Q,B剩下的部分按照B[0]="*"处理Q只是最后在扄时候只能找原来B前面性匹配的部分可以配上的位|?br />若B里面木有"*"Q就是普通的字符串匹配的问题?jin),直接特判掉(同样不必KMPQ。这个比较容易漏掉?br />L间复杂度O(NM)?br />
———————————————————————————————————————————————————
大概也就q么多了(jin)?#8230;…以后再也木有NOIPU别的模拟赛?#8230;…真希望明q?月做NOI模拟赛也能像现在q样啊囧……
———————————————————————————————————————————————————
后记Q模拟赛成Wq么好,最l还是挂?#8230;…谁叫自己怕繁琐题呢囧……

]]> - 【AHOI2013复仇】最q的三次模拟赛ȝhttp://www.shnenglu.com/MatoNo1/archive/2012/10/24/193769.htmlMato_No1Mato_No1Wed, 24 Oct 2012 07:27:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/10/24/193769.htmlhttp://www.shnenglu.com/MatoNo1/comments/193769.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/10/24/193769.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/193769.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/193769.html
??Sept.29 「Poetize」杯NOIP模拟?VI
W一题(TYVJ P1962Q:(x)
枚D?qing)其优化?br />设F[i][S]Z的方案ؓ(f)SQ用10位二q制表示Q时Q能不能表示出整数iQ?<=i<=100Q,q个昄可以预处理出来,然后所有的状态S按照“W一关键字ؓ(f)买的个数递增Q第二关键字为题目中的T递增“排序。枚举时Q只需要按照排序后的顺序从前到后枚丄态,扑ֈW一个能表示出所有给出的整数的状态即可。最坏情况下?0000*1024*10Q会(x)TQ但题目中木有这L(fng)数据?#8230;…
W二题(TYVJ P1963Q:(x)
DPQ思想非常另类的那U?#8230;…
每秒只有三种可能状态:(x)不进?0)、准备进?1)、进?2)Q且0的下一个状态是0?Q?的下一个是2Q?的下一个是2?Q所以,假设旉是顺序的Q设F[i][j][x]表示前iU中状??的有jU,WiU的状态是x的最大?#8230;…Q剩下的不说?jin),注意W一个状态必L0?Q?br />下面考虑旉是环形的情况。可以发玎ͼ只要每两个相?c)态都满“0的下一个是0?Q?的下一个是2Q?的下一个是2?”Q就是合法的Q不q,最后一个状态也有下一个状态:(x)W一个(因ؓ(f)旉环ŞQ?br />如果N=BQ则所有的状态都可以??Q只需要找到U值最的那一U,它的状态设?Q其它状态设?卛_Q(特判掉)(j)
如果N>BQ则必然有状态ؓ(f)0Q也是可以从它开始。所以,旉仍然可以按照序的看待,只是注意若第一个状态是2Q则最后一个状态不能是0——第一个状态ؓ(f)0?的与?的分开处理卛_?br />注意QN=0与N=1旉要特判?br />
W三题(TYVJ P1964Q:(x)
Z(jin)描述方便Q可以将q个序列在格子中表示Q如下图Q表C序?3, 4, 5, 4, 6, 3)Q?img border="0" alt="" src="http://www.shnenglu.com/images/cppblog_com/matono1/描述所用图?TYVJ1964.jpg" width="313" height="303" />
设最l的序列中每个数都ؓ(f)S。以下vWS行ؓ(f)界,上方的黑格需要消去,下方的白格需要补上。由于题目中只允许每ơ对q箋的一D加1或减1Q也是消去同一行连l的一D黑格或补上同一行连l的一D늙|所以,Ҏ(gu)证明Q此时的最操作次数就是(下vWS行上方各行的q箋黑格D|之和+下vWS行下方各行的q箋白格D|之和Q。因此,问题是枚DSq维护这个和倹{?br />首先Q预处理出S=0的和倹{此时只有黑格段没有白格Dc(din)虽然行数很多,但本质不同的行最多只有N个,所以可以在O(N)旉内求出(当然先要q行一个O(NlogN)的排序)(j)。具体求法就不说?jin)?#8230;…
然后Q考虑当S?开始增加时Q和值如何变化。显?dng)S从x增加到x+1Q和值的增量?Wx行的白格D|-W?x+1)行的黑格D|)。由于每一行都是白D与黑段交替的,所以,若第x行与W?x+1)行本质相同,则和值增量只可能?Q第x行最左边和最双的格子都是白的)(j)?Q第x行最左边和最双的格子一白一黑)(j)?1Q第x行最左边和最双的格子都是黑的)(j)。第一个和最后一个格子的颜色只与最初序列中W一个和最后一个数有关Q且必然下v一开始若q行都是-1Q然后是0Q再然后?……也就是和g开始不断减,然后不变Q然后不断增加,那么Q不变阶D늚和值就是最|光度就是最值的个数Q?br />问题是如果第x行到W?x+1)行发生改变肿么办。此Ӟ必然在原序列中有元素gؓ(f)xQ只需要把它们所在的位置的颜色从黑的改ؓ(f)白的卛_。注意,在维护段数的时候,需要考虑到该格的盔R的格子的颜色Q还需要注意边界。这L(fng)操作有Nơ,所以,旉复杂度是O(N)的?br />lgQ可以求出在每一个本质不变的行段内的最值及(qing)其个敎ͼ取最的卛_。L间复杂度为O(NlogN)Q最初的排序Q?br />
?】Oct.4 「Poetize」杯NOIP模拟?VII
W三题(TYVJ P1993Q:(x)
注意CQ意一个数能一步变换到辄数最?*10+C(10, 2)=135个,只需要枚举一下,然后用二分查找找?gu)个数在不在(不能用HashQ会(x)扎堆Q,若在p一条边Q然后求q个囄s-t最短\卛_Q需要用Dijk_heapQSPFA估计?x)被卡,注意手写堆,不要priority_queueQ。这样对于题目中的数据可以卡UK过Q最坏情况下仍然?x)TQ估计正解是某种设计比较好的HashQ。注意,使用DL边表Ӟ需要在I间上作一些优化,否则可能MLE?br />
?】Oct.20 Tyvj三周q邀(g)误
W一题(TYVJ P2011Q:(x)
压位卛_?br />
W三题(TYVJ P2013Q:(x)
首先转移方程是很好搞?#8230;…F[i]为前i个数的最大权|则F[i]=max{F[i-1], F[j]+A[j+1]*B[i], 0<=j<=i-2}Q边界:(x)F[0]=F[1]=0。问题是如何优化?br />首先Q由于A、B序列木有单调性,一般的斜率优化是不行的?#8230;…
注意F[j]+A[j+1]*B[i]Q当F[j]求出来之后,q个其实是一个自变量为B[i]的一ơ函敎ͼ也就是一条直U(斜率A[j+1]Q纵截距F[j]Q,而且Q由于B非负Q所以这其实只是q条直线在y轴右侧的部分Q射U!Q)(j)
本题需要维护的是q些线l成的下凸壳。注意,F数组是递增的,也就是插入的线的纵截距递增。这P插入线y=A[j+1]*x+F[j](x>=0)Ӟ(0, F[j])q个点要么在原来的凸壳上Q如果大于上一个F[j]Q,要么在原来的凸壳内部?br />如果在内部,则这条射U与原来的凸x多只有一个交点,因此只需要从左到x描原来的凸壳的边Q这些边除了(jin)最右一条是线外,其余都是U段Q,一开始的在待插入线下方的边都删去,直到扑ֈ一条边与该线怺或者所有部分都删去为止。若某条边与待插入射U相交,则删d在待插入线下方的部分,再插入新线Q否则直接插入新线Q?br />如果在凸壳上Q那么新线有两U可能:(x)一是斜率不大于上一条射U的斜率Q此时该线完全在凸壛_或凸壳上Q直接舍弃;二是斜率大于上一条直U的斜率Q此Ӟ把原来凸壳上最左的那条边删掉,再按照内部的情况处理卛_Q?br />求F[i]Ӟ扑ֈx=B[i]与凸壳的交点卛_Q?br />昄Q这些边可以用一个栈来维护(本沙茶一开始以为是队列Q写完了(jin)以后才发现是?#8230;…于是代码中按照队列的格式来写的囧……Q,每条线最多进栈一ơ,出栈一ơ,加上二分查找的时_(d)L间复杂度O(NlogN)?br />写的时候注意一些细节,其要注意的是,出F[i]后不能马上插入射UiQ而要在F[i+1]出后才能插入,因ؓ(f)j<=i-2Q!Q同L(fng)Q一开始也只能插入0Q不能插?Q?br />
代码Q?br />P1962 P1963 P1964 P1993 P2013 
]]> - 【AHOI2013复仇】最q的模拟赛ȝhttp://www.shnenglu.com/MatoNo1/archive/2012/08/31/188598.htmlMato_No1Mato_No1Fri, 31 Aug 2012 10:05:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/08/31/188598.htmlhttp://www.shnenglu.com/MatoNo1/comments/188598.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/08/31/188598.html#Feedback1http://www.shnenglu.com/MatoNo1/comments/commentRss/188598.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/188598.html那些有代表性的题目ȝ一下?br />
Q?QAug.16 Poetize 杯NOIP模拟?I
Q竟然AK?jin),虐场虐得真爽Q?br />W一题:(x)Ҏ(gu)发现如果新加入的那条边连接的是同一个连通块Q结果乘2?Q如果是不同的连通块Q结果不变。证明:(x)如果新边(i, j)的是同一个连通块Q则原来i到j必然有\径,设P为i到j的一条\径,则在加入新边以前Q原囄所有满x件的子图都可以对P异或后得C个新的图Q该图仅有i、j两个的度为奇敎ͼ其余点的度均为偶敎ͼ加入(i, j)之后得到一个新的满x件的子图Q所以乘2Q注?i, j)加上P也是一个满x件的子图Q所以加1Q如果原来i和j不在同一个连通块中,那么必定不存在包?i, j)的满x件的子图Q否则这个子囑ְ(i, j)删掉后会(x)得到两个点度数和ؓ(f)奇数的连通块Q这是不可能的)(j)Q所以不变;
Q?QAug.17 Clover 杯NOIP模拟?I
W一题:(x)判断一个点是否在三角ŞQ其实对于所有的凸多边Ş都是q样Q时Q不需要引线Q只需把三角Ş的三个顶Ҏ(gu)逆时针排序,然后判断该点往三角形的三对盔R点Q按逆时针)(j)的叉U是否都非负p?jin)?br />W三题:(x)枚DL(fng)Q然后状态压~DPQ注意最后一个点必须压羃一下才能不MLEQ?br />
Q?QAug.18 Vijos复活邀(g)误
W一题:(x)比较WS的几何题。判断圆与边q于坐标u的矩形是否相交的时候,可以采用以下的简便方法:(x)一个圆与一个边q于坐标u的矩形相交,当且仅当矩Ş的四个顶点至有一个在圆内Q或者圆的四个横U坐标最值点Q最上、最下、最左、最右的点)(j)臛_有一个在矩Ş内,或者圆?j)在矩Ş内?br />W三题:(x)主要隑֜s-t两条路径怎么扑և来的问题Q方法:(x)以s为根建有Ҏ(gu)(wi)Q找到到t的\径后Q将那条不在?wi)中的边的两端点到根的\径上的所有边都标CQ然后,若这|(wi)中s-t路径上的所有边都没标记Q则s-t只有一条\径,否则任选一条s-t路径上的标记边删掉,然后再以s为根Zơ有Ҏ(gu)(wi)Q就可以扑ֈW二条s-t路径?jin)?br />
Q?QAug.19 [Vani有约?x)]杯邀(g)误 II
W二题:(x)本沙茶的80%做法有点另类Q是状态压~DPQ因为对于N<=800的数据,只有2????1?3?7?9?3q?个质数可能出Cơ以上,其余的都只会(x)出现一ơ,所以徏?0个容器(别忘?Q,分别分配1和这9个质敎ͼ再对剩下的质数状态压~即可(一开始只Z(jin)9个容器,l果N=27挂了(jin)Q;
Q?QAug.20 『Citric杯』NOIP提高l模拟赛 I
W一题:(x)q也太太太坑爹了(jin)吧囧……居然在精度上做手脚(Orz @sillycrossQ,注意用long doublep?jin),不过正解是变除法Z法;
Q?QAug.21 squarefk NOIP模拟?/font>
W三题:(x)对于一个这L(fng)序列A[0..N-1]Q?<=Ai<=UiQ设F(A)?A?元素的个?^(A的所有非0元素的乘U)(j)Q问题就是求所有A的FgU。显?dng)指数是不能取模的Q所以要设F[i][j][k]为前i位j个非0Q底Cؓ(f)k的|递推式还是很Ҏ(gu)的囧Q?br />
Q?QAug.22 Clover 杯NOIP模拟?II
W二题:(x)问的是无向图中两炚w是否有且仅有一条\径的问题。首先肯定是判是否在同一q通块Q然后,Ҏ(gu)个连通块LZ는成树(wi)Q如果这两点在生成树(wi)上的路径上的每条辚w是桥Q显然只有一条\径(因ؓ(f)每条辚w必须l过Q,否则Q必有其它的路径Q某条边不是桥,也就是可以不l过Q,所以求桥之后就转化Z(jin)一个经典模型了(jin)?#8230;…注意求LCA用类D\径剖分的法比较好写……
W三题:(x)很容易想到递推QF[i][j]Q用i个布条,最后一个颜色ؓ(f)jQL案数Q下面的不解释了(jin)Q,问题是,如果臛_有一U颜色能和两个或两个以上的颜色相配,q不?x)有事,因?f)l果一定不?x)超qlog2(1018)Q但如果每种颜色都最多只能和一U颜色相配肿么办Q因此这个需要特判:(x)首先那些不能和Q何颜色相配的肯定只能长度?Q减掉,然后剩下的每U颜色开始的每个长度的旗帜都各有一个,除以颜色LQ上取整Q即可?br />
Q?QAug.23 Poetize 杯NOIP模拟?II 暨Tyvj龙年七夕Ƣ乐?/a>
Q第一题正解是贪心(j)Q本沙茶用费用流乱搞QT?jin)两个点Q?br />W三题:(x)A先mod B消去整数。首先考虑有限数的情c(din)结果是有限数Ӟ讑ְ数点后位Cؓ(f)MQ则必有A*K^M mod B=0Q显然这个方E有解的充要条g是B的每个质因数也都得是A*K的质因数Q只要把B的质因数当中减掉A的,再看看剩下的质因数K是不是都有,都有的话剩下的就是ؕ搞一下了(jin)?#8230;…如果不都有说明是循环数Q设混@环部分位Cؓ(f)MQ@环节位数为RQ则有A*(K^(M+R)-K^M) mod B = 0Q整理得A*K^M*(K^R-1) mod B = 0Q注意K^M?K^R-1)是互质的Q也是把B的质因数中减掉A的之后,剩下的每个质因数Q要么就是K有,要么是(K^R-1)有。这P可以用类g有限数的办法来求出MQ对于剩下的QK没有的)(j)质因敎ͼ讑֮们的U(包含指数Qؓ(f)WQ则必有K^R mod W = 1QK和W(xu)互质Q根据欧拉定理,phi(W)必然是一个解Q但不一定是最正整数解,不过Q可以肯定的是,最正整数解一定是phi(W)的因敎ͼ不一定是质因敎ͼQ)(j)Q因最正整数解R0不是phi(W)的因敎ͼ设phi(W)=P*R0+QQ?<Q<R0Q,因ؓ(f)K^(P*R0+Q) = (K^R0)^P * K^Q mod W = 1Q?K^R0)^P mod W昄也是1Q所以必有K^Q mod W=1Q这样就得到?jin)一个比R0q小的正整数解QQ这与R0是最正整数解矛盾。因此,枚Dphi(W)的因敎ͼ再用快速幂判断卛_?br />
Q?QAug.25 『Citric杯』NOIP提高l模拟赛 II
W一题:(x)q也太太太太太太太太太太太太太太太太坑爹?jin)吧?#8230;…其实题目描述有漏z的Q因为题目中q木有说表示l束的询问一定是输入的最后一?#8230;…
W三题:(x)q题本沙茶的做法巨另cM巨繁琐(当字符串算法的l合复习(fn)?jin)?#8230;…Q,首先一头一两D늚字符串还是很好找?#8230;…l尾的那D늛接枚N度,开头的的那D可以在整个字符串左边用一个类似KMP的办法搞Q其实只要知道KMP的原理就能用它解决N多奇牚w题了(jin)?#8230;…Q,隄在于中间的那D字W串Q需要是一个长度ؓ(f)奇数的回文串。ؓ(f)?jin)快速找ZD连l子串里最长的长度为奇数的回文Ԍ可以设G[i]ZiZ?j)的最长回文串长度Q这可以整个字W串逆序一下后接在原串后面Q注意中间要加一个未出现的字W)(j)Q然后用后缀数组解决Q经典模型)(j)。注意在找最长回文串的时候不能直接求中间G[i]的最大|因ؓ(f)可能延出去Q正解是二分枚Dq个长度Q然后在中间不会(x)延出去的那一D里找G的最大|看是否符合要求。L间复杂度O(NlogN)?br />
Q?0QAug.26 RQNOJ2012q八月月?/a>
W二题:(x)比赛的时候本沙茶用单调队列硬搞搞不出来,后来写朴素了(jin)Q?zhn)剧?j)……正解是将所有的前缀和按照先值递增Q再下标递减排序Qƈ串成Dancing LinkQ然后从按下标从大到依ơ删掉每个前~和,q样Q每个前~和左边的那个一定是比值比它小的前~和中值最大(值相同则下标最)(j)的那个,剩下׃解释?jin)?#8230;…
Q?1QAug.28 「Clover」杯NOIP模拟?III
W三题:(x)先把每条无向Ҏ(gu)成两条有向边Q然后对q个有向图求源点?的单源最短\径图Q就是由所有满D[i] + W<i, j> = D[j]的边<i, j>l成的图Q,昄从这个图的点1开始无论怎么走都是最短\径,而且q个图显然是无环的(因ؓ(f)原图中的每条Ҏ(gu)值都是正敎ͼ说实话,如果不满个条Ӟq题巨隑ց?jin),臛_本沙茶不?x)做了(jin)?j)Q题目中要求的树(wi)是在这个新图中从点1开始的一外向树(wi)Q由于这个新图无环,所以只需要将每个点(除了(jin)1Q都找一个父l点p?jin),l果是?外的所有点入度之积?br /> 
]]>
˳ŷþ
|
þù|
ɫۺϺϾþۺӿ|
ŮþþƷ㽶69|
wwwɫ˾þþƷ|
ɫþAVۺ|
þþþùƷ۲ӰԺ|
ƬҹƬþ
|
þþþþþòҰ¸߳|
þþƷAV㽶|
99ŷþþþƷѿ|
ƷþþӰԺӰƬ|
þݹƷһ|
ۺϳ˾þС˵|
þþƷŮAV|
˼˼þ99ֻƵƷ66|
ŷ˾þô߽ۺ|
þ㽶һëƬ|
þAV˳
|
þþƷAAƬһ|
þŷƷ|
þùƷҰAV|
þþþ99ƷƬëƬ
|
պݺݾþ͵͵ɫۺ0|
þ99Ʒþþþþ9|
99Ʒþ|
7777Ʒ˾þþô߽|
þһ|
91Ʒɫ۾þ|
ɫۺϾþ88ɫۺ|
þ99ƷСѼ|
þ99Ʒþþþ|
þó˹Ʒ|
þƵ|
þav뾫Ʒ˳|
þeֻйľƷ99
|
þݺҹҹ2020һ|
ղƷþþþþþ|
һþþƷһ|
þþavҰһ|
ƷþAAAƬ69|