NOIP模拟 31】的更多相关文章

noip模拟31 solutions 我就觉得这些考试题是越考越难,我是也越考越完蛋,已经完完全全的接近爆零了 只有20pts,说真的这还是我第一次挂掉30pts,本来我还有50pts嘞 所以这次考试我直接炸裂,改题的时候也不是非常的顺利,一直不知道该咋办 但是我得到了一个经验,线段树真的是个好东西,得好好的利用 T1 game 这个题真的快要气死我了,我在考场上一秒切掉最优解 一个小时没想出来字典序,真是无奈..... 最后看题解的时候发现这个直接线段树维护就好了 维护啥呢?维护这个区间内所有…
T1 Game 当时先胡了一发$\textit{Next Permutation}$... 然后想正解,只想到贪心能求最大得分,然后就不会了.. 然后就甩个二十分的走了... 正解的最大得分(叫它$k$)是在树上维护的. 权值线段树上维护一个$A,B$表示$a,b$权值出现的次数. 那么$A$的右子树权值一定比$B$左子树权值大,每次取$min$递归就能找到$k$ 然后考虑如何找到字典需最小方案 每次取出$b$(注意大小写的区分)中一个元素,找有没有比他大的$a$ 用二分可以解决 如果没有,就找…
暴力打满直接rk3? T1 Game 想了一万种贪心和两万种$hack$. 可以先用最显然的贪心求出最高得分是多少.(从小到大用最小的大于$b_i$的$a$得分) 然后用一棵权值线段树维护值域内$a$和$b$的个数,发现两个儿子合并对答案的贡献就是$min(a_r,b_l)$.(要用大的$a$对小的$b$)于是最优分数可以直接在建树时算出. 对每个位置考虑放什么数可以令最优分数不下降,发现它是单调的.于是可以二分.具体是把$mid$值删去后检查一遍最优分数有无下降. 对$a_mid$是否大于$b…
补坑 skyh又AK 赛时榜搜索我的姓: 下一条 ... 自闭了. (只是表达对B哥强烈的崇敬) (如果B哥介意我把名字贴出来请联系我删掉) T1一打眼,好像就一个gcd 康了眼大样例,觉得没啥问题 敲上过了样例就高高兴兴的交了 与此同时评测机出于怜悯给我这个输出格式弄错的sb温暖的5分.. (居然还有答案只有一个数的数据 太贴心了$5(f)5(u)5(c)5(k)$) T2想的十分复杂,打了颗自以为高端其实非常sb的线段树 没有发现让求最大距离,就算把方位搞混也没关系啊...... T3可持久…
题解 \(by\;zj\varphi\) 因为对于所有区间,都只有包含和被包含关系,这就是一个树形结构. 设 \(\rm f_{i,j}\) 表示在第 \(\rm i\) 个节点,最多被覆盖 \(\rm j\) 次的答案,方程显然. \[\rm f_{i,j}=\max\{f_{son_i,j-1+a_i}\} \] 可以发现,对于一个 \(f_i\) 它的差分数组是单调不增的. 证明: 对于一个 \(f_i\) 如果 \(f_{i,j}-f_{i,j-1}<f_{i,j+1}-f_{i,j}\…
题解 \(by\;zj\varphi\) 考虑如何才能最优. 每次一定把当前最小值移动到边界上,那么看它向左还是向右移更优. 用树状数组维护一下即可,复杂度 \(\mathcal O\rm (nlogn)\) Code #include<bits/stdc++.h> #define ri register signed #define p(i) ++i namespace IO{ char buf[1<<21],*p1=buf,*p2=buf; #define gc() p1==p…
题解 很容易求出在没有字典序最大的限制条件下的最多胜利场数. 这样就可以对于每一位放最优的解,怎么做,二分答案. 分两种情况,一种是当前一位是输的,一种是赢的,复杂度 \(\mathcal O(\rm nlog^2n)\) 卡卡常即可. Code #include<bits/stdc++.h> #define ri register signed #define p(i) ++i namespace IO{ char buf[1<<21],*p1=buf,*p2=buf; #def…
\(\color{white}{\mathbb{峭壁通天,横崖无岸,惊无识之马,断无疆之虹,名之以:悬崖}}\) 一看完题就暴肝 \(t1\),胡了两个贪心,实现了一个,发现都是错的,然后奖金两个小时还处于一分没有的状态 慌张之中赶紧打后两题暴力,\(t3\) 打了树形 \(dp\) 外加口胡部分分做法,期望70,然后十分钟又胡了一个 \(t2\) 的自认为的假贪心,然后又写了 \(t1\) \(n^3\) 的貌似正确的贪心 一度以为要暴零了,\(t2\) 生死未卜,\(t3\) 样例过水,也没…
NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高度的过程中,如果高度不是d的整数倍,则必定有一步没有走满d个高度. 如果剩下的步数为偶数,则直接累计答案,可以证明没有更优的情况(虽然我懒并没有证明但我觉得这挺显然的啊……) 如果剩下的步数为奇数,考虑把原来没有走满的那一步走满,然后把多余的那一步补到下降中,也可以证明没有更优的情况.(显然……于是…
\(\color{white}{\mathbb{失足而坠千里,翻覆而没百足,名之以:深渊}}\) 这场考试的时间分配非常不科学 开题试图想 \(t1\) 正解,一个半小时后还是只有暴力,特别惊慌失措 然后赶紧看 \(t2\),看题发现是个简单的线段树合并,没有多模样例,半个小时打完结论后发现能过样例,也没对拍就直接放下了 然后最后一个小时硬想 \(t3\),写了一个复杂度比较正确的网络流上去,发现有好多漏洞,然后一直调,最后考试结束的时候甚至暴力都没来得及打 A. Hunter 玄妙的概率题 如…