天天看点

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

C. Captcha Cracker

题目大意:给一个字符串,识别出0,2,4,6,9以及英文单词并

按照出现顺序输出。

通过人数/提交人数:60/62

题目解法:直接模拟。

连续两题是因为被卡时卡挂的,精明的出题人,只能说我自己没注意一个细节,然后刚好被出题人卡到这个点,TL.....

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

F. Find Quailty

题目大意:给一个凸多边形,求出从不在多边形内一点𝑄出

发走不超过𝑈距离且不进入多边形内部所能到的区域面积。

通过人数/提交人数:0/3

题目解法:圆面积减去圆和凸多边形交的面积是显然不对的。

如果𝑄不在边界上,过𝑄作两条凸包的切线,那么区域被分为

两部分,其中一部分如下图所示,只需要计算圆和简单多边

形的交,这是个经典的几何模板题。

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

另一部分面积首先是个大扇形,然后沿着凸多边形的边界从

两侧爬到另一边会得到很多小扇形。

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

𝑈值足够大的时候会有一些扇形发生相交,需要减去相交部

分的面积

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

由于从任意一侧爬过去的途中得到的若干小扇形是两两交为

空的,那么两侧小扇形各自并集的交集就是从两侧小扇形任

取两个的交集的并集,于是减去从两侧分别枚举一个小扇形

求交的结果,再减去两侧小扇形与大扇形求交的结果即可。

复杂度是O(n^2).

第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

继续阅读