会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Live2D
SHINE_GEEK
"Link Start!"
首页
新随笔
联系
订阅
管理
[置顶]
博客暂停使用
摘要: 新博客地址: shinegeek.gitee.io
阅读全文
posted @ 2019-06-24 17:32 SHGEEK
阅读(155)
评论(0)
推荐(0)
2019年2月19日
[题解]洛谷P1041 传染病控制
摘要: 这道题的树没说明父亲和儿子的输入顺序,以前也遇到过,蛋疼 思路: 1)ans=总点数-隔离了的点数 2)第i次隔离的边一定是深度为i的点和深度为i-1的点的连边,所以用vector存每层的点 3)预处理f[i]储存以i为根的子树的点数 4)已经被隔离了的点就不用了搜惹 5)由于隔离了的点数是单调递增
阅读全文
posted @ 2019-02-19 22:19 SHGEEK
阅读(175)
评论(0)
推荐(0)
[题解]洛谷P2668 斗地主
摘要: 洛谷AC10道蓝题纪念 直接暴力搜索顺子、带牌 搜索完每一层后,出完剩下的牌,因为一种牌只有一张、两张、三张、四张的情况,所以一定可以一次出完,保险起见,还是算一下为好(以防万一数据不好) 代码:
阅读全文
posted @ 2019-02-19 11:25 SHGEEK
阅读(185)
评论(1)
推荐(0)
2019年2月17日
[题解]洛谷P4017 最大食物链计数
摘要: 一开始不知道toposort可以做,写了个记忆化搜索,结果T了qwq 然后一看题解,豁然开朗,本蒟蒻见识浅短,还不曾知道还有这种操作 设 f[i] 是以i结尾的最长链个数,那么 f[i]=∑f[k] (k有一条出边指向i) 然后统计出度为0的点i的f[i],累加就是ans 这一过程显然可以在topo
阅读全文
posted @ 2019-02-17 20:38 SHGEEK
阅读(155)
评论(0)
推荐(0)
[题解]洛谷P1983 车站分级
摘要: 一道经典的拓扑排序的题目 原题链接 首先,对于一条路径中的点,没出现的一定比出现了的低级,所以在这两个点间连边 然后toposort算最长链 代码:
阅读全文
posted @ 2019-02-17 15:12 SHGEEK
阅读(162)
评论(0)
推荐(0)
[OI学习笔记]倍增LCA
摘要: 这也是洛谷P3379 【模板】最近公共祖先(LCA)的代码 1.首先预处理upto[i][j]表示点i向上跳2j 个点到达的点,d[i]表示i的深度 2.然后把两个被询问的点搬到同一深度,具体操作是: 假设深的点为a,那么a每次把a迭代为 upto[a][log2(d[a]-d[b])] ,直到d[
阅读全文
posted @ 2019-02-17 12:05 SHGEEK
阅读(283)
评论(0)
推荐(0)
2019年2月14日
[OI学习笔记]st表
摘要: 用来查询区间最值(区间和,差等要处理重复部分) 下面均以以最大值为例 初始化 0(nlogn) 设st[i][k]为下标i开始的2k个元素的最值 则: st[i][k]=max{st[i][k-1],st[i+2k-1][k-1]} 即区间[i,i+2k -1]的前一半和后一半的最值取最大 查询 O
阅读全文
posted @ 2019-02-14 17:18 SHGEEK
阅读(147)
评论(2)
推荐(0)
[OI学习笔记]配对堆
摘要: 配对堆是一种可并堆(可以将两个堆合并,且速度快),时间复杂度: 合并merge:O(1) 插入push:O(1) 弹出pop:O(logn) 配对堆不是二叉堆(我一开始不知道这个所以一直搞不懂) 配对堆存树的方式不一样,如图,对于每个节点,有一条边指向最左边的儿子,一条指向他右边的兄弟 和普通树的对
阅读全文
posted @ 2019-02-14 10:49 SHGEEK
阅读(555)
评论(0)
推荐(0)
2019年2月13日
[题解]洛谷P1966 火柴排队
摘要: 原题链接 对于两个队列a,b,求怎么每次只序列中交换相邻两个数使∑(a[i]-b[i])2 最小,输出次数对99,999,997取余 展开得:∑a[i]2+b[i]2 -∑2a[i]b[i] 而∑a[i]2+b[i]2 是不变的,所以只要最大化∑2a[i]b[i]即可。 首先可以确定,对两个序列的变
阅读全文
posted @ 2019-02-13 21:44 SHGEEK
阅读(144)
评论(0)
推荐(0)
[OI学习笔记]堆&堆排序
摘要: 今天学历配对堆,然鹅我把普通的堆忘了,配对堆也听得云里雾里。。。现在自己来现场yy一下 手写堆 push就把元素放到最后面,不断把他和父亲比较,上浮 pop就把堆顶和最后一个元素交换,然后对交换后的堆顶不断和他的左右儿子比较(选左右儿子中优先级高的比),下沉,最大下沉到最后一个元素下标-1的位置,然
阅读全文
posted @ 2019-02-13 19:45 SHGEEK
阅读(311)
评论(1)
推荐(0)
下一页
公告