数据结构: 树状数组 线段树 单调队列&单调栈 普通平衡树&文艺平衡树 链表 字符串 KMP Hash Manacher Trie 基础算法: 二分 贪心 搜索 倍增 分块 模拟(退火) 图论: 基础知识 最小生成树 最短路 拓扑排序 树链剖分 LCA 并查集 强连通分量 割点&桥 网络流 数学: ...
分类:
其他好文 时间:
2019-10-21 20:55:28
阅读次数:
113
Kahn算法:1)从有向图中选一个没有入度的顶点 2)从图中删除所有和它有关的边 3)重复上述步骤,直至所有顶点输出,或者只剩下环(可以判断一个图是否有环) ...
分类:
编程语言 时间:
2019-10-14 23:50:51
阅读次数:
85
2153: D.ly的排队问题 Description 马上要上体育课了,上体育课之前总归是要排个队的,ly作为班长,怎么排队的问题只能由她来解决,但是马上要上课了,ly又不清楚所有人的身高,她又不好意思问每个人的身高,因为这样会显的自己很不负责,于是她只能通过肉眼观察...那么问题来了,她只能观察 ...
分类:
编程语言 时间:
2019-10-12 21:01:49
阅读次数:
111
稠密图的拓扑排序,建图比较抽象,从起始站到终点站所有未访问的站台向已访问的站台连一条边 然后跑拓扑排序,记录一下每个节点对应的最大答案,最后输出即可 注意稠密图就别vector了,会究极MLE 并且由于有重边,每次删边的时候要让度数减去入边的条数,否则有些点一辈子也进不了队 代码: ...
分类:
编程语言 时间:
2019-10-11 20:37:58
阅读次数:
158
题目描述 小P和小R在玩一款益智游戏。游戏在一个正权有向图上进行。 小P 控制的角色要从A 点走最短路到B 点,小R 控制的角色要从C 点走最短路到D 点。 一个玩家每回合可以有两种选择,移动到一个相邻节点或者休息一回合。 假如在某一时刻,小P 和小R 在相同的节点上,那么可以得到一次特殊奖励,但是 ...
分类:
编程语言 时间:
2019-10-11 20:03:49
阅读次数:
157
题目:http://hihocoder.com/problemset/problem/1873 题解:采用分治的思想,将大问题逐步分解到小问题: 首先,我们可以把问题理解成,我当前站在pos 点,需要m 种方案到达终点,这样我们可以分类讨论: <1>m是偶数: 方案数=m/2 在pos+1 位置建立 ...
分类:
其他好文 时间:
2019-10-11 18:14:13
阅读次数:
92
"找最大环 P5145 漂浮的鸭子" 题意很明确:求图中的最大环 今天新学到的一种方法—— 由于拓扑排序每次都是从入度为0的点开始,而环上的点的入度都不会为0,所以环上的点就不会参加排序,也就是说,经过拓扑排序后剩下的边和点构成的都是环。 这样我们就可以直接把每个环扫一遍记录最大环就结束了。 "找最 ...
分类:
编程语言 时间:
2019-10-08 12:18:58
阅读次数:
114
题目描述 你有一个长度为$n$的排列$P$与一个正整数$K$你可以进行如下操作若干次使得排列的字典序尽量小对于两个满足$|i?j|\geqslant K$且$|P_i?P_j|=1$的下标$i$与$j$,交换$P_i$与$P_j$ 输入格式 第一行包括两个正整数$n$与$K$第二行包括$n$个正整数 ...
分类:
编程语言 时间:
2019-10-07 09:21:36
阅读次数:
86
拓扑排序: head[u]: 以u为起点的边,最前面的边的编号 拓朴排序模板:邻接表(结构体+队列实现) #include<iostream> #include<cstring> #include<queue> using namespace std; const int maxn = 1e5+5; ...
分类:
编程语言 时间:
2019-10-06 20:23:37
阅读次数:
109