自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

私は Mocha!!

【AFO】私はこの世界を深く愛している

原创 AFO

AFO一年了,才mark这篇blog,算是空了很多行的句号吧。 那么就这样吧,拜拜!

2019-08-31 16:18:50

阅读数 100

评论数 0

原创 [BZOJ3037/CH6401]创世纪(贪心)

传送门 首先分析题目所给的树结构,将x与x控制的点a[x]连一条有向边,原图就变成了一个内向树森林。 这题放在了基环树的tag下,然后正解是一个树形dp,但是我思考了一下,我发现可以从内向树的最外圈一层一层往里面推进,但是转移的时候根本不需要dp,直接贪心就可以了。 对于一个入度为0的点x,由于...

2018-10-29 10:05:57

阅读数 230

评论数 1

原创 [BZOJ1791][IOI2008]岛屿Island(基环树的直径)

传送门     先转换一下题目所给的图:     给一个n个点n条边的图,不一定连通,但是不连通的地方可以用没有权值的虚边连接起来,既然可以任意连虚边那么我们就可以把原图中的一个个块分开处理。     然后分析这是什么图,因为一定有n个点n条边所以假如两个点之间没有边那么某一个块中一定会多出一条...

2018-10-28 18:57:31

阅读数 408

评论数 0

原创 [POJ3417]Network/闇の連鎖(树上差分)

题目描述 传说中的暗之连锁被人们称为DarkDarkDark。DarkDarkDark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现DarkDarkDark呈现无向图的结构,图中有 NNN 个节点和两类边,一类边被称为主要边,而另一类被称为附加边。DarkDarkDark...

2018-10-24 16:09:59

阅读数 215

评论数 1

原创 [CH6202]黑暗城堡(最短路径生成树)

传送门     通过学习我们可以发现原题目要求的树结构就是“最短路径生成树”,什么是最短路径生成树呢?就是一张图的源点到图中的所有结点的最短路径构成的树,为什么他满足树结构呢?因为假设有n个点,因为是最短路径一定只有n-1条边把他连起来。     那对于本题,每个点的D[i]D[i]D[i]可以...

2018-10-23 08:22:24

阅读数 664

评论数 0

原创 Floyd的三种有趣的玩法

   众所周知,Floyd是一个思路和实现都很简单的多源最短路径算法,原理是一种动态规划的思想,这里就不赘述太多,在做《算法竞赛进阶指南》中关于Floyd的题目中遇到的三种Floyd可以解决的问题,建议大家在阅读本文之前先熟悉Floyd算法。 1、传递闭包 什么是传递闭包?    给定一些元素和...

2018-10-19 08:21:53

阅读数 164

评论数 0

原创 [BZOJ2200][Usaco2011 Jan]道路和航线(拓扑排序+Dijkstra)

传送门 看上去就是要到最短路,但是这题数据经过构造会卡SPFA(大家都嫌弃他嘤嘤,but可以用SLF优化水过),且因为有负权会卡Dijkstra。 那么我们观察题意,发现只有单向边是有负权的,双向边没有负权,且单向边不会构成环!那么我们就可以把原图看作许多个由双向边组成的连通块,连通块由单向边互...

2018-10-18 16:40:39

阅读数 199

评论数 0

原创 [BZOJ1233][Usaco2009Open]干草堆tower(单调队列优化)

传送门 题意搞skr人…,其实就是堆方块: 有n(n<=100000)个干草,每堆有个宽度,现在要且分成若干段,把每一段的干草按顺序堆起来形成一个多层的干草堆(所以下标越小的干草堆放在越下面)且宽度要逐层非严格递减(上面一层的宽度<=下面一层的宽度),求最多可以放多少层...

2018-10-15 09:36:22

阅读数 122

评论数 0

原创 [HDU2196]Computer(树形dp+二次扫描换根法)

传送门 题意: 给出一棵树,求离每个节点最远的点的距离 一开始以为是树的直径。。然后看清题意之后就可以容易看出是树形dp了,对于这种无根树且需要求每一个点的情况需要运用二次扫描换根法。那么我们来设列dp方程吧,我们思考当前点x的最远点距离是怎么得到的,只有两种情况: 1、来自他的子树(图中红色)...

2018-10-09 21:29:00

阅读数 471

评论数 0

原创 [BZOJ1237][SCOI2008]配对(贪心+dp)

传送门 题意:n 个整数A[i]和n个整数B[i]。把它们配对,要求所有配对的整数差的绝对值之和最小,不允许两个相同的数配对。(n<=100000) 首先排序两个数组。然后我们考虑一下简单的问题:如果两个相同的数允许配对的话,我们排完序之后每一位的一一对应配对就行了。但是现在不允许...

2018-10-01 17:53:57

阅读数 116

评论数 0

原创 线性DP组题

线性dp体现为在线性空间上的递推,dp的阶段沿着各个维度线性增长,譬如说最长上升子序列,最长公共子序列就是最为简单的两个问题。 1、[POJ2279]Mr.Young’s Picture Permutations http://poj.org/problem?id=2279 由于行数k很小,所以...

2018-09-26 10:14:57

阅读数 103

评论数 0

原创 [poj3580]SuperMemo(splay终结题)

传送门 题意: 你需要维护一组数字,包括这样的几个操作: 给出一个数字序列,有6种操作: 1、 ADD l r d:区间[l,r]的数都加上d。 2、 REVERSE l r : 将区间[l,r]中的数翻转 。 3、 REVOLVE l r t :将区间[l,r]旋转t次,如1 2 3 4 5 ...

2018-09-23 08:52:36

阅读数 89

评论数 0

原创 [poj1151]Atlantis & [poj1177]picture(扫描线)

玩一玩扫描线,这个东西还是很强力的,而且容易yy。但是就是细节很多,所以查错特别麻烦。 推荐这篇blog: https://www.cnblogs.com/yangsongyi/p/8378629.html 【poj1151】 http://poj.org/problem?id=1151 题意:...

2018-09-21 13:12:13

阅读数 77

评论数 0

原创 [poj2828]Buy Tickets(树状数组求第k大)

传送门 题意: i个人排队,对于第i个人,我们知道他排在第pi个人后面(可以插队)且他有一个权值val,我们需要输出排好之后每个人的权值。 首先我想的是链表来模拟,但是发现由于p[i]指的是位置而不是编号,所以链表是只能O(n^2)的。 那么怎么办呢?我们结合题目中给的样例解释来思考。 我们...

2018-09-20 11:48:48

阅读数 107

评论数 0

原创 [poj1182]食物链 & [poj2912]Rochambeau (边带权和扩展域并查集模型)

传送门【poj1182】 传送门【poj2912】 这两题之所以可以放在一起讲,一是他们的所求内容高度相似,其次是他们都属于边带权或者拓展域的并查集的基本模型。 这两题的核心思路就是维护三个集合A,B,C,使得他们里面的元素满足A吃B,B吃C,C吃A。 那么这样的具有传递性的关系以及维护...

2018-09-19 20:31:36

阅读数 111

评论数 0

原创 并查集的路径压缩和按秩合并

记录一下并查集的两种优化: 路径压缩 路径压缩是并查集最常用的一个优化之一,他可以优化查询的速度。我们发现,在普通的并查集中,如果我们要询问一个元素所属哪个集合,我们只关心集合的代表是谁(也就是并查集树形结构中的树根是谁),而并不关心树的形态。那么我们可以在每次执行往上找根节点的时候,把路...

2018-09-08 16:49:46

阅读数 471

评论数 4

原创 数论知识点

稍微整理一下蓝书上数论章节的知识点 1、一个数的约数和=(1+p1+p12+...+p1c1)∗(1+p2+p22+...+p2c2)∗...∗(1+pk+pk2+...+pkck)(1+p1+p12+...+p1c1)∗(1+p2+p22+...+p2c2)∗...∗(1+pk+pk2+......

2018-09-07 17:27:25

阅读数 103

评论数 0

原创 [洛谷P4372][USACO18OPEN]Out of Sorts P(乱搞)

https://www.luogu.org/problemnew/show/P4372   模拟赛的题,考场上看着是最可做的。洛谷评分是NOI+/CTSC是smg…   依旧是放我们模拟赛的题意:   世界上OI水平最高的奶牛bessie正在学习排序算法。她先后学习了冒泡排序和快速排序。...

2018-08-21 21:21:31

阅读数 242

评论数 0

原创 [Codeforces741C]Arpa’s overnight party and Mehrdad’s silent entering(二分图染色)

http://codeforces.com/contest/741/problem/C 题目描述   要不我就用这次模拟考的题面吧哈哈哈写的好有趣:   七夕节,有 对情侣围做在一个圆桌上吃饭。座位的编号为 1~2n(1<=n<=10^5) 。饭店老板作为大F...

2018-08-21 20:02:21

阅读数 59

评论数 0

原创 质数和约数

质数 【例题】Prime Distance(poj2689)   这题L,R范围很大,但是L,R差值在可以接受的范围内。因为一个数n的质因子不会超过n−−√n\sqrt{n},所以我们考虑线筛预处理R−−√R\sqrt{R}范围内所有的质数,在线筛的的同时标记L到R范围的合数。   如何标记...

2018-08-17 16:39:26

阅读数 163

评论数 0

原创 搜索练习

1、靶形数独(传送门) 就是poj3074的数独加上一个判断就好了,注意位运算的细节。 #include<cstdio> #include&amp...

2018-08-09 16:44:38

阅读数 138

评论数 0

原创 A*与IDA*算法

A*   A*算法是基础的启发式算法,常使用“估价函数”减少选择来用于优化搜索的速度。对于当前的状态,我们知道当前已经用了的代价,那么我们可以设计一个估价函数fff来估计未来的状态,当前代价+未来代价作为这个状态的预估总代价。   那么这个估价函数值fff需要满足f(now)≤g(now)f(...

2018-08-08 20:39:05

阅读数 301

评论数 0

原创 广搜与广搜变形

广搜 【例题】Bloxorz(poj3322) 用一个三元组(x,y,lie)记录状态(x,y)为方块躺着的时候左或上的坐标以及立着的底坐标,躺着立着分情况处理滚动方向,注意判断边界即可。 #include<cstdio> #inc...

2018-08-06 20:50:03

阅读数 68

评论数 0

原创 迭代加深和双向搜索

迭代加深   当答案的层数较低,并且搜索的分支较多时,如果直接搜索会消耗很多时间。这时候可以进行多次搜索,每次搜索可以限制一个深度,如果我们在当前深度下搜索不到答案,就增加深度限制,重新搜索一边答案,这样“迭代”且“加深”的过程称为迭代加深。但他的缺点也很明显,每次需要重新搜索一遍,所以在答案的...

2018-07-17 15:47:17

阅读数 978

评论数 0

原创 剪枝

【例题】Sudoku1(poj2676)   题意就是一个数独游戏。   爆搜,无剪枝可过。 #include<cstdio> #include<iostream> #include&...

2018-07-14 11:38:30

阅读数 115

评论数 0

原创 搜索基础

为了方便复习整理(凑博客数),决定把之前那篇《算法竞赛进阶指南0x20搜索》分开小节记录博客。这一节记录一些搜索的入门基础题目。 0x21 树和图的遍历: 先放一点基本的代码 void ins(int x,int y) { len++; a[len].x=x;a[len].y=y...

2018-07-14 11:37:23

阅读数 218

评论数 0

原创 [POJ1190][NOI1999]生日蛋糕(搜索+剪枝)

传送门 首先读题:   本题忽略ππ\pi只将它后面的有理数进行计算,其次对于表面积,整个蛋糕的上表面面积之和等于最大圆的底面积。所以我们只需要计算侧面积,最底那层计算底面积即可。   仍然是一道经典的搜索剪枝题目。我首先把题目所描述的(1~M从底向上)倒过来(1~M从上到底)方便处理,...

2018-07-14 11:20:08

阅读数 190

评论数 0

原创 [POJ2185]Milking Grid(KMP求解最小覆盖问题)

传送门 题意: 求一个字符串矩阵的最小覆盖矩阵。覆盖矩阵是指,字符串矩阵的子矩阵通过复制平移的方式可以形成一个新的大矩阵使得原字符串矩阵成为他的子矩阵。如:    ABABA    CDCDC 他的最小覆盖矩阵为    AB    CD 因为将上面的矩阵复制平移后可以得到这样一...

2018-07-07 10:57:15

阅读数 125

评论数 0

原创 哈夫曼树(Huffman-Tree)的构造及应用

  本文以学习笔记的性质谈一种哈夫曼树较为严谨的贪心做法,哈夫曼树的应用将在往后补上。     有这样一棵k叉树,它的叶子节点有权值,第i个叶子节点权值为wi(wi>0)wi(wi>0)w_i(w_i>0),...

2018-07-02 08:41:24

阅读数 3581

评论数 0

原创 [POJ3784]Running Median(堆动态维护中位数)

传送门   这题需要用到一个名为:“对顶堆”的小技巧   我们以值建立一个大根堆,一个小根堆,假设我们现在的中位数是x,那么用大根堆来储存小于等于x的元素,用小根堆来储存大于x的元素,这样的话,大根堆的堆顶就是x,也就是现在的动态中位数。 那么也就是说我们保证大根堆里的元素都是小于小根堆的...

2018-06-30 15:51:41

阅读数 444

评论数 0

原创 [BZOJ1150][CTSC2007]数据备份Backup(贪心+堆+链表)

传送门   这题真是一环扣一环,做了好久好久,好题啊!   首先通过题意我们可以敏锐的捕捉到:虽然可以跨楼相连,但是这样是没有意义的,因为相邻的两个点相连一定比跨楼相连更优。   我们将楼与楼之间的距离求出来(n-1个数)那么问题就转化为:在n-1个数中选k个数使得他们相加起来最小,且选...

2018-06-30 13:49:37

阅读数 110

评论数 0

原创 【hihocoder#1384】Genius ACM(倍增+归并)

传送门   首先我们要知道校验值如何最大。显而易见的,当校验值最大时,一定是(最大和最小的差的平方)+(次大和次小的平方)……。   那么求解校验值就需要排序来辅助配对,那么我们可能会选择快排,我一开始也是这么想,但是这样是不行的(下文将解释)   其次,题目要求在一段数列中分成最少几段...

2018-06-29 11:37:26

阅读数 570

评论数 0

原创 [POJ2559]Largest Rectangle in a Histogram(单调栈)

传送门 题解: https://blog.csdn.net/qq1169091731/article/details/52006440 写的敲棒! #include<cstdio> #include<iostream> #...

2018-05-07 14:01:48

阅读数 75

评论数 0

原创 [HDU4699]Editor(对顶栈)

传送门 题意: 维护一个文本编辑器,里面的一个字符可以表示为一个数字,有五种操作: I x :在当前光标位置之后插入一个整数x,插入之后光标移动到x后 D :删除光标之前的一个整数 L :光标向前移动一个位置 R :光标向后移动一个位置 Q k :询问在位置k之前的最大前缀和,k不超...

2018-05-07 13:30:58

阅读数 139

评论数 0

原创 [BZOJ3170][Tjoi2013]松鼠聚会(平面几何)

传送门 首先我们发现,在这题中上下左右斜八个方向的距离被定义为相等的,那么大概就是这样: 那么两点之间的距离实际上是一个切比雪夫距离。 切比雪夫距离表示如下: dis=max(|x1−x2|,|y1−y2|)dis=max(|x1−x2|,|y1−y2|)dis=max(|x1-x...

2018-04-27 16:06:56

阅读数 81

评论数 0

原创 [POJ1743]Musical Theme(后缀数组+二分 / 后缀自动机)

传送门 复习了后缀数组。 首先因为转调我们需要对字符串作差。 考虑二分+后缀数组的做法。 二分答案k,将连续的height[i]>=x的段分组,如果一组内sa的最大值与最小值的差>=k,则k可行。 后缀自动机也是可以的。 因为right集合即为子串在母串...

2018-04-26 20:56:40

阅读数 84

评论数 0

原创 [BZOJ4516][Sdoi2016]生成魔咒(后缀自动机)

传送门 学了一个下午+一个晚上+一个上午的后缀自动机。。 主要看的是clj的课件以及menci的博客 本来想写学习笔记的,然而要GDOI了,所以之后在写啦! 首先我们知道SAM中一个节点vvv中长度最小和最大的子串的长度分别为min(v)min(v)min(v)和max(v)max(v...

2018-04-25 16:18:14

阅读数 57

评论数 0

原创 [POJ2054]Color a Tree(贪心)

传送门 题意:有一棵树,每个节点都有一个权值Ci。现在要给每个点染色,第一个染根节点,其余的节点染色的时候其父节点必须已染色。每个节点染色会用掉一个时间单位,每个节点染色的代价是已经花的时间t*Ci。问染完全部节点所需要的最小代价。 跟着HNOI2018D2T2到的这里,发现是元问题。 ...

2018-04-24 11:02:56

阅读数 168

评论数 0

原创 [BZOJ5288][Hnoi2018]游戏(暴力+随机化)

传送门 首先我们考虑暴力做法。 考虑预处理,一开始把相邻的门没锁的点看作一个块(那么块中互相可以到达),记下左右端点。判断块左右的门锁在不在这个块里面,如果有就往左右拓展块,要不然就退出。 然而如果这样的话在最坏情况,也就是左右不停的跳的话是O(N2)O(N2)O(N^2)的。 怎么办...

2018-04-23 20:29:03

阅读数 95

评论数 0

原创 [BZOJ5290][HNOI2018]道路(DP)

传送门 Day2的题目顺序很有问题啊,竟然把最简单的题放T3。。 不难发现是一个完全二叉树,然后公路连左孩子,铁路连右孩子。 就是一个类似于一个树形dp的东西,突破的关键就在原题中的一个隐晦的条件 任意乡村可以通过不超过40条道路到达首都。 那么我们就可以dp:到每个乡村,需...

2018-04-23 17:02:09

阅读数 83

评论数 0

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