私は Mocha!!

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

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

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

2018-10-29 10:05:57

阅读数:31

评论数:0

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

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

2018-10-28 18:57:31

阅读数:44

评论数:0

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

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

2018-10-24 16:09:59

阅读数:45

评论数:0

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

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

2018-10-23 08:22:24

阅读数:85

评论数:0

Floyd的三种有趣的玩法

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

2018-10-19 08:21:53

阅读数:53

评论数:0

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

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

2018-10-18 16:40:39

阅读数:32

评论数:0

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

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

2018-10-15 09:36:22

阅读数:23

评论数:0

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

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

2018-10-09 21:29:00

阅读数:49

评论数:0

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

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

2018-10-01 17:53:57

阅读数:38

评论数:0

线性DP组题

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

2018-09-26 10:14:57

阅读数:38

评论数: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

阅读数:49

评论数: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

阅读数:30

评论数:0

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

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

2018-09-20 11:48:48

阅读数:38

评论数:0

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

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

2018-09-19 20:31:36

阅读数:38

评论数:0

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

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

2018-09-08 16:49:46

阅读数:97

评论数: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

阅读数:36

评论数: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

阅读数:131

评论数:0

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

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

2018-08-21 20:02:21

阅读数:34

评论数: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

阅读数:43

评论数:0

搜索练习

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

2018-08-09 16:44:38

阅读数:50

评论数:0

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