
HNOI
Rayment_cc
++Rp
展开
-
BZOJ 3142 HNOI2013数列
ProblemBZOJSolution我们考虑每天的增幅对答案的贡献。不妨设其为数列a[1..k−1],a[i]∈[1,m]a[1..k−1],a[i]∈[1,m]a[1..k-1],a[i]\in [1,m]因为第一天的初值可以在[1,n−∑k−1i=1a[i]][1,n−∑i=1k−1a[i]][1,n-\sum_{i=1}^{k-1} a[i]]中平移,则其对答案的贡献为...原创 2018-03-18 22:05:22 · 288 阅读 · 0 评论 -
BZOJ5287 HNOI2018毒瘤
ProblemBZOJSolution顾名思义,如果不是暴力分比较多,的确是一道很毒瘤的题。。题面中所谓的联通操作就是保证互斥的连边后,是一个连通图。我们从树的状态考虑起。不妨设f[x][1/0]表示子树x中x选/不选时合法的方案数。 容易得到转移方程f[x][1]=∏f[son][0],f[x][0]=∏(f[son][0]+f[son][1])f[x][1]=∏f[son...原创 2018-06-13 14:39:56 · 395 阅读 · 0 评论 -
BZOJ2329 HNOI2011括号修复
ProblemBZOJSolution考虑询问,如果我们把相互匹配的括号删除,那么我们最终会得到形如)))(的序列。 对于这样一个序列,我们不妨贪心。将左边连续的l个右括号,从第一个到(l+1)/2分别改为左括号。对右边则反之。 那么当l为偶数时,左边会变得合法。当l为奇数时,会多余一个左括号,但由于题目保证了有解,即l+r为偶数,这个多余的左括号将与右边的多余右括号匹配。 这样...原创 2018-05-21 14:05:44 · 229 阅读 · 0 评论 -
BZOJ3572 HNOI2014世界树
ProblemBZOJSolution虚树+dp,但是dp挺难写的 写什么dp咯,分情况讨论+模拟可是O(n)的详细说一下dp吧。我们设bel表示这个点最近的关键点,直接dp儿子,然后比较子树中的答案是否更优。但是最近的关键点可能并不在子树中,那么我们还需要重新再判断一下,是否父亲的最优答案可以更新儿子的最优答案。可以用两边dp解决。 怎么统计答案?不妨直接对虚树上的边进行考虑...原创 2018-06-11 14:31:20 · 254 阅读 · 0 评论 -
BZOJ 4826 HNOI2017 影魔
ProblemBZOJ题外话这道题有点类似于HNOI2016序列。好像并没有莫队做法,但是挺想打莫队的。。Cai表示莫队被卡了: Solution先用单调栈处理出每个点的pre和nxt,即左边和右边第一个比更大的位置。 考虑对于点i,在区间[pre[i],nxt[i]]之间,p1只对于点对(pre[i],nxt[i])和相邻点对有贡献。当然了,pre[i]和i的...原创 2018-04-04 22:06:05 · 275 阅读 · 0 评论 -
BZOJ 4011 HNOI2015 落忆枫音+简要题意
ProblemBZOJ其实前面的背景对题目并没有什么帮助。 给出一张DAG,并再加入一条边x->y,问有多少棵生成树? 保证原DAG上的一号节点入度为0。Solution我们用in表示节点的入度,那么对于原DAG上的答案就是∏ni=2in[i]∏i=2nin[i]\prod_{i=2}^n in[i]。正确性显而易见,只要对于除1外的节点都选择一条入边即是一棵生成树。...原创 2018-03-27 19:57:02 · 304 阅读 · 0 评论 -
BZOJ 4827 HNOI2017 礼物
ProblemBZOJSolution我们不妨设旋转了j,亮度增加了c,当然为了防止b数组越界,在后面复制一遍。 则我们的答案会变成 ∑i=1n(a[i]−b[i+j]+c)2∑i=1n(a[i]−b[i+j]+c)2\sum_{i=1}^n (a[i]-b[i+j]+c)^2 我们将其展开,就可以得到如下式子: ∑a[i]2+∑b[i]2−2∗∑(a[i]∗b[i+j])...原创 2018-04-03 18:53:49 · 239 阅读 · 0 评论 -
BZOJ 4008 HNOI2015 亚瑟王
ProblemBZOJSolution这道题做得真的很懵逼,我至今还记得上个月在做概率与期望的时候,因为这道题而荒废了一个下午。另外还要感谢Chlience大佬给我讲解思路qwqqq有关状态的定义比较难想到。我们设f[i][j]表示r轮中,前i张卡出了j张卡的概率,显然要满足i≥ji≥ji\geq j,才是有效状态。至于这么设状态的原因,我们会发现“立即结束该轮”的条件很棘手,...原创 2018-03-24 22:26:44 · 225 阅读 · 0 评论 -
BZOJ 4542 HNOI2016 大数
ProblemBZOJSolution我一看题:不会做 旁边的大佬一看题:(惊呼)这难道又是莫队? Orz我果然还是太弱了这个题目只需要将问题转化一下。 比如对于模数p=11,有字符串1213。我们用后缀和(因为字符串是倒着的啊)的思想,则有suf[4]=3,suf[1]=1213,而(suf[1]-suf[4])%11==0则表明字符串[1,3]是可以被11整除的。那么...原创 2018-03-23 22:25:44 · 207 阅读 · 0 评论 -
BZOJ 4540 HNOI2016 序列
UPDOrz zyf的生成函数解法ProblemBZOJSolution刚开始想的时候,觉得要预处理出a[i]做贡献的区域,然后用线段树做。但是这无法解决多组询问。 然后想莫队,发现只会logn的转移。。 然后这就比较尴尬了……那么我们就重点缩一下如何O(1)转移吧 先讨论r++的情况。 很明显,我们会新增r-l+2个区间,更新答案就需要计算这些区间的贡献 ...原创 2018-03-22 22:14:46 · 214 阅读 · 0 评论 -
BZOJ 3143 HNOI2013 游走
ProblemBZOJSolution用p(x)表示点x被走的概率,d(x)表示点x的度 那么一条边(x,y)被走的概率就是p(x)d(x)+p(y)d(y)p(x)d(x)+p(y)d(y)\frac {p(x)} {d(x)}+\frac {p(y)} {d(y)} 那么我们考虑算点的概率p,然而这可能会产生一个环,所以我们考虑用高斯消元 最后贪心按照概率给边赋值。但...原创 2018-03-18 22:30:20 · 308 阅读 · 0 评论 -
BZOJ 3140 HNOI2013 消毒
ProblemBZOJSolution不妨先考虑二维平面上的消除方法。则思想类似于HEOI2016的游戏,对于一个需要消除的点(x,y),我们对x,y进行连线,然后最后跑最大匹配就是答案。那么考虑三维情况,由于x*y*y<=5000,则必有x,y,z其中一个数值小于5000‾‾‾‾‾√3≈1750003≈17\sqrt[3] {5000}≈17,那么不妨对于最小的一个方向...原创 2018-03-18 22:18:47 · 202 阅读 · 0 评论 -
HNOI2019无盘可翻记及简要题解
Day 0感觉高一和高二考试时都抱有完全不同的心态,高一的时候只是想着去玩,甚至都没有好好复习。有时候想如果自己还是高一就好了,就还有机会,也不至于没有退路。我已经做好了面对各种结果的心理准备了,自己应该能接受的祝自己以及各位好运吧Day 1到考点发现大家都已经进去了,赶紧跟上去开考前发现系统时间是错的,真坑。。调了下时间,然后把配置打了怎么只有一个PDF???我拿错包了?今年连大...原创 2019-04-14 15:37:47 · 760 阅读 · 9 评论