随笔分类 - 题解
摘要:九点圆过 三边中点、三边垂足、三点至垂心线段的中点。九点圆圆心为外心与垂心中点,半径为外心的一半。也许是精度问题,求三边中点三角形外心再求距离算半径就WA了。 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math.h> 5 struct Point 6 { 7 double x, y; 8 Point(){x = y = 0;} 9 Point(double a, double b)10 {x = a, y = b;}11 Poin...
阅读全文
摘要:给出两个DFA的状态转换表,判断两个DFA是否相同。需要先处理循环路径,即通过某路径后无法达到AC状态,但可能通过该路径后两个DFA的状态转换不相同,这种情况下两个DFA依然是相同的,所以要把这样的路径封死。从AC状态反向建图,BFS封死上述路径,再从0状态BFS同步对比两DFA状态转换。 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<queue> 5 using namespace std; 6 const int maxn = 2011; 7
阅读全文
摘要:思想是半平面交+旋转卡壳,关于X轴取一次对称再求包围(0, -10^10)点的部分后再对称回来可以少写点针对性代码。左右的射线单独处理了。 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<algorithm> 5 #include<iostream> 6 #include<math.h> 7 using namespace std; 8 const int maxn = 211111; 9 const double eps =
阅读全文
摘要:分类讨论的情况不难想,难点在于判断各种垂线垂足是否在线段上。设bl1、bl2为两个线段上公垂线垂足位置的比例值,x为p0的公垂线垂足X坐标,则:x = (p1.x - p0.x) * bl1 + p0.x同理可得其他坐标。公垂线向量与两线段向量点积为0可得两个方程,求得bl1和bl2皆在0~1范围内则公垂线垂足都在线段上。 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 typedef long long LL; 5 const double eps = 1e-8; 6 int
阅读全文
摘要:造福后人,必须翻译一下这痛苦的描述了。按照AC后的理解来说,题目给出两场比赛编号1~100的队伍名次情况(有些队伍没有出现),每行是并列名次,下一行是前面队伍个数累计的名次,求两场比赛的总排名。对于两场都参加的队伍,两场名次之和较小的排前面。对于只参加一场的队伍,在不冲突的情况下和与其该场同名次的且参加了两场的另一支队伍总排名相同。对于不满足上述的只参加一场的队伍,看是否可以插入一个位置,这个位置前面的队伍都是该场在其前面的队伍,后面的队伍也都是该场在其后面的队伍。多个能插入同位置的队伍,按他们在自己那一场的排名来比较。对于以上条件都不满足的队伍,忽略掉。输出的时候同名次队伍要在一行中按队伍I
阅读全文
摘要:把每个交点映射为单独的id,map去重。对每个点建立相邻点的链表。枚举点,用相邻点链表找最左点,迭代绕出凸包,枚举圆判凸包与圆相交。 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math.h> 5 #include<vector> 6 #include<algorithm> 7 #include<iostream> 8 #include<map> 9 using namespace std; 10
阅读全文
摘要:被这道题玩死了要。。。对每个圆枚举得到和其他圆切线斜率,两个切线之间的斜率范围是可以经过的。得到的许多斜率范围可以转化为区间覆盖,nlogn排序得解,总复杂度O(n^2logn)。要特别处理圆相交、包含的情况。切线的斜率范围,是按-pi~pi算的,算晕了很久。。然后就是恐怖的TLE,最后发现交C++TLE,交G++就过了,额滴个神,累死了,调一晚上。。还有,这题用sort比用qsort快了5s。。。 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math
阅读全文
摘要:A:求逆元吓唬人的,枚举一下,防超longlong即可。B:处理RankList认真模拟。C:开机贪心花时间长的机器。D:装箱问题2DFS会比较繁琐,其实是个三维的并查集,记录节点与父节点坐标差。E:单行道正向建0边,反向建1边,做最短路。F:重启区间DP。可以发现,每次重启的机器一定是当前两端机器的其中一个。G:维护序列线段树。记录全0区间,可防止更新到底层。H:跳跳BFS,遇到可跳数字,将所有相同数字入队。
阅读全文
摘要:忙的要死了,要给三月月赛调试服务器,出题,还要筹办下个月的校赛,还有考研复试,还有毕业设计……这俩孩子得知考研成绩公布,咱的分数应该算过了初试了,竟然想到来办一场纪念赛,倒是颇为感动。。。事情太多,只出了两个水题,水了两个的朋友别忘了感谢我~~A:搞两个双端队列,一个是最大数单调队列,一个是最小数单...
阅读全文
摘要:POJ朴素搜索能过的Eight,到HDU的变态数据就过不去了,然而无论双广还是A*都无法实现statistic里0ms的神迹。Discuss里看到了罗教主的一个回帖——构造解!于是专门向罗教主请教了一下,竟然没看懂他的回答。 走亲戚和表弟拿纸片玩了好一会儿,发现了一点蛛丝马迹。 构造的方法不止一种,
阅读全文

浙公网安备 33010602011771号