随笔分类 - OI生涯
摘要:题目大意:给定t组数据,每组数据包含一个整数n,2行n个数,表示怪兽的血量和杀死之后会给两边的怪物加的血量 杀死一只怪物需要消耗与血量相同的时间 问最短通关时间 菜狗的思考: 给的怪兽不成环形,所以杀两边的怪物的收益是杀中间的怪 #include <bits/stdc++.h> using name
阅读全文
摘要:好家伙今天心血来潮再次学习了Splay。。。也算是填坑吧,把几年前的坑给填上。 首先,贴题目,洛谷的普通平衡树模板,之前用treap和fhq treap实现过(不过也是快忘完了就是) 就是要写一个平衡树嘛,平衡树,就是一个平衡的树(废话) 就是一个左右两边差不多大的BST,以保证时间复杂度为O(nl
阅读全文
摘要:某盆终于退役了。。。 这可能是本博客的最后一篇文章了吧。。。 如果不,那就还有两个方向: 1、自己闲得无聊学学算法 2、当成自己的随笔博客不知道该干些什么了。AFO了。 然后呢?该扯点什么了?? 额说到这,想起来我们也学了4年OI了吧 从第一年的暑假,78人,坐在实验的大机房里,每人带一瓶冰块, 到
阅读全文
摘要:。。。。 马上就滚回了文化课。。。。 那就.. 那就先写写考试经历吧。Day-3:下课直接被老师拉去教职工食堂,全身僵直,不知所措,挪到食堂,强行挣脱老师的束缚,跑了下楼,发现背后已经被冷汗打湿。。。回头听说,食堂仅有的两个人一个是班主任。。还好跑得快Day-2:在机房打了最后一场模拟赛,感觉还可以
阅读全文
摘要:化简题意:给出一棵二叉树,每个点有一个权值,求最少改造为严格二叉查找树(不能等于)的节点数。 首先,我感觉我已经非常靠近正解了。 考场就已经想到了所有模型,但是却没有想到正解的dp,歪歪了一个树形dp,然后拿到了5分的好成绩.... 直入主题: 首先,一颗二叉查找树的性质就是:中序遍历出来的序列一定
阅读全文
摘要:.....好吧....最后一篇学习笔记的flag它倒了..... 好吧,这篇笔记也鸽了好久好久了... 比赛前刷模板,才想着还是补个坑吧... FHQ,这个神仙(范浩强大佬),发明了这个神仙的数据结构, 首先,本篇博客使用洛谷普通平衡树为背景,即 查找前驱 查找后记 查找kth的数 查找k的排名 插
阅读全文
摘要:统计方案数,要么组合数,要么递推(dp)了。 这是有模拟赛历史以来爆炸最狠的一次 T1写了正解,也想到开long long,但是开错了地方然后数组开大了结果100->0 T3看错题本来简单模拟又给我搞成0分 T5差分约束本来很简单但是又被我胡搞炸掉了..... 本题T4,难到爆炸的T2把我困住了..
阅读全文
摘要:呃呃呃。。。真的是惨烈啊。。。 今天的模拟赛是真的惨。。。。。 本题,正解居然是搜索!!!!!! 蒟蒻自己歪歪了一个貌似是正解但是却连一半都没过的错解。 先解释一下自己的dp思路把。 $f[i][u][v][0/1]$表示第i秒(等效于深度)uv之间的边断还是不断。 转移有两个: $f[dep[u]
阅读全文
摘要:秒切树上查分....(最近一次集训理解的东西) 但是,我敲了半小时才切掉这道题.... 我一直迷在了“边差分”和“点差分”的区别上。 所以,先说一下此题,再说一下区别。 首先,想到差分很容易。 然后,按照戴大爷的说法,x++,y++,lca(x,y)-=2; 这是模板,统计的是每条边被经过几次。理解
阅读全文
摘要:(已经一句话了) 第一反应:暴力 第二反应:朴素算法过不去 第三反应:没法折半暴搜(没法统计答案) 所以,歪歪了一个类似贪心刷表的方法,过了这道题。 首先,如果爆搜的话会有几个状态: 当前牛 当前几个箱子 当前的牛数量 而且它的复杂度是阶乘级别。 发现这道题目有显然单调性(答案处在分界线,-1不合法
阅读全文
摘要:化简:够简的了.....但是!翻译绝对有锅。 这个最短路是从n到每个点的单源最短路,也就是最短路径树。 那么,思路就很明确了。建两个图,然后跑两边SPFA,记录下最短路径。 然后,对于两点之间的边,如果最短路不经过它,那么最终图边权+1; 然后在最终图上(边权为0,1,2)跑一遍SPFA即可。 一开
阅读全文
摘要:一句话题意(不用我改了.....):给一棵n(1≤n≤200000个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少。 ......这题输入很神烦呐。。。 给你一棵二叉树的dfs序(考场上没发现2333),只有叶子结点有值,然后求逆序对大小 在考场上,建树建了好久,然后暴力暴了好
阅读全文
摘要:(话说最近写的这类题不少啊。。。) 化简:给定数轴上一系列点,向正方向移动,点不能撞在一起,如果碰到一起就需要放到另外一行,求要多少行才能满足所有点不相撞的条件。 (被标签误解,老是想到二分答案。。。) 这题其实不难。首先,答案一定是最大相撞的那个点。(开的道可以共用) 然后,这题就比较明朗了。要找
阅读全文
摘要:给定一串数,问删除中间一段,剩下的平均数最小是多少; 不容易想到这是个二分。 $solution:$ 来手玩一点式子: 首先很容易想到一个前缀和$sum_i $表示i到1的前缀和,这样就能很容易地O(1)查询区间和/差 二分一个mid,作为最小的平均数。 假设删去区间为l~r(lr都删) 平均数等于
阅读全文
摘要:照例化简题意: 给定一个01区间,可以把0改成1,问其中最长的01数量相等的区间长度。 额很容易想到前缀和,把w弄成1,h弄成-1,然后求前缀和,然后乱搞就行了。 但是一直不太会乱搞的我却直接想到了二分。 很容易很容易想到:答案有单调性,也就是: 答案肯定是单调不增的 怎么理解呢? 就是:一定存在一
阅读全文
摘要:#include<bits/stdc++.h> #define ll long long using namespace std; const ll maxn=505; ll n,key; ll a[maxn]; map < ll , ll > t; ll ans; void dfs1(ll now
阅读全文
摘要:.....STL是c++里很强势很好用的一系列容器(函数)之类的,之前一直不太会用,所以总是暴毙。。。。想着快比赛了,是时候理一下这些东西了。 -1、pair 存放两个基本元素的东西 定义方法: pair<type,type> name 若不定义优先级则默认为第一元素的优先级 0、重载运算符(对于结
阅读全文
摘要:emmmm....学校的oj被查水表了,扒不到原题面,所以.... 但是我还是扒到了题面。。。 题目大意:给定一个完全图,删掉其中一些边,然后求其字典序最小的遍历顺序 有点像去年day2T1啊.... 但是数据范围如果建图的话就可以螺旋升天了。 很容易想到建反图(郑州集训233,可是这题不建反图会死
阅读全文
摘要:emmmm。。。数据结构的大码量经常死在一些小错误上(比如一个字母,等号),然后导致一查查半年。这里汇总一下错误吧。 1、线段树操作进行二分操作时,mid用的是当前块的左右区间(t[p].l),不是查询区间的lr,错过几次 2、树剖中,(好吧其实还是线段树),向下递归,第二个判断区间相交的if不能用
阅读全文
摘要:盲猜dp系列。。。 题意:给定序列,选了i就不能选与i相邻的两个,求最大值,带修改 蒟蒻在考场上10min打完以为只有两种情况的错解。。。居然能骗一点分。。。 先讲下当时的思路吧。 f【i】【0/1】表示第i台选不选的挤奶最大值,两个转移,水得不行。 考完之后在大佬的点播下才明白,这是一个类似独立集
阅读全文

浙公网安备 33010602011771号