最小不相交路径覆盖:使用最小条数的路径,覆盖每个点恰好1次。 最小可相交路径覆盖:使用最小条数的路径,每个点可以覆盖多次。 最小可相交路径覆盖做一次Floyd传递闭包变成最小不相交路径覆盖。 最小不相交路径覆盖使用二分图匹配:把每个点x拆成x1(出度)和x2(入度),初始状态没有匹配,使用的路径数量 ...
分类:
其他好文 时间:
2021-01-06 12:12:01
阅读次数:
0
二分查找可以理解为折纸,对半折。 主要:你需要主要是二分查找的数据是有序的。 它的时间复杂度:log2(n) 对应的算法师折半查找法: 代码: #include <stdio.h> #include <stdlib.h> #define keyType int typedef struct { ke ...
分类:
其他好文 时间:
2021-01-06 11:59:08
阅读次数:
0
快速幂运算 HDU2035 求 http://acm.hdu.edu.cn/showproblem.php?pid=2035 题目是很简单的,因为b也不大所以时间复杂度为n的算法也能ac #include <iostream> using namespace std; int a, b; int p ...
分类:
其他好文 时间:
2021-01-01 12:58:37
阅读次数:
0
整数域上的二分 模板样式 bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: int bsearch_1(int l, int r) { while (l < r) { int m ...
分类:
其他好文 时间:
2021-01-01 12:14:33
阅读次数:
0
题意:要组装一台电脑,需要n个配件,每个配件有m 种,每种给出一个使用寿命和价格,只要有一个配件到寿命电脑就不能使用,求最大的组成电脑总花费/电脑寿命,多个最大情况下输出最小的费用。题目:https://vjudge.net/problem/Gym-102878L 题解:给的寿命是有序的,那么找一个 ...
分类:
其他好文 时间:
2020-12-31 12:21:26
阅读次数:
0
最大流 上下界网络流 对于该问题的图 \(G'\) ,对于每条边 \((u,v)\in E\) ,有两个容量限制 \(c_l(u,v)\) 和 \(c_u(u,v)\) 。可行流必须满足: \[ \forall (u,v)\in E,c_l(u,v)\le f(u,v)\le c_u(u,v) \] ...
分类:
其他好文 时间:
2020-12-31 12:04:51
阅读次数:
0
题目大意: 给定正整数序列 \(A\),求一个平均数最大的,长度不小于 \(L\) 的(连续的)子段。 正文: 二分平均值,如果原序列减去所二分的值,那么就能找到其中的单调性:若平均值过大,最大的长度不小于 \(L\) 的子段和是负数;过小则会很大。 那么根据这个为 key 二分,就能得到答案。但注 ...
分类:
其他好文 时间:
2020-12-31 11:46:49
阅读次数:
0
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065 多测 卡内存 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<cmath> # ...
分类:
其他好文 时间:
2020-12-30 11:37:43
阅读次数:
0
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6592 先分别正着反着求一遍 \(LIS\), 可以证明,字典序最小的单峰序列,一定是先找到最左边的峰点,向左单调栈维护每一个长度的最左边的位置,向右贪心 最大字典序同理 维护单调栈时要注意元素大小的单调 ...
分类:
其他好文 时间:
2020-12-30 10:54:34
阅读次数:
0
递归实现 template<typename T> int binary_search(T arr[], int len, int left, int right, int find) { // 必要参数检查 if (NULL == arr || nullptr == arr || 0 > left ...
分类:
编程语言 时间:
2020-12-29 11:31:49
阅读次数:
0