hdu5267 pog loves szh IV

bc fst爽翻.然后这题差二十分钟没调出来不然我就是rank1.还是应该直接敲而不是去和队友商量. 静态做的话直接按位树分就好了.然后资瓷修改的时候也是一样.只是把之前求的信息在树分后的dfs序上用线段树记下来.也就是要随时知道某个分治层里的某个子树上有多少个0或者1. 然后就是讨论某个修改对当前答案的贡献.要注意分治根的值,以及有贡献的是哪些位置.中间打错了外层的dfs序范围,导致调试了很久.明明想清楚了但是打错了,不应该的. 只有完了之后交了然后怒虐标程好开心啊.

June 7, 2015 · 1 min · laekov

hdu5189 zhx's tree

自己出的题还要写题解。 就是化成可以二分的形式,然后发现是找凸壳上x=x0的时候的最大值的和,看它是否大于0。 于是就写呗。据说很难写。我觉得写起来还行啊。 其实主要是为了测试系统用的。

March 16, 2015 · 1 min · laekov

HDU5173 GTY's game II

<div class="post_brief"><p> bc的题。今天bc又挂了。这题没有写完,然后b题fst了。伤心啊。</p>   其实思路比较简单。直接链剖dfs序上把所有区间找出来swap就好了。不过代码实现起来还是比较麻烦的,很容易绕晕。加上smt久了没写手生了,于是就调了一晚上。唉,我还是太年轻了。   #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> using namespace std; struct node { int v, s, sz, w, rv; node ls, rs; inline void update() { sz = 1; s = v; if (ls) { sz += ls-> sz; s += ls-> s; } if (rs) { sz += rs-> sz; s += rs-> s; } } inline void fix() { if (rv) { swap(ls, rs); if (ls) ls-> rv ^= 1; if (rs) rs-> rv ^= 1; rv = 0; } } }; typedef pair <node, node> npr;...

February 6, 2015 · 6 min · laekov

Bestcoder #20 题解&&总结

人生第一次AK网赛。之前cf和bc总是fst。 第一题水,比谁手速快。好像我手速也比较慢啊。 第二题离散一下,然后直接用前缀和找最大。手速又有点慢。 第三题树状数组优化DP,有点像SCOI2014的玉米田。然后写挫了好几次。 第四题比较有含金量。前两天才做了cdq的mokia,于是想了一会决定用cdq套树状数组套平衡树。然后花了20分钟写30分钟把平衡树里ins的时候把点的编号改对和++size。我觉得我没有抢救的必要了。 然后所以虽然AK但是排名还是低。上次虽然只过了两题还是RANK1,难度差距有点大啊。 不过终于超过jason_yu了。 看来我还是比较年轻,还要再努力啊。

November 29, 2014 · 1 min · laekov