随笔分类 - 基础算法----排序
摘要:[TOC] codeforces 851D Arpa and a list of numbers [题目传送门][1] 题意 给出$n$个数,有两种操作: 1.将一个数从数列中删除,代价为$x$。 2.将一个数加1,代价为$y$。 询问最少花费多少的代价能够使数列中所有数的$Gcd$不为1。 $(1
阅读全文
摘要:[TOC] codeforces 797F Mice and Holes [题目传送门1][1] 题意 有$n$个老鼠,每个老鼠原来在$xi$的位置上,有$m$个洞,每个洞分别在$pi$的位置上,一共可以容纳$ci$只老鼠,问所有的老鼠都跑进洞里,最小的跑动距离总和是多少。如果无解,则输出 1。$(
阅读全文
摘要:[TOC] BZOJ1597 土地购买 [题目传送门][1] 题解 还是一道经典的斜率优化$Dp$,我们先将土地按长度升序排序,然后在这个排序中找出一个长度$a$升序,长度$b$降序的序列(因为如果$b$在某一处是升序的话,那么前面的一部分土地就没有必要买了)。之后就很容易写出转移方程: $dp[i
阅读全文
摘要:[TOC] BZOJ3190 赛车 [题目传送门][1] 题解 这题有点像1007的那道题,我们可以把赛车的速度转化成斜率,把赛车的初始位置转化成与$y$轴的交点,然后就和1007差不多了。不过要注意的是计算两个直线交点的时候,如果交点在$x$轴的负半轴,是不能直接拿来比较的,因为规定了时间为正。
阅读全文
摘要:[TOC] BZOJ1007 水平可见直线 [题目传送门][1] 题解 经典的单调队列进行维护,先将所有的直线以斜率$A$为第一关键字,以与$y$轴交点高度$B$为第二关键字进行排序。考虑加入一条直线,如果斜率与$A[st[top]]$相同,那么可以直接弹出队首元素(因为肯定会被覆盖掉)。然后判断该
阅读全文
摘要:[TOC] BZOJ1050 旅行comf [题目传送门][1] 题解 比较妙的一道题。刚开始看到题的时候,感觉可能是两个二分,但是发现这样找到的答案不一定是最优的。然后发现他的边只有5000条,所以我们将边按权值从小到大排序,枚举每一条边,让这条边作为最小的那条边(即只枚举边权比它大的边),跑最小
阅读全文
摘要:POJ 2392 Space Elevator 题意: 解题过程: AC代码: POJ 2392 Space Elevator 题意: 解题过程: AC代码: POJ 2392 Space Elevator 题意: 解题过程: AC代码: POJ 2392 Space Elevator 题意: 解题
阅读全文

浙公网安备 33010602011771号