摘要:
题目链接:2020ICPC沈阳站 D-Journey to Un'Goro 题目大意: 给定一个整数$n(n\leq 1e5)$表示一个只由字符$r$和$b$构成的字符串序列的长度,对于该序列的任意一个子序列,当该子序列中$r$的个数为奇数时,则称该子序列为“满意”。要求构造一系列这样的字符串序列使 阅读全文
摘要:
题目链接:LibreOJ 2423 跳石头 题目大意: 题解: 对最短跳跃距离进行二分答案即可。 #include <iostream> using namespace std; int res[60000]; int l, n, m, ans; int get(int x) { int t = 0 阅读全文
摘要:
题目链接:POJ 2507 Crossed ladders 题目大意: 题解: 如图所示,已知$\left{\begin{aligned}\frac{CD}{AB}=\frac{DF}{BF}\\frac{CD}{EF}=\frac{BD}{BF}\end{aligned}\right.$, 两式相 阅读全文
摘要:
题目链接:Gym 331746H Load Balancing 题目大意: 题解: 将各点按照$x$,$y$分别排序后,暴力枚举横竖切线。 #include <algorithm> #include <iostream> using namespace std; struct node { int 阅读全文
摘要:
题目链接:CodeForces 1006C Three Parts of the Array 题目大意: 题解: 两个指针分别指向头尾,向中间移动,计算$sum1$和$sum2$,哪边小移动哪边的指针,记录$sum1 = sum2$时$sum1$的值, #include <iostream> usi 阅读全文
摘要:
题目链接:CodeForces 279B Books 题目大意: 题解: 尺取法维护区间,当$temp>m$时头指针向右移直到$temp \leq m$,记录最大区间。 #include <algorithm> #include <iostream> using namespace std; int 阅读全文
摘要:
题目链接:CodeForces 600B Queries about less or equal elements 题目大意: 给定两个整数数组$a$和$b$。对于第二个数组的每个元素$b_j$,您应该找到数组$a$中小于或等于值$b_j$的元素数。 题解: 排序后二分查找,用$upper_boun 阅读全文
摘要:
题目链接:计蒜客 T2431 激光炸弹 题目大意: 题解: 用二维前缀和即可,注意区间是$[0, 5000]$,所以最大要到$5001$。 #include <algorithm> #include <iostream> using namespace std; int sum[5010][5010 阅读全文
摘要:
题目链接:POJ 3190 Stall Reservations 题目大意: 题解: 先按开始时间从小到大排序,然后用优先队列按结束时间从小到大的顺序去存储。 每次从优先队列中选择结束时间最小的牛,并与当前将要存入优先队列的牛作比较,判断是否可以使用同一台机器。 #include <algorith 阅读全文
摘要:
题目链接:POJ 1804 Brainman 题目大意: 题解: 在归并排序的过程中记录逆序对个数。 #include <algorithm> #include <iostream> using namespace std; int ans, s[1005], t[1005], n, T; void 阅读全文
摘要:
题目链接:POJ 3061 Subsequence 题目大意: 给出了一个由$N$个正整数$(10 < N < 100000)$组成的序列,每个都小于或等于$10000$,并给出一个正整数$S(S<100000000)$。编写一个程序,求出序列中连续元素之和大于或等于$S$的子序列的最小长度。 题解 阅读全文
摘要:
题目链接:LibreOJ 2606 借教室 题目大意: 题解: 因为订单编号从$1$到$m$,且须遵循先后顺序,所以可以用二分答案。 验证答案时,把$1$到$x$号订单每天借教室的总和统计出来,用差分数组存储。 超过最大可借教室数量时,$x$号订单借不到教室。 #include <cstring> 阅读全文
摘要:
题目链接:POJ 2376 Cleaning Shifts 题目大意: 题解: 将所有牛按照开始时间排序,如果开始时间相同就按照结束时间大的在前。 如果第一头牛的开始时间不是1直接输出-1。 每次遍历一遍后面的牛,选择一只开始时间小于等于上一区间的结束时间并且结束时间尽可能大的牛。 #include 阅读全文
摘要:
题目链接:51Nod 1432 独木舟 题目大意: 题解: 按体重从小到大排序,两个指针分别指向头尾,从最重的开始分配船只,他可以和当前最轻的坐船,如果重量超了就自己坐船。 #include <algorithm> #include <iostream> using namespace std; l 阅读全文