摘要:
这是codeforces gym中的2011-2012 Stanford Local Contest, 8 October, 2011的一道几何题。题意很简单,就是给出500条直线,问你有多少个不被其他直线穿过的三角形。这道题一个很简单的思路就是先要找出每条直线上的交点,因为如果图形是空三角形,那么组成三角形的的每两个顶点都是某条直线上相邻的两个交点。于是我们利用直线的标号,用某条直线上所有点相邻的两条直线与该直线组成三角形,很容易可以找到最多不超过250000个三角形。其中必然会有重复的三角形。如果三角形重复次数是3(最多也只能是3),那么这个就是一个空三角形。用multiset可以很方.. 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2871 这是要用线段树的一道模拟题,题意相当简单,就是模拟内存分配的操作。题目用到线段树【单点更新,单点查询,区间更新,查找区间】的功能。 New:寻找是否有大于指定长度的区间,并将区间染色,标记起始位置。 Free:查询单点值,如果已被占用,则删除该区间。 Get:查找第x个区间,并返回起始位置。 Reset:将区间清空。View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <vector> 4 #in 阅读全文