刷题记录
文章平均质量分 53
santongding
这个作者很懒,什么都没留下…
展开
-
gym101620_by_santongding
A题意:题解:模拟代码:AB题意:在平面第一象限中原有n个a点,同时按顺序出现m个b点,每出现一个b点以其位置为中心,向x,y轴垂直画射线,若射线碰到之前其他b点画的线则停止.问每个b点出现时其画的射线与坐标轴、其他b点画出的射线围成的闭区域中有多少个a点.b点所有x坐标互不相同,所有y坐标互不相同.题解:考虑离线做法,先求出所有b点都画完之后每个b点所属区域中有多少个...原创 2020-04-02 20:29:45 · 217 阅读 · 0 评论 -
bzoj 5091 摘苹果
BZOJ 5091 一道毫无编程难度的题,再不写点啥就说不过去了。。。 在雅礼集训上听大佬讲了一波,感觉应该还挺好写?于是手算想通之后果断水了一波; 首先设个状态,f[j][i]表示当前走了j步到i节点的概率,f[0][i]显然就是第一步到j节点的概率,等于di/2*m; 那么答案就是∑k=1K∑i=1nf[k][i]∗ai∑k=1K∑i=1nf[k][i]∗ai\sum_{k=1}^{K...原创 2018-03-23 22:10:07 · 232 阅读 · 0 评论 -
[noip2016]天天爱跑步(主席树+lca)
恩。。在百度的第一页翻了翻,没有用主席树做的,于是打算水一篇blog;天天爱跑步首先有一个解题的关键; 将玩家的向上和向下分成两部分;先定义几个变量,s是起点,t是终点,wi是每个观察员出现的时间,i是当前节点,d[]是节点深度; 通过手玩可以发现,当玩家向上走时能否被i观察到当且仅当d[s]=d[i]+w[i],向下走时能否被i 观察到当且仅当d[s]-d[lca(s,t)]*2...原创 2018-03-29 22:05:17 · 294 阅读 · 0 评论 -
bzoj 2957 楼房重建(线段树)
bzoj 2957 楼房重建这题是集训时讲到的,感觉不错就做了做;先把每个楼的高度除以xi,这样得到的斜率ki,然后求一个从左往右开始左边优先选的最长上升序列;首先我想到的做法是,用线段树来维护,每个点存当前区间内合法的那个序列的最小值和最大值以及长度,每次改完一个值一路update上去,update时先把左区间的答案加上去,再在右区间内找一段大于左区间合法序列的最大值的合法序列;...原创 2018-03-29 22:18:50 · 193 阅读 · 0 评论 -
[雅礼集训]program(鬼知道原题叫什么名字。。。)
题面: 恩。。。部分分比正解难系列。。。目前还是没写出所有询问的r=n的部分。分类讨论太麻烦了。。。还是说正解: 恩我就是这么懒。。。感觉这一部分讲得肯定比我自己描述清楚;不过中间有个很重要的细节,由于当一个点为0时,如果立即将其删除,可能他的g[]数组就不会被标记上; 这时候就要延时删除一下; 同时判断一个”<”或”>”是否要删时就需要跳过中间正在被延时删除的...原创 2018-03-30 19:07:12 · 322 阅读 · 0 评论 -
高斯消元与概率相关
今天在集训时听大爷们讲题听到了sdoi2017r1硬币游戏的部分分做法,发现自己一点不会,赶紧学了一波;首先一道板子题:bzoj3270 博物馆这里其主要思想是根据边的转移方向列出一个方程,详细的方程解释这位大佬说的很清楚:题解这里我主要再说一下烦了我很久的细节问题;首先,直接通过转移得到的矩阵并不是最终要求的;看一下转移方程的形式,以当前状态i为例; 一开始直接写成的是xi...原创 2018-03-31 00:20:19 · 316 阅读 · 0 评论 -
[雅礼集训]arg(三进制状压dp)
题目描述:给出一个长度为 m的序列A, 请你求出有多少种1……n的排列, 满足A是它的一个LIS. (1<=m<=n<=15)题面异常的简洁,身为蒟蒻我也是第一次接触这种三进制状压dp(考场上当然只打了暴力稍微转化一下问题,就是求序列A在1……n的排列中并且n的lis等于m;看到15的数据范围再加上计数问题很容易就能想到状压dp,而我考试时只往二进制方面去想了,甚至想...原创 2018-03-25 21:20:44 · 418 阅读 · 0 评论 -
[雅礼集训]bsh(分治)
题目描述: 给定一个正n边形及其三角剖分, 共2*n-3条边( n条多边形的边和 n-3 条对角线), 每条边 的长度为1. 共 q 次询问, 每次询问给定两个点, 求它们的最短距离. n<=52000,1<=q<=2n这题思路挺简单的(但我太弱考试的时候还是没做出来。。。 考虑分治,每次选处于当前多边形最中间的那条边把当前区域分成两半; ...原创 2018-03-26 19:43:15 · 325 阅读 · 0 评论 -
[雅礼集训]xiz(字符串匹配)
题目描述: 给定字符串 S 和 T, 定义两个字符串匹配当且仅当每种字符的数量相等, 求 S 的哪些连续子串与 T 匹配. 字符集大小,字符串S,T长度小于等于100w;这个题面不大完整,他要求的匹配是指对应位置的在各自字符串中都是同一种数; 例如 3 1 3 和2 4 2,3和2对应,1和4对应,所以匹配; 3 3 1和2 4 2虽然数目相等,但位置...原创 2018-03-26 22:03:20 · 2217 阅读 · 0 评论 -
bzoj4919 大根堆(线段树合并)
bzoj4919也是雅礼集训考的一题。。。似乎不必要用线段树合并,用个set也能又好又快的水过去。。。先考虑最简单的树形dp怎么做;设dp[i][j]表示当前在i节点并且选的最大不超过j的答案是多少;考虑用动态开点的线段树来维护dp数组 对于每一个节点,只需要先把其儿子的dp数组加起来,这就对应线段树合并操作;又因为我用的标记永久化,每一次修改对应区间直接相加;再根据自...原创 2018-03-28 19:10:13 · 1243 阅读 · 0 评论 -
线性基 学习心得
线性基根据我的理解就是从一组n维向量中找尽可能少的几组向量并且能够表示出空间内的所有向量; 首先,n维空间的基底肯定是n个向量的,这个通过二维或三维脑补一下就能想到 那么最简的一组基地是从原点出发向n个方向分别延伸的这n个向量; 但是根据给出的向量一般是不容易转换成这种形式的; 根据高斯消元的相关知识可以知道,一组向量之间的相加减是不会改变整体的关系的,也就是说这组向量的线性基不会变; ...原创 2018-02-25 00:03:01 · 211 阅读 · 0 评论 -
CDQ分治学习笔记
今天学了一下cdq分治,感觉这东西真的挺好用的,赶紧写点东西怕以后再忘咯 其实类似于cdq分治的东西在oi早期学排序的时候就应该学过,那就是归并排序; 归并排序的原理和cdq分治大体一样,先划分成两个区间,递归解决两边,再合并起来; 并且用归并排序求逆序对的时候本质上就是在解决一个二维偏序的问题; 首先回忆一下归并排序是怎么求逆序对的; (我太弱了不大好描述。。。归并排序相关网上找找就好...原创 2018-03-03 00:39:32 · 603 阅读 · 4 评论 -
斜率优化dp 队列版 专题学习小结
搞了一天的斜率优化,也算是有点入门吧。。。 斜率优化的题一般有个特点,在优化之前大都是区间dp的形式; 不过我只学了队列优化形式的,对于用栈来优化的还没有做过(蒟蒻逃 如果知道一个题是斜率优化dp,那么十有八九是做不错的,就我所做的裸的斜率优化dp大都遵循一个套路(那种套数据结构套cdq的另说) 首先必须要会推暴力的dp公式 然后再化简成d+kx=y的形式(没错我就是喜欢倒着写) 首先...原创 2018-02-23 22:43:12 · 183 阅读 · 0 评论 -
18-2-10 刷题心得
又是刷水题的一天。。。题目:scoi2005 最大子矩阵 一个比较noip的区间dp,然而我还是脑残地卡了好几个小时; 这题数据范围比较小,有很多不同的做法; 我的做法是dp[i,k,j,o]表示当前扫到了前i行,选了k个矩阵,状态是j,o的最大值; j,o的状态是指如果j=0,第2列第i个位置往前数o行一定没有被选;j=1,第1列第i个位置往前数o行一定没有被选; 如果j=2,指怎...原创 2018-02-11 00:14:04 · 192 阅读 · 0 评论 -
hnoi2015 开店
题目:开店 我是用的树链剖分加主席树的做法; 很明显对于每一次询问所求的值为 所有符合条件点到根的距离+出发点到跟的距离*2-所有点和出发点lca到根的距离; 其中前两项求一个前缀和和就好,而对于第三项,考虑静态情况下,将每个点到根的路径全覆盖一遍权值,然后一个点到根上所有被覆盖的权值和就是所有点和这个点的lca到根的距离,那么再加一个动态树,按照年龄动态加点,最后减一下就好; 不过这好像...原创 2018-02-10 23:50:28 · 199 阅读 · 0 评论 -
bzoj 2964 boss单挑战 个人心得
明天还要期末考试今天还在浪。。。 题目链接:bzoj 2964 说来惭愧这题的思路是从网上找的题解看的,本来觉着很好写,真正写起来才发现有不少需要注意的地方; 主体思路是将法攻和怒功分开dp,本来以为关于恢复生命的技能的使用次数做个加减法就好了,事实上并没有这么简单,只好再进行一次dp; 由于本人太弱,实在想不起如何从i-1向i转移,只能从i向i+1进行向后转移,好像这样也易于理解? 其原创 2018-02-05 21:54:41 · 248 阅读 · 0 评论 -
18-2-11 刷题心得
本来今天要学fft的,结果还是没看下去。。。看来达到我智商的瓶颈了QAQ 题目cqoi2011 动态逆序对 比较裸的树状数组套线段树,然而还是卡了我好久。 因为这题很友好所以不用离散化; 以位置为主席树的时间轴,权值为主席树上的区间建树; 那么每次加一个数的时候的贡献就是之前出现的数中值比这个数大的个数; 对于修改,套一个树状数组,将修改的位置对之后的影响用树状数组全部消...原创 2018-02-11 23:38:48 · 166 阅读 · 0 评论 -
18-2-08 刷题心得
本来早上在bz随机了3道题,打算用5个小时做一做,结果一道树链剖分就卡了我3h多,还一道主席树发现我只会个板子,实际上完全不理解,遂切到洛谷温习数据结构; 这一天颓了好几个小时,总共就做了3道题+2道树状数组的板子题(没错我到现在才学会树状数组,之前一直用线段树) 本来是要把树状数组套主席树给做了的,一直理解不能,也就只能留到以后了0.0;T1题目:bzoj 3999 旅游 一道几乎裸的...原创 2018-02-08 23:47:30 · 247 阅读 · 1 评论 -
bzoj 4259 残缺的字符串
题目:bzoj4259 残缺的字符串 洛谷无需权限今天刚学的fft,于是专门找的这类题; 由于知道算法是什么,就奔着fft上想了; 比较容易就能得出,如果将模板串翻转位置之后,不足的位置补零再与要匹配的串做fft,那么得出的多项式中F[ i ]是所有下标之和为i的两个字符的乘积,而由于模板串后边的位置被补零,所以能够找到n-m个F[i]表示所有匹配情况; 接下来考虑怎么...原创 2018-02-12 21:09:06 · 391 阅读 · 0 评论 -
hnoi2017 礼物
题目:hnoi2017 这题还是比较可做,手玩一下就好了 设改变的亮度为c; c的取值范围为-100到+100; 其中一个子串每个亮度为Xi,另一个子串为Yi ans=∑i=1n(Xi−Yi+c)2ans=∑i=1n(Xi−Yi+c)2ans=\sum_{i=1}^n (X_i-Y_i+c)^2 平方展开得 ans=∑i=1n(Xi−Yi)2+∑i=1n(Xi−Yi)∗c∗2+∑i=1...原创 2018-02-12 23:34:28 · 285 阅读 · 0 评论 -
可修改主席树 算法总结
题目:dynamic rankings 折磨了我一天的树状数组套主席树,可算是搞懂一些; 所以马上来写一些东西防止我以后再忘掉; 带修主席树总体思路就是让树状数组的每一个节点都是一颗主席树,由于主席树和树状数组都是利用前缀和思想实现的,所以树状数组上的求和与多颗主席树的求和等价; 再加点优化,先建一颗静态主席树,然后在树状数组上维护修改量; 感觉这题代码上不加点注释很快我自己就忘了orz...原创 2018-02-09 11:11:07 · 537 阅读 · 0 评论 -
三元环&哈希表
标题这俩东西看起来似乎八杆子打不着,不过只是我在学三元环的时候才刚学到哈希表是个什么东西。。。 关于三元环的解法感觉Claris写的就很不错→%%Claris 我在这里再简单的说一下复杂的相关; 首先可以改成单向边,全都改成由大的点指向小的点(我自己写的是相反的。。。)然后枚举每一个点i,再枚举这个点的出边,如果连出的这个点(设为k)出度小于sqrt(m)的话,再暴力枚举一下另一个点,只看这...原创 2018-03-15 00:28:17 · 701 阅读 · 1 评论 -
BZOJ 1030 ac自动机+dp
题目:文本生成器 头一次做这类题目,果然智商又不够用了 我认为主要思想是将一个虚拟的串在ac自动机上进行匹配,再把匹配的状态记录下来,而不用生成所有的串一个个进行匹配,因为前缀相同的串在ac自动机上匹配的结果是相同的,只需要在相同前缀的分支后边进行26种不同的选择,每一种再分别对应到ac自动机上的一个状态; 而dp[i][j]就是记录的长度为i,能够匹配到j的不合法串 (答案就是总的可能串...原创 2018-02-20 16:55:09 · 156 阅读 · 0 评论 -
bzoj 4539 hnoi2016 树 倍增lca+主席树
题目:bzoj 4539 hnoi2016 树 为了做这题专门温习了一天的主席树,结果发现主席树在里边并不是主要作用? 主体部分基本一遍写过,不过这题很坑的是有几个地方需要开longlong,因为1e5*1e5能够爆int 读数的时候也得读longlong 思路:一开始我以为是递归似的合并,然后很差异这样树的大小是指数级的,后来才发现一直以一个模板树来复制。。。 这样就很好做了,将每个复...原创 2018-02-09 16:55:38 · 187 阅读 · 0 评论