自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kma_093

永远年轻永远代码跑不起来

  • 博客(133)
  • 收藏
  • 关注

原创 kma 2019CSP前刷题记录

2019/10/25 \([LNOI2014]\ LCA\) \([Luogu\ P2774]\) 方格取数问题 \(Gauss\)消元板 \([JSOI2008]\)球形空间产生器 2019/10/26 \([BJOI2018]\)求和 铺地毯 2019/10/28 \([SDOI2006]\)线性方程组 传纸条 方格取数 乌龟棋 愤怒的小鸟 2019/10/29 考试题...

2019-10-28 22:11:00 266 1

原创 机房的沙茶日常

2019.7.19 EarringYYR:我来算一下这水还能喝多久……12瓶一箱我们六个人一人两瓶一天两箱……完了怎么只能喝四天了! kma:我懂了,一定是每天我们一人两瓶你再多喝一箱对吧 wlj:比喝水是吧,来我们从旁边新拿一瓶,Gilth计一下时 然后两个人笑了一分钟 因为浪费水被gigo和FSYolanda制止并没有了 2019.7.23 和FSYolanda,wlj以及EarringY...

2019-08-14 15:07:32 218

原创 2019NOIP算法复健+学习

前言: 原本因为kma太弱,很多算法没学学了也不会用,打算设置密码给自己看。后来想了想,觉得也没有必要,既然决定了要学些东西到脑子里,就没什么好丢人的。 注:“×”意为完全没学,“O”意为学了但还不太会用的,“√”为目前基本复健成功的。 数据结构: (√)线段树 (×)线段树扩展1:zkw线段树 (×)线段树扩展2:李超线段树 (O)线段树扩展3:主席树 (√)ST表——解决RMQ...

2019-06-24 14:52:00 202

原创 博客指路

求各位还是去看我cnblogs上的吧,这个同步太垃圾了

2018-10-06 14:34:54 269

原创 [SCOI2009]游戏

链接 [SCOI2009]游戏 题解 先把图建出来,容易发现这是一张由点和环构成的图,每个环转回去需要的步数就是环的长度,多个环同时转回去的最小长度为\(lcm(len_1, len_2, len_3, ... , len_n)\)。 又环的长度和为\(n\),问题可转化成把一个正整数\(n\)分解成若干数的和,求他们的\(lcm\)的可能方案数 把\(lcm\)分解质因数,考虑一堆数的...

2020-07-29 09:35:00 293

原创 CF757G Can Bash Save the Day?

太菜了代码还没调出来 先把思路放这 纪念一下第一道自己想的黑题 虽然比较水 analysis 链剖+主席树 套路题,考虑像\([LNOI2014]LCA\)一样把每个点到根上打上标记,然后对每个\(x\)查询 由于本题强制在线,所以需要一个可以查询历史版本的数据结构,即可持久化线段树 发现修改操作只影响第\(x\)棵主席树,暴力重构即可 另外由于需要支持区间修改,主席树需要写标记永久化 ...

2020-06-05 15:09:00 276 1

原创 [NOI2016]区间

传送门 Analysis 首先对坐标离散化,注意预先存储原长度 考虑对长度从小到大排序,然后\(2\ Pointers\)扫描,右端不断加入区间并覆盖相应长度,当某一时刻存在点被覆盖\(m\)次时更新答案,并同时移动左指针(左端在移动的过程中可能有多次更新答案的机会)到第一个不满足被覆盖\(m\)次的区间 由于先前对坐标进行了离散化,对点被覆盖次数的维护用线段树进行,区间加区间\(max...

2020-05-30 14:42:00 230

原创 [JSOI2007]文本生成器

传送门 Analysis AC自动机+dp 直接从正面做 设\(f[i][j][0/1]\)表示在节点\(i\),串长为\(j\),是否已经经过结尾点的总方案数,然后从父亲向儿子转移 做\(dp\)的时候不用跳\(fail\),在构建\(fail\)指针的时候顺带把对于结尾点的标记通过\(fail\)指针扩展到它在\(fail\)树上的祖先(不知道这样理解对不对) ps:大写看成小写调了...

2020-05-28 15:46:00 190

原创 2020寒假-莫队小结

莫队算法笔记 算法笔记 好题 HH的项链 BZOJ 1878: [SDOI2009]HH的项链 每次移动左右指针的时候维护每种项链出现次数的\(cnt\)数组,当从无到有和从有到无的时候统计答案 洛谷卡这道题,上B站交 #include<bits/stdc++.h> using namespace std; inline int read() { int cnt = ...

2020-01-20 16:00:00 252

原创 寒假 Plans

挂一下咕的东西 因为kma不论写在哪个本子上都会弄丢 莫队 BZOJ3289 主席树 BZOJ2223 BZOJ2588 BZOJ2653 BZOJ4408 半平面交 BZOJ2618

2020-01-19 13:54:00 144

原创 2019集训总结

集训期间学法小结,得与失 找选手博客,看教程抄模板练题练题练题 题做太杂了= =很多算法都仅仅满足于过了个板,导致一个算法都没掌握好 除了几个写的比较多的算法,其余的学习过程基本是这样的: 看详解→我看懂了!→抄个模板,码码码然后AC之→好的我会了!→咦这个dp不错,写之;咦这个数据结构傻题也不错,写之→…→一段时间后:我学过这个算法? 在各种算法间反复横跳堪比杂技演员,然而并没有真正...

2020-01-05 20:12:00 229

原创 浅谈树链剖分

定义 (不严谨的口胡) 树链剖分将一棵树按照某种方式划分成多条链,再利用一系列数据结构对链上信息进行维护。 有什么用? 详见洛谷模板P3384 支持: 求\(LCA\) 路径信息维护 子树信息维护 ... 算法实现 怎么实现呢? 因为博主太菜了不会长链剖分,所以这里讲轻重链剖分 据说也有名字叫启发式剖分? 在轻重链剖分中,每个非叶节点有且仅有一个重儿子,其余子节点为轻儿...

2019-12-27 21:33:55 146

原创 [HNOI2016] 序列

题目链接: 序列 题目分析: 看到询问跳来跳去,各个询问之间的计算又有重叠部分,考虑能不能莫队一下 麻烦的是如何\(O(1)\)求\(l,r\)指针挪动一格的时候更新答案 以考虑挪动右指针为例 \([l, r] \rightarrow [l, r + 1]\) 新产生的区间是所有以\(r + 1\)为右端点,左端点在\([l, r + 1]\)内的所有区间 然后我们发现最小值是一段一段出现...

2019-12-14 01:30:00 217

原创 莫队算法学习笔记

莫队算法 一句话算法:莫队是一种基于分块和询问排序思想的序列处理算法,因此大部分时间,我们需要离线询问,再对询问按某些优先级排序处理。 例题 详情见小Z的袜子,推导过程与莫队无关故略去,这里直接给出结论: 对于一个询问\([l, r]\),\(ans = \frac{\sum\limits_{i = 1}^{C}cnt[i] * (cnt[i] - 1)}{(r - l + 1)(r - ...

2019-12-13 17:20:00 161

原创 CF1265B Beautiful Numbers

题意 给一个长度为\(n\)的排列\(P\),求对于\(1\) 到 \(n\)中的每个数\(m\),是否能找到一段长度为\(m\)的区间使得区间内的数是一个\(1\)到\(m\)的排列。 输出一个\(01\)串,其中第\(i\)位表示是否能找到一段长度为\(i\)的区间使得区间内的数是一个\(1 - i\)的排列 \(n \leq 2e5\) 分析 对于某个数,如果能找到一段区间使它合...

2019-12-06 19:29:00 260

原创 2019/11/12 CSP模拟赛&&考前小总结

写在前面的总结 离联赛只有几天了,也马上就要回归文化课了。 有点舍不得,感觉自己的水平刚刚有点起色,却又要被抓回文化课教室了,真想在机房再赖几天啊。 像19/11/11那场的简单题,自己还是能敲出一些比较稳的暴力,虽然不见得能拿很高档的暴力或者打出正解,但至少不会挂分,最后能拿到的分数也还能看。但是一上点难度,或者不对胃口,就明显感觉力不从心。总是只能打最低档的暴力,甚至有些题只能拿\(...

2019-11-13 19:25:00 204

原创 方格取数问题

题目链接: 点我 题目分析: 网络流 考虑先将棋盘黑白染色变成二分图,这样使得每个格子有公共边的其他格子和它自己都是异色的,然后把它向其他四个方向的点连一下边,边容量\(INF\),\(S\)连黑点,容量为权值,白点连\(T\),容量同理 于是问题转化为一个最小割问题 代码: #include<bits/stdc++.h> #define INF (1000000000 + ...

2019-11-12 08:28:00 147

原创 [BJOI2018]求和

题目链接: 点我 题目分析: 观察到\(k\)只有\(50\),时间复杂度完全能承受直接预处理 在每个点上预处理一下从根到这个点的所有节点深度的\(k\)次方和,然后树上差分一下即可 代码: #include<bits/stdc++.h> #define N (300000 + 10) #define ll long long #define int ll using nam...

2019-11-12 08:19:00 202

原创 NOIP 2010 引水入城

题目链接: 点我 题目分析 \(dfs\)+记忆化 首先\(dfs\)一下求下面的点是不是能全被覆盖到,打一个标记 顺便记忆化一下最后一排左右延伸能延伸到哪里 然后对于最后一排如果能流满,那么还有一个性质,每个起点能覆盖的最后一排是一个连续段 这一点证明可以看洛谷博客,简单来说就是如果两个起点的水流在某个点流到一起了,那顺着分叉一定能流到另外一边的 代码细节实现上还是不够熟练,裸的\(d...

2019-11-12 08:15:00 159

原创 2019/11/8 CSP模拟

T1 药品实验 内网#4803 由概率定义,有\[a + b + c = 0\] 变形得到\[1 - b = a + c\] 根据题意有\[p_i = a p _{i - 1} + b p_i + c p_{i + 1}\] \[\therefore (1 - b) p_i = a p_{i - 1} + c p_{i + 1}\] \[\therefore (a + c) p_i = ...

2019-11-08 17:25:00 256

原创 Mark区

NOIP2017逛公园题解(少数没被叉的) StudyingFather的洛谷题单

2019-11-07 16:12:00 125

原创 NOIP2016 天天爱跑步

题目链接 传送门 题目分析 虽然好像看起来不难,但是就是想不到啊 部分分感觉可以拿\(60pts\),但还没打代码验证完,分析暂时不放上来 2019/11/7 UPD: 把最后一档特殊点的部分分想了一下,这下应该\(80pts\)了,口胡一下部分分思路吧,不保证对 #1~#2:所有人起点等于自己终点: 起点所在点\(w_i\)若为\(0\)则能观测到,否则不能,其他点不能 #3~#4:...

2019-11-06 22:22:00 184

原创 NOIP2016 解题报告

D1T1 玩具谜题 xjb模拟即可 #include<bits/stdc++.h> #define N (100000+5) using namespace std; inline int read() { int cnt = 0, f = 1; char c; c = getchar(); while (!isdigit(c)) { ...

2019-11-06 21:56:00 169

原创 POJ1821 Fence

题目链接 POJ182 题目分析: 见\(lyd\)书\(0x59\)单调队列优化\(DP\) 代码: #include<iostream> #include<cstring> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath>...

2019-11-04 15:39:00 299

原创 CF1110D Jongmah

题目链接: luogu 题目分析: 神仙\(dp\),不知道怎么想到的状态…… 统计一下每个数出现的个数,设为\(cnt_i\) 发现如果有三个三元组\([a - 1, a, a + 1]\),那么可以拆分成三个\(a - 1\),三个\(a\)和三个\(a + 1\),所以只考虑前面的三元组即可 那么设\(dp_{i, j, k}\)表示\(dp\)到第\(i\)个数,其中关于\(i\...

2019-11-04 15:06:00 354

原创 CF377D Developing Game

题目链接: luogu 题目分析: 把每个人当成一个三元组\([l_i, r_i, v_i]\) 考虑每个人对哪个能力区间\([L, R]\)有贡献 应该是左端点在\([l_i, v_i]\),右端点在\([v_i, r_i]\)的区间 拍到一个二维平面上,求最多有多少个矩形交一起 线段树维护扫描线即可 代码: #include<bits/stdc++.h> #define ...

2019-11-04 14:43:00 203

原创 Super OJ 序列计数

题意: 给出序列 a1,a2,……an(0≤ai≤109),求三元组(ai,aj,ak)(1≤i<j<k≤n)满足 ai<aj>ak 的数量。 分析: 开两个\(BIT\),分别维护前面比它小的和后面比它大的,然后组合计数一下即可 代码: #include<bits/stdc++.h> #define lowbit(x) (x & (-x)) #define ll...

2019-11-04 12:14:00 271

原创 [USACO08JAN]牛大赛Cow Contest

题目链接: Cow Contest 分析: 听说是一个Floyd求传递闭包 被拓扑的标签骗了进去 首先如果整个图不连通那么显然没办法确定,因为两个连通块之间的信息没有办法传递 所以先并查集判一下 然后考虑拓扑排序,一个点能得到确定的排名当且仅当它能被之前所有入过队的点到达 代码: #include<bits/stdc++.h> #define N (300 + 10) #de...

2019-11-04 12:06:00 166

原创 2019/11/1 CSP模拟

写在前面的反思 该拿的部分分还是得拿完啊,因为懒+动作慢没有写最后一道题的菊花图和链的情况,其实这两个点并不难。。 虽然只有\(10pts\),但是已经足够往上爬一截了啊,额外的\(10pts\)在今天大众分\(210pts\)的背景下显得好重要 另外\(T2\)下来发现最后判断的地方假了,所幸好像它能跑得动的数据范围内都没出问题,但要卡还是很好卡,只是这次运气好没被卡而已,下次写的时候...

2019-11-01 21:40:00 146

原创 [LNOI2014] LCA

题目链接: 题目链接 题目分析 考虑暴力 枚举每个询问,从\(l\)到\(r\)依次把每个节点抓出来和\(z\)求\(LCA\)并累加\(dep\),复杂度\(O(n^2log(n))\) 考虑怎么优化,有两种入手点 一次性快速求出一大堆\(LCA\)(不会,告辞) 或者能集中统计\(dep\) 走后面一条路吧,前面一条是什么鬼啊不会啊\(QAQ\) 假装我们不会倍增不会树剖不会\(...

2019-10-28 18:14:00 185

原创 2019/10/24 CSP-S 模拟

T1 tom 题意: 考虑一定是属于\(a\)的在一坨,属于\(b\)的在一坨,找到这条连接\(a\)和\(b\)的边,然后分别直接按\(dfs\)序染色即可 注意属于\(a\)的连通块或属于\(b\)的连通块可能在\(dfs\)树上不都体现为一棵完整的子树,所以需要都判断一下 #include<bits/stdc++.h> #define N (200000 + 10) ...

2019-10-24 21:44:00 146

原创 浅谈树链剖分

定义 (不严谨的口胡) 树链剖分将一棵树按照某种方式划分成多条链,再利用一系列数据结构对链上信息进行维护。 有什么用? 详见洛谷模板P3384 支持: 求LCALCALCA 路径信息维护 子树信息维护 … 算法实现 怎么实现呢? 因为博主太菜了不会长链剖分,所以这里讲轻重链剖分 据说也有名字叫启发式剖分? 在轻重链剖分中,每个非叶节点有且仅有一个重儿子,其余子节点为轻儿子。轻重儿子划分的依...

2019-10-22 22:10:04 368 2

原创 2019/10/17 CSP模拟 总结

T1 补票 Ticket 没什么好说的,不讲了 T2 删数字 Number 很后悔的是其实考场上不仅想出了正解的方程,甚至连优化都想到了,却因为码力不足只打了\(O(n^2)\)暴力,甚至还因为细节挂成了\(40\ pts\) 以后还是应该多写一下码农题 规定一下,下面的\(j\)没有特殊说明,取值范围默认在\(1, i - 1\) 考虑什么情况是合法的,首先最后对答案有贡献的元素组成的...

2019-10-17 17:09:00 182

原创 CF402D 【Upgrading Array】

题目链接: CF402D 题目分析: 首先考虑一下怎么求每个数的分数。把每个数分解到最后会发现它的坏质因子对它分数的贡献是\(-1\),好质因子对它分数的贡献是\(1\),那么最后的分数就是好质因数-坏质因数 然后想一想怎么操作。我们的最优答案是把所有能除掉的负数分数的\(gcd\)全部除掉,一个很显然的贪心是从后往前操作,因为前面操作了之后后面的\(gcd\)就恒为\(1\),操作不下...

2019-10-15 16:24:00 155

原创 2019/10/9 CSP-S 模拟测

T1:最大约数和 给定一个正整数 S,现在要求你选出若干个互不相同的正整数,使得它们的和不大于 S,而且每个数的因数(不包括本身)之和最大。S <= 1000 分析: 其实考完才听他们说是背包,不过也没差了,不管了 首先约数和\(sum\)是可以预处理的,用类似埃氏筛的方式枚举一下然后累加一下 然后发现有很明显的阶段,考虑\(dp\) \(f[i] = f[j] + sum[i...

2019-10-09 21:48:00 188

原创 洛谷P2625 豪华游轮

题目链接: 题目 题目分析: 显然可以把过程分成以下几个过程 往前把能走的走完 向后转最接近\(180°\)的度数 向后把能走的走完 原地转完剩下的旋转操作 最后一步可以不用管,因为反正没有产生位移 需要操作一下的就是向后转的动作,用类似\(0/1\)背包的思想\(DP\)一下,然后余弦定理一下即可 代码: #include<bits/stdc++.h> using na...

2019-10-06 14:44:00 203

原创 [CERC2015]Digit Division

题目链接: 题目 分析: 首先考虑这样一个东西 如果\(t|a, t|b\),那么显然\(a,b\)拼起来也整除\(t\) 那么如果\(t|a\),\(a,b\)拼起来不整除\(t\),一定有\(t\)不整除\(b\) 于是事情一下好办了起来,类似读优的方式从左到右扫描并拆位,如果当前拆下来的左半边能整除就增量答案\(cnt\) 如果最后整个数不整除\(t\),那么拆不了,直接输出\(0...

2019-10-06 10:05:00 198

原创 [SDOI2012]拯救小云公主

题目链接: 题目 分析 最大的最小最小的最大 一看就非常的二分 考虑二分之后转化成判定联通问题 于是可以考虑奶酪 直接维护联通好像很\(GG\),正难则反考虑维护不连通 什么时候不连通,发现当左上角和右下角分在两个块里面就凉了 当上和右边或上和下边联通的时候左上角和右下角被分割在两块 另外两种情况同理 于是并查集仿照奶酪维护一下,如果四种都没联通说明可以走到 外面再套个二分 复杂度\(O...

2019-10-04 15:46:00 198

原创 [不知道出自什么OJ]最大利润

题目描述 政府邀请了你在火车站开饭店,但不允许同时在两个相连接的火车站开。任意两个火车站有且只有一条路径,每个火车站最多有50个和它相连接的火车站。 告诉你每个火车站的利润,问你可以获得的最大利润为多少。 输入格式 第一行输入整数N(N≤100000),表示有N个火车站,分别用1,2,... ,N来编号。 接下来N行,每行一个整数(不超过10000)表示每个站点的利润。 接下来N-...

2019-10-03 22:42:00 296

原创 [USACO08FEB]修路Making the Grade

题目链接: 走这里 题目分析: 考虑绝对值的几何意义,显然\(b\)里的数一定在\(a\)里出现过 离不离散化问题不大,用下标作第二位状态就行 设\(dp[i][j]\)表示第\(i\)个数,高度为\(a[j]\)时的最优解 方程见代码 代码: #include<bits/stdc++.h> #define int long long #define N (2000 + 10...

2019-10-03 17:12:00 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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