上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 人生第一颗动态树 动态树就是类似树链剖分的利用splay森林维护树上一些链的操作 因为虚实链可以变化,所以叫做动态树 然后因为是splay森林,所以判断是否存在g时应当使用isroot(f)而不是g==0 然后是常规的splay操作 link和cut时注意判断合法 上代码 cpp include i 阅读全文
posted @ 2018-12-03 10:33 dreagonm 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 区间众数的重题 和数列分块入门9双倍经验还是挺好的 然后开O2水过 好像有不带log的写法啊 之后在补~~就是咕咕咕~~ cpp // luogu judger enable o2 include include include include include include using names 阅读全文
posted @ 2018-12-01 11:24 dreagonm 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 昨天对着代码看了一晚上 然后今天终于在loj上过了 数列分块入门9题撒花 ★,° :.☆( ̄▽ ̄)/$: .°★ 。 然后相当玄学 块的大小调成$\sqrt{n}$会TLE,改成150就过了 啧 然后就是用map离散化之后的值不能直接比较大小 锅锅锅 cpp include include incl 阅读全文
posted @ 2018-12-01 10:17 dreagonm 阅读(297) 评论(0) 推荐(1) 编辑
摘要: 两个锅 一个是sametag[i]==c 另一个是a[j]不要写成a[i] cpp include include include include using namespace std; int belong[100100],sametag[100100],n,a[100100],sz,block 阅读全文
posted @ 2018-11-30 19:58 dreagonm 阅读(228) 评论(0) 推荐(0) 编辑
摘要: pushdown的addtag[x]打成addtag[i],结果WA了一次 cpp include include include include using namespace std; const int MOD = 10007; int belong[100100],tagadd[100100 阅读全文
posted @ 2018-11-30 19:17 dreagonm 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 真是暴力 cpp include include include include include using namespace std; vector Vec[600]; int stack[250000],belong[250000],n,cnt,cntinsert=0,sz,blocknum; 阅读全文
posted @ 2018-11-30 17:24 dreagonm 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 平衡树的裸题,操作都相当简单 写了一个FHQ,但是奈何常数太大,实在过不去 最后写了一个Treap开O2水过 TREAP代码 cpp include include include include using namespace std; struct node{ int sz,key,ran,l, 阅读全文
posted @ 2018-11-30 00:18 dreagonm 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 终于yy过去了 撒花 调了一天半,出了无数锅 以下是出锅列表 rotate的时候要判断父亲节点的父亲节点是否存在 rotate的时候记得修改节点的父亲信息 pushdown的时候注意特判有无左右子树 本题最大子段和要求至少要有一个数字 splay的每个节点中都存有一个点的权值,和线段树不同 lx和r 阅读全文
posted @ 2018-11-29 16:58 dreagonm 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 写平衡树修锅快修到死系列 ~~我太蠢了~~ 其实是平衡树~~裸体~~裸题 插入,删除,交换前驱或后继,查询rank和kth 维护一个pos数组,表示第i个书的编号 然后注意许许多多的细节,没了 cpp include include include using namespace std; stru 阅读全文
posted @ 2018-11-27 21:31 dreagonm 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 对着题目yy了一天加上看了一中午题解,终于搞明白了~~我太弱了~~ 连边就是合并线段树,把小的集合合并到大的上,可以保证规模至少增加一半,复杂度可以是$O(logn)$ 合并的时候暴力dfs修改倍增数组和维护主席树即可 然后树上主席树就是维护节点到根节点的信息即可, 询问链上的第k大时,画图后可以发 阅读全文
posted @ 2018-11-26 21:11 dreagonm 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 要求 1.修改x位置的值为y 2.查询区间l,r是否可以重排为值域上连续的一段 ~~可以,很lxl~~ 然后一开始思考合并区间,但是发现可以重排序,GG 然后想了特殊性质,比如求和,但是显然可以被叉 这时候我觉得要把每个数都尽量特殊化,让不同数字差异化之后和尽量不同,考虑维护一个立方和 求1到n的立 阅读全文
posted @ 2018-11-25 21:49 dreagonm 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 恕我才学浅薄,一开始想到的是树状数组+线段树,然后看了题解才第一次见到了差分这种神奇的科技 仔细想想,主席树的本质不就是前缀和嘛,加上一个差分也是可以的,没想到真是罪过罪过 对时间维护一个差分 在Si处+Ki,在Ti+1处 Ki 用主席树维护插入的数即可 不是很复杂就是代码写了好长时间~~而且越de 阅读全文
posted @ 2018-11-25 20:31 dreagonm 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 想了好久,没想到优秀的解法,结果是个暴力~~大吃一静.jpg~~ 分类讨论,预处理$p\le \sqrt{n}$ 的情况,其他直接暴力,复杂度$O(n \sqrt{n} )$ cpp include include include include using namespace std; int p 阅读全文
posted @ 2018-11-25 11:19 dreagonm 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 分情况讨论,结果是两条路径有公共点时,深度大的LCA在另一条路径上且另一条路径的两个端点至少其中一个的与深度大的LCA的LCA为那个深度大的LCA cpp include include include using namespace std; int u[501000 2],v[500100 2] 阅读全文
posted @ 2018-11-24 11:19 dreagonm 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 设$xorx[l][r]$表示题目中$f(l,r)$的值,则可以得出 $$ xorx[i][j]=xorx[i][j 1] \oplus xorx[i+1][j] $$ 设$maxx[l][r]$表示区间$\left [ l,r\right]$内$f(l,r)$的最大值 $$ maxx[l][r]= 阅读全文
posted @ 2018-11-01 23:42 dreagonm 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 期望DP 设$g[i]$表示前i个的连续1的期望长度,$h[i]$表示前i个连续1的长度的平方的期望,$f[i]$表示前i个的期望得分 由期望的线性性质,我们可以考虑统计新增一个对答案的贡献 $$ E((x+1)^3) E(x^3)=E(3x^2+3x+1) $$ 然后递推统计即可 cpp incl 阅读全文
posted @ 2018-11-01 23:18 dreagonm 阅读(168) 评论(0) 推荐(1) 编辑
摘要: 按位贪心+DP的好题qwq 首先看到题目的要求,统计价值的时候的操作是按位与,就要有按位分别计算的意识 ~~开始没意识到结果想了好久还是看了题解才想到~~ 由于统计价值的方式不是加和,所以可能会出现两个较大的值AND起来更小甚至变成0,所以不能直接DP 考虑按位贪心 显然高位为1后的值一定比高位不为 阅读全文
posted @ 2018-11-01 17:27 dreagonm 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 第一场打的很惨淡啊 t1二分+前缀最小值没想出来,20分的暴力也挂了,只有10分 t2数位dp,调了半天,结果因为忘了判0的特殊情况WA了一个点,亏死 t3emmmm.. 不会 imone说是DSU on tree的裸题 然后打了半个小时,A了qwq 题解回头再补 阅读全文
posted @ 2018-09-09 22:44 dreagonm 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 第一次AK的ABC 虽然题非常简单 但是值得纪念一下 T1 一道很水的题 不存在做法 纯粹乱跑 但是我把Yes打成YES了,哭唧唧 T2 就是普通的判重和模拟 stl真好用 T3 有趣的GCD应用 秒掉 T4 乍一看不好做其实很水的构造 阅读全文
posted @ 2018-09-08 22:27 dreagonm 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 学了下线性基 使用好像并不复杂 打了板子 但是要注意位运算优先级 阅读全文
posted @ 2018-09-08 13:48 dreagonm 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 可以说是数据结构学傻了的典型案例了 昨天跳到这题上 然后思考了一下 噫!好!线段树裸题 然后打完板子,发现\( n \le 10^9 \) 显然线段树直接做不太行 然后这题又只有普及的难度 然后我就打了神奇的动态开点线段树水过 qwq 之后看题解发现正解是\( O(m^2) \)的暴力 因为常数小跑 阅读全文
posted @ 2018-09-08 07:15 dreagonm 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 矩阵乘法加速线性递推的典型 大概套路就是先构造一个矩阵\( F \)使得另一初始矩阵\( A \)乘以\( F^{x} \)能够得出第n项 跑的飞快 虽然我也不知道那个矩阵要怎么构造 或许就像我使用了瞪眼法和枚举法 阅读全文
posted @ 2018-09-07 17:30 dreagonm 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 模板题 留个档 阅读全文
posted @ 2018-09-07 16:33 dreagonm 阅读(254) 评论(0) 推荐(0) 编辑
摘要: T1 规律题 考虑先全部选中再去重即可 T2 科技题 考试的时候完全不知道有传递闭包的黑科技 可以解决比如\( a \) 和\( b \)是否联通 \( a\)到\( b \)有多少条长度为k的路径的问题 有Floyd和矩阵快速幂两种解法 比较有趣 然后记得开long long T3 单调栈经典应用 阅读全文
posted @ 2018-09-07 16:27 dreagonm 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 裸的传递闭包 直接Floyd暴力即可 阅读全文
posted @ 2018-09-07 15:01 dreagonm 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 贪心的选取最优解 然后相减好 记得要开long long 阅读全文
posted @ 2018-09-07 08:49 dreagonm 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 按照题意构造集合即可 注意无解情况的判断 阅读全文
posted @ 2018-09-07 08:47 dreagonm 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 依照题意暴力模拟即可A掉 阅读全文
posted @ 2018-09-07 08:45 dreagonm 阅读(109) 评论(0) 推荐(0) 编辑
摘要: T2还是模拟 枚举一下第一个放哪里 然后贪心的反转即可 虽然我也不会证,但是这题肯定有解qwq 阅读全文
posted @ 2018-09-06 08:26 dreagonm 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 暴力模拟即可 就是情况略多 阅读全文
posted @ 2018-09-06 07:39 dreagonm 阅读(170) 评论(0) 推荐(0) 编辑
摘要: qwq为啥说的很正经啊 然而并不是 首先就是t3 线段树随便跑跑,五分钟切掉 然后比std快了100ms2333333 然后t1,很恶心的题 推了半天性质 然后发现了问题 然后递归写法怎么都不对 然后改成迭代 调了下参数 行了 t2好像是个倍增? 不会,告辞,打扰了 然后200滚粗 阅读全文
posted @ 2018-09-05 21:05 dreagonm 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 这题是一道区间DP 思维难度主要集中在如何预处理距离上 由生活经验得,邮局放在中间显然最优 所以我们可以递推求出\( w[i][j] \)表示i,j之间放一个邮局得距离 然后设出状态转移方程 设\( dp[i][j] \)表示从1开始到i放j个邮局的最短距离 然后转移为:\( dp[i][j]=mi 阅读全文
posted @ 2018-09-04 19:20 dreagonm 阅读(737) 评论(0) 推荐(1) 编辑
摘要: 这道题还是关于数位DP的板子题 数位DP有一个显著的特征,就是求的东西大概率与输入关系不大,理论上一般都是数的构成规律 然后这题就是算一个\( F(A) \)的公式值,然后求\( \left [ 0 , B \right ] \)区间内\( F(x) \)不大于\( F(A) \)的数的个数 所以由 阅读全文
posted @ 2018-09-04 15:22 dreagonm 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 最近在学数位DP 应该是入门题吧 设\( dp[i][0/1] \)表示到第\( i \)位时,前一位是否是6的满足条件的数的个数 然后就是套路 注意\( limit \)的限制条件以及转移时候信息的记录,不能遗漏信息 代码写的记忆化搜索 阅读全文
posted @ 2018-09-04 13:19 dreagonm 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 还是dfs? 好像自己写的有锅 过不去 看了题解修改了才过qwq 阅读全文
posted @ 2018-09-04 09:18 dreagonm 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 随便模拟下就过了qwq 然后忘了特判WA了QwQ 阅读全文
posted @ 2018-09-03 21:07 dreagonm 阅读(140) 评论(1) 推荐(0) 编辑
摘要: 思路很妙的背包 用了一些前缀和的思想 去掉了一个物品,我们可以从前i-1个和后i+1个推出答案 奇妙的思路 阅读全文
posted @ 2018-09-03 12:58 dreagonm 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 是一道水题 虽然看起来像是DP,但其实是贪心 扫一遍就A了 QwQ 阅读全文
posted @ 2018-09-03 10:07 dreagonm 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目要求很简单,做法很粗暴 直接扫一遍即可 注意结果会爆int 阅读全文
posted @ 2018-09-03 08:01 dreagonm 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 就是找一下规律 但是奈何昨天晚上脑子抽 推错了一项QwQ 然后重新一想 A掉了QwQ 阅读全文
posted @ 2018-09-03 07:38 dreagonm 阅读(127) 评论(1) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页