上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: ~~非常不负责任地水一篇博客~~ 昨天写的题了,就是splay的基础操作吧。 我们可以知道将splay左右两个子节点交换就是这个序列的交换。那么我们维护一个tag来记录是否翻转该区间就可以了(注意查询的时候一定要下放!!!) 最后如何输出序列呢?思考splay的性质,其实就是中序遍历就可以啦! 有个 阅读全文
posted @ 2019-01-07 19:48 风浔凌 阅读(158) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 一个严格次小生成树的模板题。 看到次小生成树,我们有一个很直观的想法就是先构造出来最小生成树,然后将这个最小生成树上面最大的一条边替换成和它值最相近而且比他大的边。 那么首先就是用kruskal算法算出来最小生成树,我们称在这个最小生成树上面的边为 树边 (打上标记),不在的边为 非树 阅读全文
posted @ 2019-01-05 20:57 风浔凌 阅读(265) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-04 12:50 风浔凌 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://darkbzoj.cf/problem/3864 这个是DP套DP的典型例题。 常规LCS的求法: 设dp[i][j]表示到a[i],b[j]的LCS。 那么if $a[i]!=b[j]$,then $dp[i][j]=max(dp[i][j 1],dp[i 1][j])$ 阅读全文
posted @ 2019-01-01 20:12 风浔凌 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题面: "bzoj" "luogu" NOI2010能量采集 题解 读完题之后我们发现在每个产生贡献的点$(x1,y1)$中,它与原点之间的点$(x2,y2)$都满足$x2|x1$,$y2|y1$。现在我们要求它与原点之间点的个数,也就是这个点$(x,y)$最大可以被除以多少——肯定是$gcd(x1 阅读全文
posted @ 2018-12-22 12:32 风浔凌 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3262 其实就是三位偏序的模板,cdq分治入门题。 学习cdq分治请看__stdcall大佬的博客: "传送门" 排序来维护第一层,cdq维护一层,树状数组维护一层,然后就没有啦qwqwq 阅读全文
posted @ 2018-12-16 17:59 风浔凌 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 求区间排名,第K大,单点修改,区间前驱,区间后驱。 时间复杂度O(logn^3) include include include include include define BASE (int)1e8 define MAXN 50010 define MAXNLOG 28 const int MA 阅读全文
posted @ 2018-12-13 14:42 风浔凌 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目传送:https://www.luogu.org/problemnew/show/P2468 这是一个二合一的题目,前50% $n!=1$的分数中,我们考虑用动态规划来做。 设$sum[i][j][k]$表示大于等于k的$[1,1]$到$[i,j]$范围内的数的总和,然后用$num[i][j][ 阅读全文
posted @ 2018-12-06 21:39 风浔凌 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 学习平面几何,首先我们要会熟练地应用向量,其次也要知道一些基本的几何知识。(其实看看数学课本就可以了吧) 因为是看的蓝书,所以很多东西做了引用。(update:还参考了赵和旭dalao的讲义) 下面先介绍一些常用的操作: 点的定义 向量的定义 值的判断 动态凸包:(请看我的 "这篇博客" ) 关键代 阅读全文
posted @ 2018-11-24 20:50 风浔凌 阅读(888) 评论(0) 推荐(0) 编辑
摘要: 点亮技能树行动—— 本篇blog按照分类将网上写的OI知识点归纳了一下,然后会附上蒟蒻我的学习笔记或者是我认为写的不错的专题博客qwqwqwq(好吧,其实已经咕咕咕了。。。) 基础算法 贪心 枚举 分治 倍增 构造 高精 模拟 图论 图 最短路,次短路 k短路 "差分约束" 最小生成树 拓扑排序 欧 阅读全文
posted @ 2018-11-21 21:18 风浔凌 阅读(798) 评论(3) 推荐(0) 编辑
摘要: 悬线法:一般求最大子矩形 悬线法,悬线的定义,就是一条竖线,这条竖线要满足上端点在整个矩形上边界或者是一个障碍点。然后以这条悬线进行左右移动,直到移至障碍点或者是矩阵边界,进而确定这条悬线所在的极大矩阵。 所以我们需要$Left[]$数组存每个点能到达的最右位置,$Right[]$数组存放每个点能到 阅读全文
posted @ 2018-11-09 16:46 风浔凌 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 本来是要做带权并查集才跳到这个题上的。。。但是最后懒省事写了一个差分约束。。。。唉 题解嘛——这题就是普通的差分约束吧?? 不会差分约束的话,可以看一下 "这篇博客" ,写的很详细很周全。 注意图可能不联通,这个时候要进行多遍spfa。而且注意同一组数据的话不用每次spfa都初始化!!! 代码如下: 阅读全文
posted @ 2018-11-08 17:24 风浔凌 阅读(206) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-11-08 12:49 风浔凌 阅读(147) 评论(1) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P3205 一个区间DP的题目。 设计状态为:$dp1[i][j]$表示当前区间为$[i,j]$,而且最后一个放入的在$i$位置,$dp2[i][j]$表示当前区间为$[i,j]$,而且最后一个放入的在$j$位置。 阅读全文
posted @ 2018-11-07 11:14 风浔凌 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 咕咕咕qwqwq 一些次常用的函数介绍: replace find 如果没有设置起始位置默认为 从头开始 。如果返回 1的话表示该字符串中没有查询的字符串出现。qwq 当然,如果读入的时候往右移动了一位,记得起始位置也要变一变qwqwq random_shuffle() 将数组打乱。 nth_ele 阅读全文
posted @ 2018-11-06 20:59 风浔凌 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://www.luogu.org/problemnew/show/P2195 http://codeforces.com/contest/455/problem/C 显然我们可以想到要用并查集来维护联通节点的信息。 然后题目要求的是合并之后树的直径最小。 然后我们可以知道在两个 阅读全文
posted @ 2018-11-06 18:53 风浔凌 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 今天上午学了一下fhq treap感觉真的很好用啊qwq 变量名解释: $size[i]$表示以该节点为根的子树大小 $fix[i]$表示随机权值 $val[i]$表示该节点的值 $ch[i][0]$表示该节点的左儿子 $ch[i][1]$表示该节点的右儿子 更新操作:update 就是用自己的左右 阅读全文
posted @ 2018-11-06 10:35 风浔凌 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P2680 原先写的题,忘了补题解了。。。咕咕咕~~今天重新写了一遍,现在补上。 题意就是一棵树,我们要使得一条边的权值为0来达成题目给定的几条路径的最大长度最小。 就是当我们做最优解问题的时候,如果不好做,可以考 阅读全文
posted @ 2018-11-05 19:33 风浔凌 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 比赛地址:https://www.luogu.org/contestnew/show/12006 唉,T3考试的时候zz了,把式子写错了。。。。结果只有30分啊,然后T4连10分都没骗到。虽然身为蒟蒻但实在有点自闭了,只好来发篇解题报告。。。qwq T1 P4994 终于结束的起点 就是简单的模拟, 阅读全文
posted @ 2018-11-04 19:04 风浔凌 阅读(202) 评论(0) 推荐(0) 编辑
摘要: T1 动态点分治 就是模拟。。。。。 但是没有过!! 看了题解之后发现。。。。 坑点:有可能 $xr$,就$break$ 以下是代码: include include include include include using namespace std; inline long long read 阅读全文
posted @ 2018-11-01 20:27 风浔凌 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 小奇挖矿 「题目背景」 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞过喵星系的n个星球。 「问题描述」 星球分为2类:资源型和维修型。 1.资源型:含矿物质量a[i],若选择开采,则得到a[i] p的金钱,之后钻头损耗k%,即p=p (1 0.01k) 2.维修型 阅读全文
posted @ 2018-10-31 21:26 风浔凌 阅读(349) 评论(0) 推荐(0) 编辑
摘要: Description 有N棵小草,编号0至N 1。奶牛Bessie不喜欢小草,所以Bessie要用剪刀剪草,目标是使得这N棵小草的高度总和不超过H。在第0时刻,第i棵小草的高度是h[i],接下来的每个整数时刻,会依次发生如下三个步骤: (1)每棵小草都长高了,第i棵小草长高的高度是grow[i]。 阅读全文
posted @ 2018-10-31 09:01 风浔凌 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P1772 DP套最短路。 还是蒟蒻做题少。。。开始想的是状压DP。。但是因为太蒻了,不会很高效地处理一些点集的最短路,弄了一个T飞的算法。之后看了题解才知道原来是可以用DP套最短路做的。。。。。 为什么需要DP? 阅读全文
posted @ 2018-10-30 11:19 风浔凌 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "改造路" "飞行路线" 其实这两道题基本上是一样的,就是分层图的套路题。 为什么是分层图呢?首先,我们的选择次数比较少,可以把这几层的图建出来而不会爆空间。然后因为选择一个边权为0的路线之后我们就进入了下一个状态,最短路的计算就和不选择这个边权为0的路线完全独立了。 所以我们把每一层的 阅读全文
posted @ 2018-10-29 15:26 风浔凌 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 用优先队列实现的代码: include include include include include include include include include include define rep(i,a,b) for(register int i=a;i=b;i ) using names 阅读全文
posted @ 2018-10-29 12:41 风浔凌 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 这个题比较简单,就是倍增。 设计状态$f[i][j]$为从节点$i$跳$2^k$步能够跳到的节点。 代码如下: include include include include include define MAXN 200010 using namespace std; int n; int sum 阅读全文
posted @ 2018-10-29 11:28 风浔凌 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P2059 概率DP。 我们设计状态为$sum[i][j]$表示还剩下i个人的时候,从庄家开始数第$j$个人获胜的概率(不包括庄家)。 之后就是状态转移了。我们先考虑顺推,但是发现不太可做,因为还有删除节点的情况存 阅读全文
posted @ 2018-10-29 06:34 风浔凌 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P2114 因为今天刚学bitset感到很开心,所以来做一做这个位运算的经典题。 bitset的用法详见:https://www.cnblogs.com/fengxunling/p/9864827.html 因为是 阅读全文
posted @ 2018-10-28 20:37 风浔凌 阅读(1071) 评论(0) 推荐(0) 编辑
摘要: 就是DP。 我们可以很简单的想到要枚举中间点,进行边数的转移。 但是因为边长数据范围很大,所以我们考虑log的倍增。 状态设计为$dp[i][j][k]$,为从节点$i$走$2^k$步能否走到节点$j$。但是我们发现这样不好转移状态(其实是我不太会啊) 正解是状态压缩,但是因为$n$有点大,所以这里 阅读全文
posted @ 2018-10-28 19:33 风浔凌 阅读(615) 评论(0) 推荐(1) 编辑
摘要: 其实看懂题就很水啦qwq,就是求$1 N$的约数啦。 暴力求的话时间复杂度是$O(NlogN)$的,其实正解是枚举每个数的倍数......这样的时间复杂度是$\frac{N}{1}+\frac{N}{2}+...+\frac{N}{N}$的,由于调和级数可以看做$O(log)$,所以总复杂度为$O( 阅读全文
posted @ 2018-10-28 18:43 风浔凌 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 这是个很繁琐的贪心+模拟题。但是好在NOIP是随机数据,所以数据强度不是很大qwq 做题的时候我们注意一些细节就可以了。 并不是纯模拟+搜索,需要贪心。注意顺序:优先考虑顺子,之后是带牌,最后才是散牌 四带二可以带散牌,也可以带两个对子 有的情况二不能带 有一个优化是最后炸弹,对子,单牌,火箭,三张 阅读全文
posted @ 2018-10-27 19:03 风浔凌 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P3953 30分很好拿的样子,就是$k=0$的情况我们可以直接跑最短路计数;(代码之后放) 但是这个题应该算是一个DP题(至少我认为记忆化搜索属于DP的范畴),时间复杂度$O(TNK)$。 状态设计为$sum[i 阅读全文
posted @ 2018-10-27 13:53 风浔凌 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 其实这个题目描述有点锅啊qwq 看了题解之后才明白过来原来编号没有要求连续qwq~~(但是题目中描述的那么规则到底是要怎样啊)~~ 所以说这样题目就稍微简单了,要求的是初始环经过多少次变换成为符合条件的目标环。 那么首先我们需要先构建出来目标环。但是环不好处理,我们需要断环为链。但是断环为链显然是有 阅读全文
posted @ 2018-10-26 16:54 风浔凌 阅读(992) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P2458 看到题目之后——果断树形DP啊!! 但是怎么树形DP啊qwq。。。。开始想的是$dp[i][0/1]$来表示i节点选不选择。 那么状态转移方程: $dp[i][0]=\sum_{v=son(i)}^{} 阅读全文
posted @ 2018-10-25 16:28 风浔凌 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 看到数据范围这么小可以发现它就是一个搜索题啦qwq~~ (有树形DP的解法吗??有嘛??) 有一个很显然的策略就是到第$i$层的时候,切断一个第$i$层和第$i+1$层的边是局部最优,也是全局最优。 ~~所以说。。。看起来是bfs套dfs了???(逃)~~ 既然是搜索题,那么肯定是我们要从每层之间枚 阅读全文
posted @ 2018-10-24 21:45 风浔凌 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 果然是秒想差分约束跑spfa啊qwq。。。。。 但是万恶的出题人他卡spfa啊(关于spfa,它死了),于是我们的差分约束只能跑60分~~(开O2跑70)~~ 这是我的60分程序。。。(感觉不需要解释什么了吧,就是差分约束的连边) include include include include in 阅读全文
posted @ 2018-10-23 20:25 风浔凌 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://loj.ac/problem/2510 题目很长,但是事实上就是有2n 1个点,然后除了叶子节点,每个节点都有左右两条边(需要注意的是这两条边需要区分)。然后给这些边打标记,最后算叶子节点到根节点的没有打标记的左右两种边分别乘上花费的最小值。。。。(呃,我的解释是不是不太清 阅读全文
posted @ 2018-10-23 18:57 风浔凌 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 因为每行必须走完才能到下一行,所以我们有两种决策: 1、最后留在线段左端点 2、最后留在线段右端点 这种存在状态转移且多决策的问题用动态规划来进行递推是最好不过的了。 所以我们设$dp[i][0/1]$来表示在第$i$行最后留在左/右端点的行走路径最小值。然后设$sum[0/1][0/1]$来表示相 阅读全文
posted @ 2018-10-23 11:40 风浔凌 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ~~观察数据范围~~我们发现可以用DP来做这个题qwq,因为它每一位往上填的时候,无论怎么填,总可以从前面的状态转移过来。 而且题目保证了是从1 n的自然数,所以不存在相同数字的情况。 我们设计状态$dp[i][j]$为长度为i的序列(也就是前$i$个自然数)排成的序列中逆序对数量为$j$的答案个数 阅读全文
posted @ 2018-10-23 09:48 风浔凌 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 因为数据范围是2e5级别的,所以我们考虑用异或前缀和来处理区间的异或情况。(比如说a包括b,那么我们通过异或可以知道b对于a的补区间的信息) 之后因为对任意$a_i$进行取反操作,会改变它和它之后的区间值(原来相等的都不相等了,原来不相等的都相等了),所以结果是我们对原先的前缀和直接取反,就可以表示 阅读全文
posted @ 2018-10-19 15:01 风浔凌 阅读(318) 评论(1) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页