3905专题

LA 3905 Meteor / 区间扫描

求哪一时刻 框框里的点最多 每个点在做运动(在边框上不算) 求出每个点经过框框的区间 在2维坐标系以x表示 是开区间 因为区间边上不算 假设有一条竖线从左到右扫描过去 也就是求哪一时刻扫描线相交的区间最多 可以设cnt = 0每遇到左区间++右区间--求最大的cnt 然后一个区间右端点与一个区间的左区间相同 要先算右区间因为是开区间 书上的代码 #include <cstdio>#i

zoj 3905 Cake(状压dp)

题目链接:zoj 3905 Cake 代码 #include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 805;struct State {int a, b;State (int a = 0, int b = 0): a(a), b(b) {}bool operat

POJ 3905 Perfect Election (2-SAT)

题意: 有n个人参加竞选,共有m条民意调查结果: 民意调查问题编码的已接受答案 如果i和j中至少有一个当选,我会很高兴。 + i + j 如果i和j中至少有一个没有当选,我会很高兴。 -i -j 如果我当选或j未被选举或两件事都发生,我会很高兴。 + i -j 如果我没有当选或j当选或两件事都发生,我会很高兴。 -i + j 是否存在全部选民都满意的方案。 分析: 2——sat的经典

uva 3905 meteor(扫描线)(图形)

https://vjudge.net/problem/UVALive-3905 题目看着麻烦,其实写起来还好。 将每一个流星的运动分为X,Y方向上的运动,如果两个方向上都同时满足在范围之内,那么就是流星在方框内的时间范围。 扫描时间线的时候直接记录开始和结束的时间就可以了,每次不需要重新计算,而是维护结果就可以了,有点像点灯的题。实现的时候按照白书上的用结构体实现的,其实还可以开两个数组,分