摘要: 贪心算法两句话 第一句话: 能往左倒就往左倒。 如同数学中“我们不妨设”一样,相信很好理解。这里只对第二句话稍作解释: 不能往左倒的尽量往右倒 这样为什么是对的呢? 我们可以分类讨论一下: 假设当前已经处理到第$i$个,且它不能往左倒,$h_i$表示树高,$x_i$表示位置。 若$x_{i + 1} 阅读全文
posted @ 2020-10-21 19:58 When_C 阅读(90) 评论(1) 推荐(1) 编辑
摘要: 引入 RMQ问题: 给定一个长度为$n$的序列$A_{1 - n}$,有$q$次询问,每次询问给出$x,y$,回答$A_$中的最大值(也可以是最小值,此处以最大值为例) 通常$n,q \leq 100000$。 利用倍增解决这类问题的算法叫做ST表。 ST表 对于序列$A_{1-n}$,我们构造一个 阅读全文
posted @ 2020-10-20 20:40 When_C 阅读(152) 评论(1) 推荐(1) 编辑
摘要: fpjo Iris WRP Rothen Illusoins Martin Caojia hyxss CXQ 阅读全文
posted @ 2020-10-20 13:08 When_C 阅读(125) 评论(0) 推荐(1) 编辑
摘要: ####1. 主席树: #####https://blog.csdn.net/ModestCoder_/article/details/90107874#t0 ####2. Splay: #####https://www.luogu.com.cn/blog/user19027/solution-p3 阅读全文
posted @ 2020-10-15 20:57 When_C 阅读(84) 评论(0) 推荐(1) 编辑
摘要: ###题意 https://www.luogu.com.cn/problem/P4052 ###算法 AC自动机上的套路DP ###思路 正面处理困难,于是考虑容斥,求不合法的方案数。考虑使用AC自动机,则原问题转化为:求使这$m$个字符串都匹配不上的字符串的个数。所以,匹配过程中经过的点,其$fa 阅读全文
posted @ 2020-10-13 15:02 When_C 阅读(147) 评论(3) 推荐(0) 编辑
摘要: ####KMP https://www.luogu.com.cn/paste/pe84glyj ####AC自动机 https://www.luogu.com.cn/paste/xelpee2u (持续更新中……) 阅读全文
posted @ 2020-10-12 18:34 When_C 阅读(56) 评论(1) 推荐(0) 编辑
摘要: ###题意 给$n$个点,要求构造一张简单无向图,其中每个点入度都为$3$,若可以构造则输出边数与边(顺序随意),无法构造则输出$Impossible$ ###算法 推理$qwq$ ###思路 首先,整张图的度数和应为$n\times3$,而每连一条边度数和增加$2$,故$n$为奇数肯定不合法。另外 阅读全文
posted @ 2020-10-10 16:58 When_C 阅读(179) 评论(0) 推荐(0) 编辑
摘要: ###题意 给出一张n (\(n\leq1000\)) 点m (\(m\leq2000\)) 边的有向图,要求判断负环,并升序输出可以到负环的点 (多组数据 \(T\leq125\)); ###算法 建反图 + SPFA判负环 + dfs染色 ###思路 当建完反图后,负环是不变的,原图上所有能到负 阅读全文
posted @ 2020-10-10 08:18 When_C 阅读(74) 评论(0) 推荐(0) 编辑
摘要: ###题意 平面上有n(\(n\leq1000\))个点,你的任务是让所有n个点联通。为此,你可以新建一些边,费用等于两个端点的欧几里得距离平方。另外还有q(\(q\leq8\))个套餐可以购买,如果你购买了第i个套餐,该套餐中的所有结点将变得相互连接。第i个套餐的花费为$C_i$。 ###算法 最 阅读全文
posted @ 2020-10-09 11:56 When_C 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 这里只写Kruskal版本(太蒟了qwq) ###大致思路 首先求出最小生成树,我们枚举每条不在最小生成树上的边,并把这条边放到最小生成树上面,然后就一定会形成环,那么我们在这条环路中取出一条最长的路(除了新加入的那一条边)。最终我们得到的权值就是次小生成树的权值。 ###代码实现 #include 阅读全文
posted @ 2020-10-09 10:57 When_C 阅读(95) 评论(0) 推荐(0) 编辑