09 2020 档案
摘要:hdu3416 Marriage Match IV 传送门 ###题意 给出一个$n(2\leq n\leq 1000)$个点,$m(0\leq m\leq 100000)$条边的有向图,以及起点$A$和终点$B$,计算从$A$到$B$的不相交的最短路的条数。 ###题解 首先通过堆优化$Dijks
阅读全文
摘要:hdu4614 Vases and Flowers 传送门 题意 有$n(2\leq n\leq 50000)$个花瓶,初始为空,有2种操作: 1.从花瓶$a$开始向后,在空的花瓶中插入一朵花,最多插入$b$朵花,判断是否可以插入至少一朵花,如果可以,计算第一个插花的花瓶编号和最后一个插花的花瓶编号
阅读全文
摘要:hdu6069 Counting Divisors 传送门 题意 计算$(\sum_d(ik))\ mod\ 998244353$,其中$d(n)$表示$n$的约数个数,其中$1\leq l\leq r\leq 1e12,r-l\leq 1e6,1\leq k\leq 1e7$ 题解 根据唯一分解定
阅读全文
摘要:线性素数筛 每一个合数都只被它最小的素因子筛去一,筛出$[1,n]$中的所有素数的时间复杂度为$O(n)$ int prime[maxn],cnt; bool is_prime[maxn]; void sieve(int n){ for(int i=2;i<=n;i++){ if(is_prime[
阅读全文
摘要:hdu6889 Graph Theory Class 传送门 题意 有一个$n$个节点的完全图,节点编号为$[1,n]$,每条边的权值是$lcm(u+1,v+1)$,其中$u,v$是这条边所连接的节点编号,计算最小生成树的权值模$k$的值 其中$1\leq n\leq 1e10$ 题解 分段打表+区
阅读全文
摘要:hdu6680 Rikka with Quicksort 传送门 题意 给出函数 $$\left{ \begin g_m(i)=0,0\leq i\leq m\ g_m(i)=i-1+\frac{1}\sum_^(g_m(j-1)+g_m(i-j)),i>m \end \right. \[ 以及$n
阅读全文
摘要:hdu4027 Can you answer these queries? 传送门 ###题意 给出一个长度为$n(1\leq n\leq 100000)$的序列,序列中所有数的和不超过$2^{63}$。给出$m(1\leq m\leq 100000)\(个操作或者询问,每次操作可以将区间\)[l,
阅读全文
摘要:hdu1848 Fibonacci again and again 题意 有三堆石子,数量都不超过$1000$,两人轮流取石子,每次取的石子个数只能是斐波那契数列的元素值,判断胜败 题解 计算出斐波那契数列,$SG$函数打表 #include<iostream> #include<cstdio> #
阅读全文
摘要:hdu5781 ATM Mechine 传送门 题意 $Alice$从取款机里取存款,不知道存款金额,但是知道存款的上限是$K(1\leq K\leq 2000)$,每次想要取出一定数量的存款,如果想取的存款数不超过剩余的存款数,则可以取出,否则会被警告,警告次数超过$W(1\leq W\leq 2
阅读全文
摘要:hdu5452 Minimum Cut 传送门 题意 有一个包含$n(2\leq n\leq 20000)$个点,$m(n-1\leq m\leq 200000)$条边的无向图,其中前$n-1$条边是树边。删除一些边,并且其中只能包含一条树边,使得图不连通,计算最少删掉的边数 题解 除了树边之外,每
阅读全文
摘要:树上差分主要是对树上的路径进行修改和查询操作,只对一些重要节点进行修改,最后通过$dfs$计算差分数组的前缀和得到最终节点的值,从而降低时间复杂度,实现差分优化 点差分 如果对$u,v$之间路径上的节点的点权增加$x$,则需要对差分数组进行的操作为: \(diff[u]+=x\) \(diff[v]
阅读全文
摘要:只有当一个顶点是割点的时候,删掉这个点才可以增加图中连通块的个数 在$tarjan$算法计算割点的过程中,对于一个顶点$u$: 1.如果$u$不是根,每当出现一个子节点&v&,$low[v]>=dfn[u]$时,说明删掉$u$会使得连通块个数增加1,所以删掉$u$之后连通块个数的增加值为这样的$v$
阅读全文
摘要:hdu4587 TWO NODES 传送门 题意 有一个$n(3\leq n\leq 5000)$个点,$m(3\leq m\leq 5000)$条边的无向图,删去任意两个顶点以及所有与它们相关的边,计算剩下的图的连通块的最大个数 题解 枚举删去的顶点,tarjan算法计算剩下的图的最大联通块个数,
阅读全文
摘要:hdu2767 Proving Equivalences 传送门 题意 给定一个$n(1\leq n\leq 20000)$个顶点,$m(0\leq m\leq 50000)$条边的有向图,至少添加几条边可以使得整个图变成强连通图? 题解 强连通分量缩点,判断每个点的出度或者入度是否为零,最终结果为
阅读全文
摘要:hdu1827 Summer Holiday 传送门 题意 给定一个$n(1\leq n\leq 1000)$个点,$m(1\leq m\leq 2000)$条边的有向图,每个点都有权值,选取一些点,使得这些点可以连接到图中所有的点,计算总权值的最小值 题解 强连通分量缩点,将图变成几个$DAG$,
阅读全文
摘要:有向图的dfs树 有向图的dfs树包含4种边: 1.树边。每次搜索找到一个还没有被访问过的节点时,生成一条树边 2.返祖边。指向祖先节点的边 3.横叉边。搜索时遇到了一个已经访问过的节点,但是这个节点并不是当前节点的祖先节点 4.前向边。搜索时遇到已经访问过的子树中的节点 图中节点编号为dfs序的编
阅读全文
摘要:###闭合子图 有向图的一个闭合子图是这个有向图的一个点集,其中所有点的出边连向的还是点集中的点 ###最大权闭合子图 有向图的每个点都有点权(可正可负),能得到的点权最大的闭合子图 ###网络流模型 点权转化为边权,建立新图: 设立超级源点和超级汇点 超级源点向点权为正的点连边,流量为点权的绝对值
阅读全文
摘要:hdu2227 Find the nondecreasing subsequences 传送门 题意 有一个长度为$n(1\leq n\leq 100000)$的数列,计算所有不下降子序列的个数,答案对$1e9+7$取模 题解 递推式:\(dp[i]=(\sum dp[j])+1,(j<i\ \&
阅读全文