摘要:
题目大意:给定一段区间 [l,r] ,N 条线段,求至少用多少条线段能够覆盖整个区间,不能覆盖输出 1。 题解:每次在起点小于当前位置的线段集合中选择有端点最大的位置作为下一个位置,并更新答案,如果当前位置无法被更新,输出 1。 比较坑的一点是,输入数据会有 r using namespace st 阅读全文
摘要:
题目大意:给定一个 N 个顶点的邻接矩阵、起点顶点、终点顶点,求至少经过 K 条边(边可以重复)从起点到终点的最短路长度,若不能到达,输出 1。 题解:至少经过 K 条边和恰好经过 K 条边的初始条件不同,因为至少经过 1 条边的任意两点最短路就是通过 Floyd 算法算出的矩阵,而恰好经过 K 条 阅读全文
摘要:
题目大意:给定两个有 N 个数的序列 A,B,每个点有一个对应的权值,现需要计算答案的贡献:$B[i] min\{A[j]+s (i j),j\in[1,i] \}$ 的最小值。 题解:由于 B 序列是固定的,因此可以考虑最优化与 B 对应项相乘的值即可。 可以划分子问题,即:用 $dp[i]$ 表 阅读全文
摘要:
维护一个长度为 N 的序列,支持区间加和、区间乘积、查询区间和操作。 代码如下 cpp include using namespace std; const int maxn=1e5+10; inline int read(){ int x=0,f=1;char ch; do{ch=getchar( 阅读全文