摘要: 题意:给定一个二维平面,再给你n条垂直线条,如果有两条线段能用水平的线连接且不水平的线不接触其他线段,则说明这条两条线段可见,如果三条线段两两可见,则代表一个“三角形”,问给定线段集合中的“三角形”个数,解题思路:线段树区间覆盖加统计,要把区间变为点数,所以所有点的 y 都要 乘 2 。 不会stl的童鞋伤不起,用链表统计,更新,最后在暴力找个数。解题代码: 1 #include 2 #include 3 #include 4 #define maxn 8005 5 int hs[maxn]; 6 struct op 7 { 8 int y1,y2,x; 9... 阅读全文
posted @ 2013-08-14 12:37 dark_dream 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 题意:题目真难懂 自行理解。。。解题思路:其实只要考虑两列就可以了,对于第一列都某个服务器,如果它坏了的话,就会有第二列的补上,所以我们只需要构造两列,第一列就按照1-n循环排,然后对于每个服务器,如果这个服务器坏了的话,从未排全的数开排,如果等于这个服务器编号,跳一个即可。。解题代码: 1 #include 2 #include 3 #include 4 int a[1000][1000]; 5 int ths[1000][1000]; 6 int temp[1000]; 7 int main() 8 { 9 int n , m;10 while(scanf("%d %d" 阅读全文
posted @ 2013-08-14 09:36 dark_dream 阅读(308) 评论(0) 推荐(0) 编辑