首页 > 代码库 > SRM13

SRM13

由于种种原因,好像出了点锅……?

好在问题不是很大。

得分比我估的要低啊。

 

木之本樱 计算几何送分题

就是叫你求一共有多少组四线共点,O(n^4)暴力可以过初。
枚举两条线,求出交点之后求有多少条直线过这个点。这样是O(n^3)的,可以过续。
先把n^2 个交点求出来,排个序,统计多少个点重复。O(n^2logn)可以过终。

实际:由于出题人自己代码常数较大,导致卡暴力失败,n^4过了续,n^3过了终。

 

绵津见 数据结构送分题

按照题意模拟,可以过初。
以时间和x 坐标作为平面的两维,如果把每个西瓜当成一个点,每个海浪可以影响到的西瓜在一个矩形内,暴力nm 可以过续,扫描线+树状数组可以过终。
由于数据有梯度暴力能多拿一些分。

 

花六游鸟小 结论送分题

初是用来送分的,随便怎么暴力都行。

续好像也是用来送分的,n*(深度)^2 的做法即可。
终也是用来送分的,只要猜到几个浅显的结论就跟续一模一样了。
首先深度大于logm 的点肯定能达到最大值。因为每次我们可以把至少一半的为0 的属性变成1。
然后未到达最大值的点相邻两个肯定价值不同,也就是说路径相邻两个值不同的限制其实是把达到最大值的子树砍掉。然后套续的做法即可。
可是怎么判断一个点的价值达到最大值呢?

结论是如果有n 个01 串,记marki 为拥有第i个属性的串的集合。那么当所有marki 取遍所有可能的2^n 种集合的时候达不到最大值,否则可以达到最大值。
如果不知道最后一个结论直接暴力跑的话,(由于复杂度都在读入)这部分能拿到多少分就看你暴力怎么写了,出题人把自己的暴力卡到了70 分。


出题人的暴力分=80+60+70=210 是不是很棒棒?
最后感谢验题人:abslime、mistyeye、cgh_

SRM13