- 博客(10)
- 收藏
- 关注
原创 20231112组合数学+DP——题目练习
其中从左往右,求和符合是枚举这个最小值的大小,组合数是令窗口中剩余的 k−1 个数大于最小值的值的个数,两个阶乘分别是窗口外面的数任意排列和窗口内部除去最小值外任意排列,最后一个 n−k 是计算排列中窗口可以在的位置有 n−k 个。(其实总窗口有n−k+1 个,就是最左边那个无法移动了)。因为向右滑动 1长度的情况下,只有窗口最左的数会出窗口,而右边紧邻的那个数会进入窗口,所以我们实际上只需要对于每个窗口看最左边的数是否是窗口滑动之前的最大值,以及新加入的最右边的数是否是窗口滑动之后新的最大值即可。
2023-11-12 17:36:00
105
原创 超详细单源最短路详解(part1. Dijkstra)
给出一张个结点,m条边的图G(有向图或无向图),第i条边代价为a[i],求给定结点s到所有节点的最短距离比如说在这张图中,假如将dis[i]记录为S点到点Vi的最短路距离,则dis数组应当为现在我们理解了什么叫做,那么用什么算法解决呢?不能有负权(想处理负权请期待下期spfa)...
2022-07-24 18:00:43
481
1
原创 拓扑排序(与动态规划)
求点赞~(录了个视频讲解在b站)有向 无环 图(DAG):-一张没有坏的有向图,写作DAG-常见做动态规划动态规划:-将状态抽象成一个点,向更新的点连边-满足两点:①无后效性②最优子结构无后效性:若u走到v,那么u一定在v之前出现,或者说f[u]在f[v]之前就计算完成了。 比如说很简单的一个例子,我用dp[i]记录i之前有多少个正数,那么dp[i]是不关心dp[i+1]的,也就是说在计算dp[i+1]之前dp[i]就已经计算好了,就满足了无后效性。所以为了dp中的无后效性,
2022-04-15 15:08:52
1385
2
原创 Mars OJ 1985破坏道路
说明在某些国家,恰好有n个城市和m 个连接城市的双向道路。城市用从1到n的整数编号。如果城市a和b由一条道路连接,那么在一个小时内,您可以沿着这条道路从城市a到城市b,或者从城市b到城市a。道路网络是这样的,从任何一个城市你都可以沿着道路移动到任何另一个城市。你想在乡间小路上摧毁最大可能的道路数量,使剩余的道路将允许您从城市s1到t1中最多用l1小时,从城市s2到城市t2最多用l2小时。确定您需要破坏的最大道路数量。如果无法达到预期目标,则打印 -1。输入格式第一行包含两个整数n,m(1
2022-04-13 21:39:58
590
原创 DP优化_P2051 [AHOI2009]中国象棋
题目描述这次小可可想解决的难题和中国象棋有关,在一个 nn 行 mm 列的棋盘上,让你放若干个炮(可以是 00 个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好 有一个棋子。你也来和小可可一起锻炼一下思维吧!输入格式一行包含两个整数 n,mn,m,之间由一个空格隔开。输出格式总共的方案数,由于该值可能很大,只需给出方案数模 99999739999973 的结果。
2022-03-26 12:45:06
318
原创 P2147 [SDOI2008] 洞穴勘测 Splay+LCT详解
动态树算法——LCT用途在线加边或删边、查询连通性、换根等主要函数access()、makeroot()、findroot()link()、split()、cut()、splay()、rotate()、pushup()、pushdown()、isroot()、get()等前置知识:Splaysplay 是建立在平衡树基础上的, 所谓平衡树,就是对于任意结点x来说,它的左儿子为根的子树上任意一个数都小于x,右子树为根的子树上任意一个数都大于x。比如上面这张图:当然,也不乏一
2022-03-13 13:56:12
573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人