摘要:
//按照wi+si从小到大的顺序排,结果一定最优,最大的危险系数一定是最小的 //类比于国王游戏 #include <iostream> #include <algorithm> using namespace std; typedef pair<int, int> PII; const int N 阅读全文
posted @ 2019-11-22 21:49
晴屿
阅读(136)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <algorithm> using namespace std; const int N = 100010; int n; int q[N]; int main() { scanf("%d", &n); for (int i = 0; i < 阅读全文
posted @ 2019-11-22 21:49
晴屿
阅读(102)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <algorithm> using namespace std; typedef long long LL; const int N = 100010; int n; int t[N]; int main() { scanf("%d", &n 阅读全文
posted @ 2019-11-22 21:49
晴屿
阅读(107)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <algorithm> #include <queue> using namespace std; int main() { int n; scanf("%d", &n); priority_queue<int, vector<int>, g 阅读全文
posted @ 2019-11-22 03:33
晴屿
阅读(107)
评论(0)
推荐(0)
摘要:
//1.将所有区间按左端点从小到大排序 //2.从前往后处理每个区间,判断能否将其放到某个现有的组中 //判断某一组的最后一个区间的右端点是否小于该区间的左端点 //如果大于或等于,就开新组,如果小于,就放到组里去,并更新最后一个区间的右端点 #include <iostream> #include 阅读全文
posted @ 2019-11-22 03:32
晴屿
阅读(168)
评论(0)
推荐(0)
摘要:
//1.将所有区间按照左端点从小到大排序 //2.从前往后依次枚举每个区间 //首先选择能够覆盖左端点的区间当中右端点最靠右的端点 //在所有能覆盖start的区间当中,选择右端点最大的区间 //选完之后将start更新成右端点的最大值 #include <iostream> #include <a 阅读全文
posted @ 2019-11-22 03:32
晴屿
阅读(173)
评论(0)
推荐(0)
摘要:
//1.将每个区间按右端点从小到大排序 //2.从前往后依次枚举每个区间,如果当前区间中已经包含点,就直接跳过,否则,选择当前区间的右端点 //选右端点的话,可以尽可能的包含在多个区间里 #include <iostream> #include <algorithm> using namespace 阅读全文
posted @ 2019-11-22 03:31
晴屿
阅读(144)
评论(0)
推荐(0)
摘要:
//1.将每个区间按右端点从小到大排序 //2.从前往后依次枚举每个区间,如果当前区间中已经包含点,就直接跳过,否则,选择当前区间的右端点 //选右端点的话,可以尽可能的包含在多个区间里 //那么选的点的数量,就是最大的不相交的区间的数量 #include <iostream> #include < 阅读全文
posted @ 2019-11-22 03:31
晴屿
阅读(176)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int N = 10; /* 001~abc-1, 999 abcxegf 1. num[i] < x, 0 2. num[i] 阅读全文
posted @ 2019-11-22 02:23
晴屿
阅读(240)
评论(0)
推荐(0)