摘要:
直接每个人建棵平衡树。。 记录一下节点添加和删除的时候,那个人总共发了多少微博。 手写treap没比set快多少 阅读全文
摘要:
看了child学长的题解才知道怎么写TAT http://www.cnblogs.com/ctlchild/p/5160272.html 以前不知道直径都是过重心的。。代码改着改着就和标程完全一样了QAQ 阅读全文
摘要:
题目与标题基本无关系列。。 就是求路径上的异或和是否为0。。 可以把问题转换成求根节点到某个点的路径上的异或和。 每次修改只会对子树内的节点产生影响。。 所以dfs序+树状数组就行了。。 求lca写了链剖。。勉强挤进第一版。。 阅读全文
摘要:
二维的hash。。 注意n的范围是1000........ 真相似乎是全部输出1就行了233 阅读全文
摘要:
根据网上题解可得(QAQ。。把坐标变成(x-y,x+y)后,原本的切比雪夫距离就是现在的曼哈顿距离的一半。。 似乎金组题里也有道一模一样的。 分别求出横纵坐标的中位数。。但如果所取的点的x、y奇偶性不同。。那在原图里是没有对应点的。 所以可能要再试一下旁边的四个点 阅读全文
摘要:
看到数据范围被吓傻了。 根据题解可得。。我们把原来的网格图转成它的对偶图。。。删边就变成了连边,判联通就变成判不联通了。。 联通什么的自然就用并查集了。。。 具体细节的话还是自己画图靠谱多了 阅读全文
摘要:
应该是第一次写这种图形类的DP。。 一个“I”可以分成三个矩形。。令f[1..3][i][j][k]表示第几个矩形,下边界为第i行的j~k列,的最大面积。 然后就是各种优化啊什么的。。。时间复杂度O(nm²) 一开始一个辅助的区间DP写挂然后调了半天TAT 阅读全文
摘要:
先离散化一下(也可以不用 枚举横坐标,用线段树维护两边纵坐标上的节点数。 每次在线段树上二分。。。(感觉似乎树状数组也行? 阅读全文
摘要:
一开始以为先取need条最短的白边就行了。。然而那样子的话可能图根本没法联通= = 网上题解讲的挺清晰的。。就是二分把全部白边加上mid,然后看mst里面有多少条白边。有need条白边的时候再把加上的值减去,就是答案了。 但可能出现取不了need条白边的情况(二分mid取到>need条,二分mid+ 阅读全文
摘要:
根据ccz181078大爷的题解可得(QAQ,每次肯定是断掉连续一行||一列的栅栏。。。 贪心地想,一个格子与外面联通,显然是先把短的边界断掉(就像mst那样 但是比较蛋疼的是,因为我们每次断的时候,有一些点可能已经联通了,所以有的栅栏不用断>_< 如果我们断了x列栅栏,并且之前有断过行的栅栏,那么 阅读全文
摘要:
如果权值是在点上。。那就显然高斯消元了。。。 所以先用高斯消元求出经过每个点的概率,经过某条无向边边(u,v)的概率就是(f[u]/d[u])+(f[v]/d[v])...(f[]表示经过点的概率,d表示点的度数 然后按照概率贪心地给权值就行了 阅读全文
摘要:
启发式合并链表。。 我写的是链式邻接表那种写法= = 记录下每个节点上的颜色,颜色相同的就塞进同一个链表,每次合并两个链表的时候,就遍历其中一个,如果某节点两边颜色和另一个链表的相同就减一下答案。 然后每次如果遍历节点数少的那个链表时间复杂度就是O(nlogn)的了。。 但因为节点数少的那种颜色不一 阅读全文
摘要:
正解是trie树。。。在树上跳来跳去什么的 然而在企鹅qq那题的影响下我写了hash。。。 添加一个字母到一个串,就相当于另一个串删对应位置上的字母。 改变某个位置上的字母,就相当于两个字符串删掉同一个位置上的字母。 所以要记录的东西也不多。。存一下每个串删掉每个位置上的字母后的hash值并排序,然 阅读全文
摘要:
模拟退火。。 随机每个数是属于哪一组的就可以了。。 阅读全文
摘要:
看到半平面交吓傻了。 Po姐教你模拟退火乱搞233 模拟退火横坐标,然后塔的高度二分一下就行了。 然而交上去一直tle= =。。。。把模拟退火那部分改得和标程一模一样还是跪。。 最后真相是二分的时候double精度会炸(掀桌。。。然而标程不知为啥用double活得好好的(虽然随便随机一个数据就能卡。 阅读全文