【重口味。。】CTSC2011杀菌计划

这篇博客详细介绍了CTSC2011比赛中的一个题目,涉及到三维空间中的叉积、半平面交、梯形剖分等关键概念。作者通过350行代码实现了解决方案,包括光线在各面上的投影、反射递归以及面积计算。文章还提及了在处理中遇到的平行和无解判断的错误,以及如何修正这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在奋战了7个小时后才AC了这道题的人只能瞻仰在考场上AC的FHQ了。。。

代码很恐怖,写了350行8KB,最可恶的是一页草稿纸的伪代码和各种特殊情况。

 

涉及的几个关键字:三维叉积、半平面交、梯形剖分

 

三维叉积的一个核心操作就是:三维旋系,另外还需要用来写:面面交,面线交,判三维空间上下左右,二维投影。

 

具体做法是:

      一束光线首先在每一个面上投一个影,然后这个投影需要和这个面求一个交集(这里我用的是半平面交),之后再反射递归。

 

      计算答案时将每个面上曾经经过的所有投影求一个面积并(梯形剖分)。

 

当然细节很多,不过还好栋哥没有出细节太多的数据,本来我4.30小时过了样例之后直接去测就已经过了7个点,但令我哭笑不得的是第6个点(全部面积之和)和第7个点(0)错了。。。之后又发现疏漏了几种特殊情况。。

 

很郁闷的是半平面交又错了老地方:最开始的时候忘记判平行和判无解

 

扣的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值