自定义博客皮肤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 182 1

原创 机房的沙茶日常

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

2019-08-14 15:07:32 150

原创 2019NOIP算法复健+学习

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

2019-06-24 14:52:00 130

原创 博客指路

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

2018-10-06 14:34:54 188

原创 [SCOI2009]游戏

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

2020-07-29 09:35:00 186

原创 CF757G Can Bash Save the Day?

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

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

原创 [NOI2016]区间

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

2020-05-30 14:42:00 127

原创 [JSOI2007]文本生成器

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

2020-05-28 15:46:00 120

原创 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 176

原创 寒假 Plans

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

2020-01-19 13:54:00 85

原创 2019集训总结

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

2020-01-05 20:12:00 147

原创 浅谈树链剖分

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

2019-12-27 21:33:55 82

原创 [HNOI2016] 序列

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

2019-12-14 01:30:00 120

原创 莫队算法学习笔记

莫队算法一句话算法:莫队是一种基于分块和询问排序思想的序列处理算法,因此大部分时间,我们需要离线询问,再对询问按某些优先级排序处理。例题详情见小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 98

原创 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 150

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

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

2019-11-13 19:25:00 126

原创 方格取数问题

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

2019-11-12 08:28:00 79

原创 [BJOI2018]求和

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

2019-11-12 08:19:00 128

原创 NOIP 2010 引水入城

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

2019-11-12 08:15:00 96

原创 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 172

原创 Mark区

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

2019-11-07 16:12:00 74

原创 NOIP2016 天天爱跑步

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

2019-11-06 22:22:00 100

原创 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 105

原创 POJ1821 Fence

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

2019-11-04 15:39:00 180

原创 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 246

原创 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 112

原创 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 170

原创 [USACO08JAN]牛大赛Cow Contest

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

2019-11-04 12:06:00 107

原创 2019/11/1 CSP模拟

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

2019-11-01 21:40:00 92

原创 [LNOI2014] LCA

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

2019-10-28 18:14:00 106

原创 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 89

原创 浅谈树链剖分

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

2019-10-22 22:10:04 212 2

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

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

2019-10-17 17:09:00 111

原创 CF402D 【Upgrading Array】

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

2019-10-15 16:24:00 96

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

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

2019-10-09 21:48:00 129

原创 洛谷P2625 豪华游轮

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

2019-10-06 14:44:00 124

原创 [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 108

原创 [SDOI2012]拯救小云公主

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

2019-10-04 15:46:00 124

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

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

2019-10-03 22:42:00 168

原创 [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 73

空空如也

空空如也

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

TA关注的人

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