摘要:
题目 题目大意 给定两个整数$L$和$U$,你需要在闭区间$[L,U]$内找到距离最接近的两个相邻质数$C_1$和$C_2$(即$C_2−C_1$是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。 同时,你还需要找到距离最远的两个相邻质数$D_1$和$D_2$(即$D_1−D_2$是最大的 阅读全文
摘要:
基本概念 差分约束系统是一种特殊的$n$元一次不等式组,它包含$n$个变量$x_1,x_2,...,x_n$以及$m$个约束关系,每个约束条件由两个变量作差构成的,例如$x_i-x_j\leq c_k$,其中$1\leq i,j\leq n,i\neq j,1\leq k \leq n$且$c_k$ 阅读全文
摘要:
思路 此题是一个典型的差分约束题。 要求得是最大值,所以我们要求最长路。(为什么?) 对于每一个$x$值,我们可以建立不同的有向边,因此: 当$x=1$时,得$A=B\Longleftrightarrow A\leq B&& B\leq A$,即我们可以从$A$到$B$建一条长度为$0$的有向边和从 阅读全文
摘要:
#原题链接 A题 Red and Blue Beans 题意:给定$r$个红豆,$b$个蓝豆,将他们分到任意多个包中,要求每个包中红豆和蓝豆的差值不能超过$d$,可以则输出$YES$,否则输出$NO$。 贪心即可,将较小的那个放到不能放为止,然后在将另外一个顺次放进去。 代码: typedef lo 阅读全文
摘要:
01分数规划 二分答案。设二分的值为实数mid。 如果途中存在一个环S,使得$\sum {(mid*wt[j]-wf[t])}<0$,那么我们可知: 存在一个$S$,使得 \(mid<\frac{\sum{wf}}{\sum wt}\) 也即是说,本题所求的最大值一定大于 \(mid\) 。 如果对 阅读全文
摘要:
题目要求将一颗最小生成树添加一些边构成一个无向完全图,并且要求添加的边权最小。 而且必须保证构成的完全图中的最小生成树唯一且就是这棵最小生成树。 我们先考虑kruskal算法。 我们需要对边进行排序,每次选择最小的那条边进行构造最小生成树,如果当前的边可以被选择我们有: 1.这个加边从操作是将两个集 阅读全文
摘要:
首先,我们有两个矩阵,如果其中一个矩阵代表恰好经过x条边的最短路,另外一个矩阵代表恰好经过y条边的最短路。那么将这两个矩阵合并就代表恰好经过x+y条边的最短路。怎么合并呢?结合下面这个式子理解一下: c[i][j]=min(c[i][j],a[i][k]+b[k][j]); 其中i,j,k就是flo 阅读全文
摘要:
引用大佬的讲法,我自己讲不清楚QAQ 链接 阅读全文
摘要:
求图上的最小环问题可以用Floyd算法。 Floyd的实质是dp,状态表示为从i ~ j的路径中经过的最大的节点编号是k的路径的最小值是多少,那么我们可以在这过程中利用上一层的状态求出i ~ j的环中经过的节点的最大编号是k的环。 我们可以知道所有的环都可以表示为 i ~ j ~ k ~ i,i ~ 阅读全文
摘要:
比赛链接 比赛时只出两题,B题卡了半天。C题因为在自习室打的比赛,电脑没电了没交上,吐了。D题没学过,赛后补了一下。 A题 题意:给定一个序列,要求确定其子序列的乘积是否能不为完全平方数。 只需要遍历一遍整个序列,如果有个数不是完全平方数,那么就一定存在一个乘积不为完全平方数的子序列。 代码: #i 阅读全文