2653专题

poj 2653 几何

按顺序给一系列的线段,问最终哪些线段处在顶端(俯视图是完整的)。 const double eps = 1e-10 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;}struct Point{double x , y ;Point(){}Po

力扣2653.滑动子数组的美丽值

力扣2653.滑动子数组的美丽值 计数排序:数值作为下标 记录个数 求第x小的数 : 暴力枚举负数 直到找到第x个负数 class Solution {public:vector<int> getSubarrayBeauty(vector<int>& nums, int k, int x) {const int BIAS = 50;int cnt[BIAS * 2 + 1],n = nu

2653: middle

震惊,竟然一遍ac... 一眼扫过去并没有思路... 但是一般来说求区间第k小都是主席树,考虑这题是否能用主席树...发现对区间建主席树似乎并不好处理... 然后考虑枚举答案ans的话能否建主席树,显然对于一段区间,如果大于该数的数-小于该数的数 >= 0,则答案至少为ans 那么二分答案,对权值建树,一开始把所有节点标为1,表示所有数都至少大于第0个数,然后按权值大小依次更新, 显然把

【51nod】2653 区间xor

区间xor Link 解题思路 code #include<iostream>#include<cstdio>using namespace std;int a,b;int f(int x){if(x%4==1) return 0;if(x%4==3) return 1;return f(x-1)^x;}int main(){cin>>a>>b;printf("%d\

POJ 2653 Pick-up sticks 线段交

直接暴力即可,因为题目中说了top line不超过1000个。 所以理论复杂度不会非常大 #include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <cstdlib>#include <cmath>#include <map>#