自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chhokmah的博客

如果将梦想作为信仰,不放弃地追求下去,一定会梦想成真的。

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

原创 「HGDF赛#5」赛后题解

前言有一点时间可以写的详细一点了。。。原题是CFA-Regular Bracket Sequence题目大意给你四个字符串((((((、()()()、)()()(、)))))),问能否组成合法的括号序列。题解分别按照上面的顺序记为a,b,c,da,b,c,da,b,c,d。首先可以排除bbb号的所有情况,因为有没有bbb都是无所谓的。很明显如果aaa和ddd的数量不一样,那么一定...

2019-05-03 10:51:05 241 1

原创 「HGFD赛#1」赛后题解

A-Diversity题意简述给你一个长度为nnn的字符串,让你求出最少的需要修改几个字符,才能让这个字符串里面出现kkk个不同的字符。题解SBT(当然不是指那一个SBT如果字符串的长度超过了kkk,那么一定没有解。否则,就记录出现了哪一些字符,然后k−cntk-cntk−cnt为答案,其中cntcntcnt为出现了多少个不同的字符。**tips.**SB的我,最后没有和000取ma...

2019-05-03 10:23:17 317

原创 「HGDF赛#3」赛后简易题解

没时间写的详细了,点到为止。A-Kirill And The Game题解将xxx到yyy上的每一个数字都乘上kkk,只要有一个数字大于lll并且小于rrr,就可以yesyesyes,如果一个都没有,就nononoB-Gleb And Pizza题解几何题C-Ilya And The Tree题解近乎是暴力的记忆化搜索D-Vitya and Strange Lesson题解...

2019-05-03 10:23:07 244

原创 「HGDF赛#2」赛后题解

感想前444题还好啦,感觉都是可做的。关键是ETETET,简直是一个神仙毒瘤题。窝太弱了。qwqETETET是div1div1div1的CCC题,可以死掉了。A-Odds and Ends题目大意给你一个数组,询问能否将这个数组分割成奇数个奇数段,并且两段是奇数。题解可以肯定的是,如果这个数列原来的元素个数是奇数个,那么一定不可以分成奇数个奇数段。因为奇数×\times×奇数=奇...

2019-05-03 10:22:54 495

原创 「洛谷1600」「NOIP2016提高组」天天爱跑步【树上差分】

闲话为了理清这道题目的思路,我是边写博客边做题的,qwq。题目链接洛谷题解首先对变量进行声明dep[i] 表示i号节点的深度,是到根节点的深度w[i] 表示i号观测点观测的时间dfn[i] 表示i号点的dfn序sz[i] 表示i号点的子树大小以上图为例,蓝色点表示一个玩家的起点和终点。不妨先假设左边的点是起点,右边的点是终点,分别用sss和ttt来表示那...

2019-05-02 09:40:09 237

原创 「洛谷5017」「NOIP2018」摆渡车【DP,经典好题】

前言在考场被这个题搞自闭了,那个时候自己是真的太菜了。qwq现在水平稍微高了一点,就过来切一下这一道DPDPDP经典好题。附加一个题目链接:【洛谷】正文虽然题目非常的简短,但是解法有很多。我按照时间复杂度来写一下一些做法。博主只考虑了一些基于时间的做法,其他的再补。。时间复杂度:O(t2n)O(t^2n)O(t2n)借鉴sooke大佬的想法,把问题抽象成一个数轴。每一个人上车的...

2019-04-30 13:03:58 596 1

原创 「洛谷4197」「BZOJ3545」peak【线段树合并】

题目链接【洛谷】【BZOJ】没有权限号嘤嘤嘤。题号:3545题解窝不会克鲁斯卡尔重构树怎么办???可以离线乱搞。我们将所有的操作全都存下来。为了解决小于等于xxx的操作,那么我们按照长度来排一个序。如果询问和加边长度相同,这加边优先。对于每一个连通块进行权值线段树。权值线段树解决kkk大的问题。每一次合并,并查集判联通,线段树暴力合并。时间复杂度O(nlogn)O(nlog...

2019-04-28 20:57:54 141

原创 「FFT」题单(upd 2019.4.28)

持续更新ZJOI2014 力

2019-04-28 18:45:17 418

原创 「洛谷3338」「ZJOI2014」力【FFT】

题目链接【BZOJ】【洛谷】题解首先我们需要对这个式子进行化简,否则对着这么大一坨东西只能暴力。。。Fi=∑j&lt;iqiqj(i−j)2−∑j&gt;iqiqj(i−j)2F_i=\sum_{j&lt;i} \frac{q_iq_j}{(i-j)^2}-\sum_{j&gt;i} \frac{q_iq_j}{(i-j)^2}Fi​=j<i∑​(...

2019-04-28 18:39:20 118

原创 「POI2011 R2 Day2」Tree Rotations【线段树合并】

题目链接【BZOJ】【洛谷】【LOJ】题解由于是前序遍历,那么讨论一棵树上的逆序对的情况。两个节点都在左子树上两个节点都在右子树上两个节点分别在不同的子树上。前两种情况其实也可以归结于第三种情况。原因因为两个节点不可能占据一个位置。根据容斥原理,为了保证答案的正确性,我们递归求解不能计算两遍相同的答案。回到正题所以我们只需要讨论跨越两个子树的情况。很显然,左子树中...

2019-04-28 15:27:37 142

原创 「BZOJ2733」「洛谷3224」「HNOI2012」永无乡【线段树合并】

题目链接【洛谷】题解很明显是要用线段树合并的。对于当前的每一个连通块都建立一个权值线段树。权值线段树处理操作中的kkk大的问题。如果需要合并,那么就线段树暴力合并,时间复杂度是nlognnlognnlogn,均摊下来就是lognlognlogn。判断联通性的问题就用并查集来解决。如果在同一个联通块里,就不能合并,否则会出一点问题。代码#include <bits/stdc...

2019-04-28 10:47:02 152

原创 「洛谷3870」「TJOI2009」开关【线段树】

题目链接【洛谷】题解来做一下水题来掩饰ZJOI2019考炸的心情QwQ。很明显可以线段树。维护两个值,LazyLazyLazy懒标记表示当前区间是否需要翻转,sss表示区间还有多少灯是亮着的。那么每一次翻转,sss就变成了n−sn-sn−s,nnn表示区间内所有灯的数量。线段树维护一下就可以了。代码#include <bits/stdc++.h>using name...

2019-04-27 18:37:48 147

原创 「CF#554 div2」题解

A水题一道。题目的大致意思就是:给你两个集合,求集合间有多少数对和是奇数。题解,开444个桶后,求一个minminmin就可以了。#include <bits/stdc++.h>using namespace std;int n, m;int v1[4], v2[4];int main() { scanf("%d%d", &n, &m); for (...

2019-04-25 13:51:44 209

原创 「洛谷5300」「GXOI/GZOI2019」与或和【单调栈+二进制转化】

题目链接【洛谷传送门】题解按位处理。把每一位对应的图都处理出来然后单调栈处理一下就好了。andandand操作处理全111。ororor操作处理全000。代码#include <bits/stdc++.h>#define gc getcharusing namespace std;typedef long long ll; const int N = 1000...

2019-04-23 10:10:49 169

原创 「洛谷3292」「BZOJ4568」「SCOI2016」幸运数字【倍增LCA+线性基+合并】

【bzoj数据下载地址】不要谢我先讲一下窝是怎么错的。。。MLEMLEMLE是因为数组开小了。。看到异或和最大,那么就会想到用线性基。如果不会线性基的可以参考一下我的学习笔记:「线性基」学习笔记and乱口胡总结但是这一道题目需要合并线性基。如何合并线性基?不需要什么花里胡哨的操作,直接暴力插入就可以了。void merge(xxj &x, xxj y) { for ...

2019-04-22 10:56:32 161

原创 「线性基」学习笔记and乱口胡总结

还以为是什么非常高大上的东西花了1h不到就学好了线性基线性基可以在O(nlogx)O(nlogx)O(nlogx)的时间内计算出nnn个数的最大异或和(不需要相邻)。上述中xxx表示的最大的数。如何实现定义p[i]p[i]p[i]表示在二进制下从最高位开始第一个出现111的数。当前我们将一个数插入线性基中。如果xxx的最高位的111还没有被插入过,那么就在这一位上插入xxx。如果没...

2019-04-22 08:57:49 116

原创 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】

题目链接【洛谷传送门】题解很显然,当这个点不是割点的时候,答案是2∗(n−1)2*(n-1)2∗(n−1)如果这个点是割点,那么答案就是两两被分开的联通分量之间求组合数。代码#include <bits/stdc++.h>#define ll long long using namespace std;const int N = 500005;struct edge...

2019-04-21 19:12:04 164

原创 「【算法进阶0x30】数学知识A」作业简洁总结

t1-Prime Distance 素数距离大范围筛素数。t2-阶乘分解欧拉筛素数后,按照蓝皮上的式子筛出素数。复杂度:O(nlogn)t3-反素数ant搜索t4-余数之和整除分块+容斥原理t5-Hankson的趣味题gcdgcdgcdt6-Visible Lattice Points欧拉筛出欧拉函数,前缀和推式子求解。t7-The Luckiest number【题解...

2019-04-21 16:28:23 194

原创 「洛谷1884」「USACO12FEB」过度种植【离散化扫描线】

题目链接【洛谷传送门】题解矩阵面积的并模板。(请求洛谷加为模板题)很明显是要离散化的。我们将矩阵与xxx轴平行的两个线段取出来。并且将这两个端点的x1x1x1和x2x2x2进行离散化。因为每一次我们都会对当前的这一层的某一段线段进行操作,那么就用权值线段树维护是否存在。这个只是矩阵面积的并。还有加强版:【HDU 1542】还有矩阵面积的交。代码#include <b...

2019-04-21 16:06:35 203

原创 「CF1154F」Shovels Shop【背包DP】

题目链接【洛谷传送门】题解非常简单的背包。f[i]f[i]f[i]表示购买iii个物品所需要最少的花费。不考虑免费的限制条件,那么一定是选择前kkk个双鞋子。那么加入免费的条件,那么还是要挑最便宜的买。g[i]g[i]g[i]表示购买iii双鞋子能够免费最多的数量。状态转移方程就是f[i]=min(f[i],f[j]+calc(i,j))f[i]=min(f[i],f[j]+cal...

2019-04-20 20:45:53 178

原创 「HGOI#2019.4.19省选模拟赛」赛后总结

t1-Painting这道题目比较简单,但是我比较弱就只是写了一个链表合并和区间DP。别人的贪心吊打我的DP,嘤嘤嘤。#include <bits/stdc++.h>#define ll long long using namespace std;namespace chhokmah {#define N 100005#define M 5005int a[N], l...

2019-04-19 13:48:43 120

原创 三种求解逆元的方法【扩欧,费马小定理,线性筛】

逆元为了解决像这一种问题abmod&ThinSpace;&ThinSpace;p\frac ab \mod pba​modp的问题,常常是无法正常的取模的。所以这个时候就用到了逆元。什么意思?设ddd为bbb在mod&ThinSpace;&ThinSpace;p\mod pmodp意义下的逆元,那么就可以是除法变成加法。说的再明白一点就是abmod&amp...

2019-04-15 22:59:33 451

原创 「POJ2891」Strange Way to Express Integers【数学归纳法,扩展中国剩余定理】

题目链接【VJ传送门】题目描述给你a1...ana_1...a_na1​...an​和m1...mnm_1...m_nm1​...mn​,求一个最小的正整数xxx,满足∀i∈[1,n]≡ai(mod mi)\forall i\in[1,n] \equiv a_i(mod \ mi)∀i∈[1,n]≡ai​(mod mi)。分析很显然,中国剩余定理无法解决mim_im...

2019-04-15 10:51:05 226

原创 「浙大ACM」图森未来杯游记一篇以及简易口胡题解

前言蒟蒻有参加了ACM比赛,这一次有适合HY和慕容宝宝大佬一起比的,他们好巨啊,把我带飞了。又是窝掌机,QAQ,他们仗着自己巨,就欺负窝。。。我又打了444个小时的代码,而且那个键盘太恶心了。忍不住吐槽一下。。早上首先是热身赛。忍不住继续吐槽。早上的ccc题就是一个毒瘤。是一道提交答案题。给你121212个动漫角色,然后让你写出他们的名字。(反正题目就差不多这样子。。。)我找出来...

2019-04-14 19:27:57 450

原创 「SPOJ6340」「BZOJ1939」ZUMA - ZUMA【记忆化搜索】

题目链接【洛谷传送门】题解f[i][j][k]f[i][j][k]f[i][j][k]表示在消除了(i,j)(i,j)(i,j),在后面加上了kkk个珠子的总的珠子数。考虑三种决策:(题目给出的kkk在下文表示成KKK)决策1当k&lt;K−1k&lt;K-1k<K−1时,可以考虑在加一个珠子,也就是状态f[i][j][k+1]f[i][j][k+1]f[i][j...

2019-04-13 15:26:12 143

原创 「洛谷1903」「BZOJ2120」「国家集训队」数颜色【带修莫队,树套树】

题目链接【BZOJ传送门】【洛谷传送门】题目大意单点修改,区间查询有多少种数字。解法1–树套树可以直接暴力树套树,我比较懒,不想写。稍微口胡一下,可以直接来一个树状数组套主席树,也就是待修的主席树。然后查询的时候,两个根节点减一下就可以了。解法2–带修莫队这是带修莫队的模板题。最简单的莫队是是一个二元组(l,r)(l,r)(l,r),这里引入了一个新的参数,变成了三元组(l,...

2019-04-13 10:32:19 195

原创 「POJ3696」The Luckiest number【数论,欧拉函数】

题解一道数论欧拉函数和欧拉定理的入门好题。虽然我提交的时候POJ炸掉了,但是在hdu里面A掉了,应该是一样的吧。首先我们需要求的这个数一定可以表示成(10x−1)9×8\frac{(10^x-1)}{9}\times 89(10x−1)​×8。那么可以列出一个下面的方程(10x−1)9×8=L×k\frac{(10^x-1)}{9}\times 8=L\times k9(10x−1)​×...

2019-04-12 14:42:20 147

原创 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】

题目大意给你kkk个点,让这一些点和一号节点断开,删去某一些边,求最小的删去边权之和。做题的心路历程做了HGHGHG昨天的模拟赛,深深感觉到了窝的菜,所以为了AAA掉T1这一道毒瘤,窝就来学习一下虚树。学到一半,感觉虚树的原理还是比较简单的,就是把需要求的点建一棵和原来的树长得十分相似的一棵树,然后在这个树上做DPDPDP。但是,我写到完了,就一直T。也不知道为什么。然后删掉了所有的m...

2019-04-12 13:11:36 103

原创 「洛谷5290」「LOJ3052」「十二省联考 2019」春节十二响【启发式合并】

题目链接【洛谷传送门】【LOJ传送门】题目大意给定一棵树,每次选取树上的一个点集,要求点集中的每个点不能是另一个点的祖先,选出点集的代价为点集中权值最大点的权值,问将所有点都选一遍的最小代价为多少。(题目大意来自洛谷题解某一篇)题解分析一下这一道题目。首先,因为不能存在祖先关系,那么在一条链上的所有点一定是要分开来取的。那么很显然,根必须一个点一个集合,那么在递归子树,同样的操作...

2019-04-11 11:42:40 154

原创 「洛谷5283」「LOJ3048」「十二省联考2019」异或粽子【可持久化01trie+优先队列】

题目链接【洛谷传送门】【LOJ传送门】题目大意让你求区间异或和前kkk大的异或和的和。正解这道题目是Blue sky大佬教我做的(祝贺bluesky大佬进HA省A队)我们做过某一些题目,非常的相似。【超级钢琴】还有【最小函数值】还有【最大异或和】感觉这一些题目拼在一起就变成了这一道水题。首先我们需要预处理出,所有区间的异或最大值。这个东西可以用可持久化01trie01trie0...

2019-04-11 10:33:12 393

原创 ⌈洛谷4735⌋⌈BZOJ3261⌋最大异或和【可持久化01Trie】

题目链接【BZOJ传送门】【洛谷传送门】题解终于学会了可持久化trie树了。感觉并不是特别的难。因为可持久化,那么我们就考虑动态开点的trie树。都知道异或操作是有传递性的,那么我们就维护一个前缀异或和。【最长异或距离】可以参考以上这一道题目的贪心策略。每次找到另外一边的(说的清楚一点就是每一次找字典树的儿子都找异或的数当前这一位的异或1的值),这样可以保证疑惑后答案最大。参照...

2019-04-11 09:21:52 196

原创 ⌈HGOI2019/4/8⌋搜索考试解题报告

t1-Flood-it!(floodit)我们可以发现,每次寻找左上角的格子所在的联通块耗费的时间常数巨大。因此我们在这里寻求突破。我们引入一个N*N的v数组。左上角的格子所在的联通块里的格子标记为1。左上角联通块周围一圈格子标记为2,其它格子标记为0。如果某次选择了颜色c,我们只需要找出标记为2并且颜色为c的格子,向四周扩展,并相应地修改v标记,就可以不断扩大标记为1的区域,最终如果所有格子...

2019-04-08 15:41:47 119

原创 ⌈洛谷1312⌋⌈NOIP提高组2011⌋Mayan游戏【搜索】

感想真的,感觉这道题目好坑爹,我这个蒟蒻调了好几个世纪才调出来。重构代码千万遍,依旧只有-1输出。正解非常明显的一道搜索题目。每一次记录上一级的状态,这样实现比较不容易出错。然后考虑剪枝:如果相同就不交换。以下这个代码开了O2才过掉。代码#include <bits/stdc++.h>#define ms(a, b) memset(a, b, sizeof(a))...

2019-04-06 20:51:22 133

原创 ⌈洛谷5058⌋⌈ZJOI2004⌋嗅探器【Tarjan】

题目连接【洛谷传送门】【LOJ传送门】题目描述某军搞信息对抗实战演习,红军成功地侵入了蓝军的内部网络,蓝军共有两个信息中心,红军计划在某台中间服务器上安装一个嗅探器,从而能够侦听到两个信息中心互相交换的所有信息,但是蓝军的网络相当的庞大,数据包从一个信息中心传到另一个信息中心可以不止有一条通路。现在需要你尽快地解决这个问题,应该把嗅探器安装在哪个中间服务器上才能保证所有的数据包都能被捕获?...

2019-04-05 22:04:53 196

原创 口胡FFT现场(没准就听懂了)&&FFT学习笔记

前言(不想听的可以跳到下面)OK。蒟蒻又来口胡了。自从ZJOI2019上Day的数论课上的多项式听到懵逼了,所以我就下定决心要学好多项式。感觉自己以前学的多项式都是假的。但是一直在咕咕,现在是中午,一个早上的努力就完成了FFT的学习。介绍先简单介绍一下FFT(Fast Fourier Transformation) ,中文全名叫做快速傅里叶变换。应用在加速多项式的乘法,或者是高精度加速...

2019-04-05 10:33:21 258

空空如也

空空如也

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

TA关注的人

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