santongding

一名普通oier的刷题随笔

stl手写合集

水平不够写得和stl差远了。。只能说是基本实现其功能吧。。。现在对c++的了解基本是0,等以后系统学习之后也许会慢慢完善。 vector struct vtr{ int *s,*e; int memsize,cnt; vtr(){ memsize=2; ...

2018-08-05 23:39:12

阅读数 128

评论数 0

后缀自动机(&广义后缀自动机)学习笔记

前言(=废话) 之前听zrt大佬讲过一次后缀自动机,当时他重复讲了好久我还是没听懂; 最近想平复一下心情,于是选择硬啃一波后缀自动机; 然后因为这玩意真特么难,打算写一篇正式点的笔记记录一下。。。 当然因为个人能力原因,只能用一些形象化的语言来描述一下,并且不保证都是对的。。。只是便于理解; 并...

2018-04-27 23:27:33

阅读数 1065

评论数 0

吉司机线段树(segment tree beats!)

sdoir1考挂,本来都要退役了。。。结果还是进了二轮末尾。。。打算混个D类去养老; 最近有点颓,需要写些东西和学些新东西止一下颓势,就先把这几星期前学的神奇线段树写了吧。。。 吉司机线段树主要是用来解决序列区间上满足部分满足一定性质的修改操作的,比方说把区间中小于x的数改成x,大于x的数改成...

2018-04-24 00:31:35

阅读数 1632

评论数 0

高斯消元与概率相关

今天在集训时听大爷们讲题听到了sdoi2017r1硬币游戏的部分分做法,发现自己一点不会,赶紧学了一波; 首先一道板子题:bzoj3270 博物馆 这里其主要思想是根据边的转移方向列出一个方程,详细的方程解释这位大佬说的很清楚:题解 这里我主要再说一下烦了我很久的细节问题; 首先,直接通过...

2018-03-31 00:20:19

阅读数 109

评论数 0

[雅礼集训]program(鬼知道原题叫什么名字。。。)

题面: 恩。。。部分分比正解难系列。。。目前还是没写出所有询问的r=n的部分。分类讨论太麻烦了。。。 还是说正解: 恩我就是这么懒。。。感觉这一部分讲得肯定比我自己描述清楚; 不过中间有个很重要的细节,由于当一个点为0时,如果立即将其删除,可能他的g[]数组就不会被标记上; 这时...

2018-03-30 19:07:12

阅读数 165

评论数 0

bzoj 2957 楼房重建(线段树)

bzoj 2957 楼房重建 这题是集训时讲到的,感觉不错就做了做; 先把每个楼的高度除以xi,这样得到的斜率ki,然后求一个从左往右开始左边优先选的最长上升序列; 首先我想到的做法是,用线段树来维护,每个点存当前区间内合法的那个序列的最小值和最大值以及长度,每次改完一个值一路update上...

2018-03-29 22:18:50

阅读数 52

评论数 0

[noip2016]天天爱跑步(主席树+lca)

恩。。在百度的第一页翻了翻,没有用主席树做的,于是打算水一篇blog; 天天爱跑步 首先有一个解题的关键; 将玩家的向上和向下分成两部分; 先定义几个变量,s是起点,t是终点,wi是每个观察员出现的时间,i是当前节点,d[]是节点深度; 通过手玩可以发现,当玩家向上走时能否被i观察到当且...

2018-03-29 22:05:17

阅读数 121

评论数 0

bzoj4919 大根堆(线段树合并)

bzoj4919 也是雅礼集训考的一题。。。 似乎不必要用线段树合并,用个set也能又好又快的水过去。。。 先考虑最简单的树形dp怎么做; 设dp[i][j]表示当前在i节点并且选的最大不超过j的答案是多少; 考虑用动态开点的线段树来维护dp数组 对于每一个节点,只需要先把其儿子的d...

2018-03-28 19:10:13

阅读数 493

评论数 0

[雅礼集训]xiz(字符串匹配)

题目描述: 给定字符串 S 和 T, 定义两个字符串匹配当且仅当每种字符的数量相等, 求 S 的哪些连续子串与 T 匹配. 字符集大小,字符串S,T长度小于等于100w; 这个题面不大完整,他要求的匹配是指对应位置的在各自字符串中都是同一种数; 例如 3 ...

2018-03-26 22:03:20

阅读数 309

评论数 0

[雅礼集训]bsh(分治)

题目描述: 给定一个正n边形及其三角剖分, 共2*n-3条边( n条多边形的边和 n-3 条对角线), 每条边 的长度为1. 共 q 次询问, 每次询问给定两个点, 求它们的最短距离. n<=52000,1<=q&...

2018-03-26 19:43:15

阅读数 101

评论数 0

[雅礼集训]arg(三进制状压dp)

题目描述:给出一个长度为 m的序列A, 请你求出有多少种1……n的排列, 满足A是它的一个LIS. (1<=m<=n<=15) 题面异常的简洁,身为蒟蒻我也是第一次接触这种三进制状压dp(考场上当然只打了暴力 稍微转化一下问题,...

2018-03-25 21:20:44

阅读数 112

评论数 0

莫比乌斯反演常用套路整理

(注意,以下除法若未说明自动下取整) 首先放一个莫比乌斯反演常用的两条公式以及证明:莫比乌斯反演定理证明(两种形式) 其中主要用到的是这一条(为了强化记忆我专门手打了一遍 G(d)=∑d|nF(n)==>F(n)=∑n|dμ(d/n)∗G(d)G(d)=∑d|nF(n)...

2018-03-24 17:46:57

阅读数 504

评论数 0

bzoj 5091 摘苹果

BZOJ 5091 一道毫无编程难度的题,再不写点啥就说不过去了。。。 在雅礼集训上听大佬讲了一波,感觉应该还挺好写?于是手算想通之后果断水了一波; 首先设个状态,f[j][i]表示当前走了j步到i节点的概率,f[0][i]显然就是第一步到j节点的概率,等于di/2*m; 那么答案就是∑k...

2018-03-23 22:10:07

阅读数 45

评论数 0

三元环&哈希表

标题这俩东西看起来似乎八杆子打不着,不过只是我在学三元环的时候才刚学到哈希表是个什么东西。。。 关于三元环的解法感觉Claris写的就很不错→%%Claris 我在这里再简单的说一下复杂的相关; 首先可以改成单向边,全都改成由大的点指向小的点(我自己写的是相反的。。。)然后枚举每一个点i,再...

2018-03-15 00:28:17

阅读数 205

评论数 1

点分治 学习笔记

点分治这东西虽然很早就打过一次板子,但一直理解的不透彻,而且再去看之前写的那个板子居然写的是n^2暴力。。。然后今天又重新学了一遍 点分治的思想和树链剖分很类似,将一颗树尽可能均匀的分开,再合并答案,如果分开的那个点找的好的话复杂度就是nlogn的(不算其中答案统计的复杂的) 而要找的这个点就...

2018-03-09 00:24:48

阅读数 61

评论数 0

CDQ分治学习笔记

今天学了一下cdq分治,感觉这东西真的挺好用的,赶紧写点东西怕以后再忘咯 其实类似于cdq分治的东西在oi早期学排序的时候就应该学过,那就是归并排序; 归并排序的原理和cdq分治大体一样,先划分成两个区间,递归解决两边,再合并起来; 并且用归并排序求逆序对的时候本质上就是在解决一个二维偏序的...

2018-03-03 00:39:32

阅读数 204

评论数 4

线性基 学习心得

线性基根据我的理解就是从一组n维向量中找尽可能少的几组向量并且能够表示出空间内的所有向量; 首先,n维空间的基底肯定是n个向量的,这个通过二维或三维脑补一下就能想到 那么最简的一组基地是从原点出发向n个方向分别延伸的这n个向量; 但是根据给出的向量一般是不容易转换成这种形式的; 根据高斯消...

2018-02-25 00:03:01

阅读数 65

评论数 0

斜率优化dp 队列版 专题学习小结

搞了一天的斜率优化,也算是有点入门吧。。。 斜率优化的题一般有个特点,在优化之前大都是区间dp的形式; 不过我只学了队列优化形式的,对于用栈来优化的还没有做过(蒟蒻逃 如果知道一个题是斜率优化dp,那么十有八九是做不错的,就我所做的裸的斜率优化dp大都遵循一个套路(那种套数据结构套cd...

2018-02-23 22:43:12

阅读数 65

评论数 0

BZOJ 1030 ac自动机+dp

题目:文本生成器 头一次做这类题目,果然智商又不够用了 我认为主要思想是将一个虚拟的串在ac自动机上进行匹配,再把匹配的状态记录下来,而不用生成所有的串一个个进行匹配,因为前缀相同的串在ac自动机上匹配的结果是相同的,只需要在相同前缀的分支后边进行26种不同的选择,每一种再分别对应到ac自动机...

2018-02-20 16:55:09

阅读数 58

评论数 0

BSGS 大步小步 算法学习心得

学完才发现其实并没有那么复杂,但中间还是有很多地方困扰了我很久orz; 先安利一名神犇的博客:BSGS; 首先,大步小步的思想有点像分块,将整体划分成根号n块,再对每一小块中的根号n种取值找一个最优值; 如果看完了我安利的那篇博客的话,应该是能够自己写出随处取逆元的写法了; 但是这样的做法...

2018-02-15 17:34:27

阅读数 355

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭