随笔分类 - 排序
摘要:每日一题 day39 打卡 Analysis 1.当正向思考受阻时,逆向思维可能有奇效。 2.问题转化为:找到最小的d,使去掉所有权值>d的边之后,连通支的个数<k; 3.定理:如果去掉所有权值>d的边之后,最小生成树被分割为k个连通支,则图也被分为k个连通支。 1 #include<iostrea
阅读全文
摘要:每日一题 day37 打卡 Analysis 经典的带限期和罚款的单位时间任务调度问题 将 val 从大到小排序,优先处理罚款多的,将任务尽量安排在期限之前,并且靠后,如果找不到,则放在最后面 1 #include<iostream> 2 #include<cstdio> 3 #include<cs
阅读全文
摘要:每日一题 day35 打卡 Analysis 先将不符合条件的区间去掉(即半径小于W,不然宽度无法符合),将符合条件的按区间存入节点中。区间的左边界是x-sqrt(r*r-W*W/4.0),要计算x轴的最小长度,而不是x-r。然后将区间按照左边界从小到大排序,依次找到能够覆盖L点的最大右端点。 1
阅读全文
摘要:人生第一次AC黑题,我太感动了。 每日一题 day31 打卡 Analysis 先跑遍DJ,求出1到 i的最短路。得到每个点到 1号点的距离后,从小到大排序一遍,这时便可以枚举每个点到 1号点的距离修筑地下隧道,每次将每个被枚举到的点加入一个集合(实际上可以由边权总和-与该点相连所有没有计入集合的边
阅读全文
摘要:每日一题 day4 打卡 Analysis 暴力+快排(其实是归并排序) 一开始天真的以为sort能过,结果光荣TLE,由于每次只更改相邻的元素,于是善于处理随机数的快排就会浪费很多时间。于是就想到归并排序:归并排序的思想就是合 并两个同序数组的线性方式——每次比较两个有序数组指针指向的值,谁更小(
阅读全文