kuangbin专题总结
文章平均质量分 78
大学要有梦想
求offer鸭
QQ:1257960165
展开
-
kuangbin专题一简单搜索总结
E - Find The Multiple 题意:找一个能整除n的数m,对m的要求是只有0和1组成。n不超过200,m长度不超过100. 思路:很多人都写了一个假算法,就是在unsigned long long 的范围里面找就行了,虽然也A了,但博主想在这里提一下正确的思路。 首先用到了同余定理 即以任意x为起点,它的临界点为y=[x(mod n) * 10(mod n)](mod n)原创 2017-12-05 22:48:32 · 411 阅读 · 0 评论 -
kuangbin专题十二基础dp总结
做这个专题的时候感觉好迷。一度被题恶心到了。。 这题把所有不是独立思考做出来的题贴出来吧。 A - Max Sum Plus Plus 题解:dp[i][j] 代表前i个数在必须选第i个的前提下组成j组的最大值。 那么方程为: dp[i][j]=max(dp[i-1][j]+a[i],dp[k][j-1]+a[i])(k<=i-1&&k>=j-1). 由于...原创 2018-03-19 19:09:47 · 908 阅读 · 0 评论 -
kuangbin专题十四数论基础总结
做完感觉数论好像还没入门。。感觉并不基础。。 A - Bi-shoe and Phi-shoe A题当时wa了好多次,做的时候逻辑出现了错误,只是将求出来的欧拉值和数字(pair)排了个序,然后找出第一个欧拉值大于等于它的那个数,但这样并不正确,因为有可能后面有欧拉值比他更大的但值更小的。 之后我的做法是维护一个1到当前数欧拉值的最大值,这样使得从1到n的first也是一个递增序列,从而可以...原创 2018-04-02 10:46:14 · 459 阅读 · 0 评论 -
kuangbin专题十六KMP & 扩展KMP & Manacher总结
本专题的要求是熟练掌握这三个算法。能够灵活运用它们,并且可以修改它们。 K - Clairewd’s message 一开始理解错题意了,以为给的串中有多个暗码和明码,于是一点头绪都没有,看了题解之后才知道只有一个暗码和明码,那么做法就很显然了,先把串通过给的映射变换一下,那么它就变成明码+乱七八糟的东西了,然后再拓展kmp就行了。#include<bits/stdc++.h&...原创 2018-04-11 19:56:16 · 335 阅读 · 0 评论 -
kuangbin专题十七AC自动机总结
这个专题写的我头皮发麻,出现了好多小bug耗费了我好多时间,但总体看不算太难,只要把思路缕清就行了。 AC自动机的题目有两类,一类是字符串找子串个数的,另一类则是建立状态,然后进行dp或者矩阵快速幂。 B - 病毒侵袭 这题不算太难,但有一个坑点,就是字符都是ASCII码可见字符。 算上空格, 从32到126共95个可见字符. 不算上空格则为94个. 所以我们读入需要用gets,而字...原创 2018-04-17 15:41:30 · 317 阅读 · 0 评论 -
kuangbin专题十五数位dp总结
这里是一篇讲数位dp的文章 数位dp最重要的就是状态的建立! A - Beautiful numbers 一道数位dp的好题。 不过理清思路后也挺好理解的。 题目要求求能被它所有位数整除的数的个数,换句话说就是能被它所有位数的lcm整数的数的个数,所以我们得维护一个lcm。又因为a%p=a%(k*p)%p。所以我们可以先将所有的数模上lcm(1,2,3…9),然后在最后再判断模lcm是...原创 2018-04-05 23:12:22 · 460 阅读 · 0 评论 -
kuangbin专题十八后缀数组总结
A - Musical Theme原创 2018-04-23 09:56:29 · 436 阅读 · 0 评论 -
kuangbin专题二十三计算几何半平面交总结
本专题的内容主要就是学会如何用模板了。整理了一下午的半平面交模板(参考kuangbin聚聚的代码),感觉还是挺不错的。 注:该模板存点都是以逆时针存的,也就是半平面交为所有边的左边的相交的平面。 F - Feng Shui 把所有的向量往内部平移r,再枚举端点求最远距离的两个点即可。//计算几何半平面交逆时针模板//读点的时候要逆时针#include<iostream>...原创 2018-05-09 19:34:57 · 323 阅读 · 0 评论 -
kuangbin专题二十斜率dp总结
这个专题让我学会了两种dp优化的方式,只要证明出决策单调的话,那么就可以进行斜率优化或者四边形优化。但前提是得能把dp的式子写出来。。然而我在做的时候连式子都写不出来。。 B - Lawrence B题做的时候连式子都没推出来,现在看看真的是蠢。。 设dp[i][j] 为前i个炸j次的最小值,那么易得dp[i][j]=min(dp[k][j-1]+cost[k+1][i])。cost[i]...原创 2018-05-03 11:34:55 · 228 阅读 · 0 评论 -
kuangbin专题十九矩阵总结
B - 233 Matrix 我们一列一列的看,可以发现每一列可以由前一列推出,而且题目给的行数特别少,也算是给了一个提示:以列作为递推的对象。#include<bits/stdc++.h>using namespace std;const int maxn=15;const int mod=10000007;typedef long long ll;struct ...原创 2018-04-25 18:54:08 · 263 阅读 · 0 评论 -
kuangbin专题二十二区间dp总结
专题二十一概率dp和二十二区间dp让我对dp感到了害怕,基本上每一题都不是自主想出来的。今后还得加强对dp的训练。 A - Cake 一开始dp式子想复杂了,隐约感觉到不是那样做。实际上dp式子很简单。 设dp[i][j] 为下标i到j最小的花费,那么 dp[i][j] =min(dp[i][k]+dp[k][j]+cost[i][k]+cost[k][j]) 这题也让我真正明白...原创 2018-05-07 20:48:48 · 308 阅读 · 0 评论 -
kuangbin专题十三基础计算几何总结
感觉做完没什么进步,不会做的题就去搜题解,没过的题就去找数据。。。下次不能这样! 计算几何我觉得一靠板子,二靠细节。我会在另一篇博客整理出比较好的板子。细节得要自己培养培养,总不能总看网上的数据来过题呀。 C - Segments 题目大意:给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!。 解题思路:如果有存在这样的直线...原创 2018-03-23 09:52:16 · 536 阅读 · 0 评论 -
kuangbin专题十匹配问题总结
总结:该专题主要分为4个内容,二分匹配,二分多重匹配,二分图最大权匹配,一般图匹配。 先说第一个部分的内容。 匈牙利算法模板(时间复杂度O(V*E)): D - 棋盘游戏 首先我们可以根据行和列建一个二分图,然后跑最大匹配得到一个ans。我们现在要求重要点的个数,也就可以枚举已经匹配好的那些点,把其中的格子变成不能放的格子,然后再跑最大匹配,看得到的结果是否和ans一样,如果一样那么它就...原创 2018-03-12 19:11:34 · 319 阅读 · 0 评论 -
kuangbin专题二搜索进阶总结
终于肝完了。。专题二的题大都挺好的,但有些题意不太清楚,特此说明一下。。(几个月没写博客突然感觉不会写了。。)A - Eight虽然是八数码问题,但常规的康托展开加bfs却会超时,这个时候就需要用更加高深的算法了,网上也有许多对八数码问题的解法,这里提一个比较特别的做法:打表。已知最终的状态就是12345678X,那么我们可以用最终状态逆推所有可以到达他的状态,并且记录路径就行原创 2018-01-16 21:24:45 · 455 阅读 · 0 评论 -
kuangbin专题四最短路总结
之前的专题一和二是搜索,特别是广搜尤其多。而该专题最短路算法又可以写成广搜形式,真的快写吐了。。 基本的d最短路算法都基本掌握了,不管什么形式的都能较快的写出来,不过听学弟说什么spfa的slf和lll优化倒是没见过,希望以后能学习到吧。所以如何建图才是解决问题的关键。 C - Heavy Transportation 找能到终点的所有路径的最小值的最大值。 需要注意,因为要找最大值,那么原创 2018-01-24 20:56:36 · 508 阅读 · 0 评论 -
kuangbin专题五并查集总结
之前只知道简单并查集,做了才学会了带权并查集。感觉很开心。。 D - How Many Answers Are Wrong 带权并查集的模板题,不过这题也有需要注意的地方。 1,sum[A]的意义是从A到rootA(rootA2,由上一点也可以得出,如果想求从A到B的sum,那么需要把A–。 代码如下:#include#include#includeusing namesp原创 2018-01-26 16:12:03 · 406 阅读 · 0 评论 -
kuangbin专题三DancingLinks总结
该专题主要分成两个问题:一是精准覆盖问题,二是重复覆盖问题。概括来说精准覆盖问题就是01矩阵中选一些行行使每列有且仅有一个1,而重复覆盖问题就是选最少行使每列至少有一个1。只要想好如何建矩阵,剩下的就是套模板了。 精准覆盖问题: A - Treasure Map 要覆盖所有的格子,容易想到列为格子的编号,行则为地图的编号,这样就转换成了精准覆盖问题了。 代码如下:#include#i原创 2018-01-19 11:24:21 · 272 阅读 · 0 评论 -
kuangbin专题六最小生成树总结
这个专题主要就是学会prim和kruskal算法,另外图论最重要的就是要会建图。 J - Borg Maze 这题一开始没看懂题意,看懂之后就知道是最小生成树了,所以先bfs算出每个A和S到其他点的距离,然后求最小生成树就行了,不过最后wa了好多发。。while (!Q.empty()) { node u = Q.front();Q.pop(); ...原创 2018-01-29 09:08:57 · 341 阅读 · 0 评论 -
kuangbin专题七线段树总结
总结:线段树最重要的就是pushup和pushdown两个函数。此外,根据题目需要,要清楚自己要维护的东西。 D - Mayor’s posters 这一题,首先x的范围很大,所以要先离散化,离散化之后,每两个点之间如果坐标值之差大于1的话,他们中间还得插一个值。否则的话,读者可以试试这组数据 3 5 6 4 5 6 8 如果没有插的话就会输出2了。 线段树维护区间是否被填满。...原创 2018-02-28 20:09:13 · 328 阅读 · 0 评论 -
kuangbin专题八生成树总结
总结:生成树的知识点真多,不过博主觉得图论的题目终究是建图难,第一步就是如何建图,将其转换成已知的问题。 另外,关于生成树的两个注意点,也是为了防止碰到毒瘤题。一就是自环,二就是重边。 A - The Unique MST 次小生成树裸题。 prim模板#include<iostream>#include<cstring>#include<algori...原创 2018-02-28 20:56:35 · 295 阅读 · 0 评论 -
kuangbin专题十一网络流总结
这个专题是之前做的专题中做的最轻松的,毕竟只要想出建图就ok了。 建图有两个套路。如果是对一条边限制的话,那么就可以直接把容量变成那个限制就行了。而对点有限制的话,那么我们可以进行拆点,把点的限制转化成边限制。先来一道经典的建图题,只要把这题体会清楚了,那么之后的建图也就会清晰很多。 A - ACM Computer Factory 把工厂拆成2个点,cap就为他最大的容量。之后根据他们的关...原创 2018-03-15 17:02:55 · 431 阅读 · 0 评论 -
kuangbin专题九连通图总结
总结:坐到后面,才感觉tarjan算法其实是一种思想,在不同情况下需要灵活运用。 本专题所涉及的内容比较多,每个题目的类型都比较经典,所以每个题都感觉很重要。 注意: 1,有的时候题目并没有说清楚有没有重边,有需要的话就在tarjan里面加一点判断。 2,缩点的方式有很多,在tarjan的时候可以缩,也可以tarjan之后用并查集缩。 3,感觉连通图的题的代码有点长,慢慢写别写错就好。。...原创 2018-03-04 14:24:29 · 329 阅读 · 0 评论 -
kuangbin专题二十一概率&期望总结
做的时候觉得很难,很多题都是看题解做的,所以放了一段时间。这几天把kuangbin聚聚博客上的3篇论文仔细看了看,再看这些题就感觉思路很显然了。但仍然有几题不能想出来,故这里补一下总结,这也算kuangbin专题的最后一篇博客了。 首先将这几篇论文贴上来,论文真的真的很难懂。。认真看看但不要太深入即可。(高中生太强了。。 《信息学竞赛中概率问题求解初探》 《浅析竞赛中一类数学期望问题的解决方...原创 2018-05-30 02:54:11 · 738 阅读 · 0 评论