![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
plants13
这个作者很懒,什么都没留下…
展开
-
关于“路由器安置”一题
描述 一条街道安装无线网络,需要放置M个路由器。整条街道上一共有N户居民,分布在一条直线上,每一户居民必须被至少一台路由器覆盖到。现在的问题是所有路由器的覆盖半径是一样的,我们希望用覆盖半径尽可能小的路由器来完成任务,因为这样可以节省成本。(1 ≤ N, M ≤ 100000). 解法 典型二分。尝试当前路由器覆盖范围能否覆盖所有居民点,但会出现实数,因此·可以使用二分直径的方法, 最后实数折半输出. return l * 1.0 / 2; 需要注意,输入数据可能是无序的(被坑了),因此输入后最好排下序。原创 2021-05-15 12:32:42 · 252 阅读 · 0 评论 -
关于namespace的一点东西
众所周知,随意的使用 using namespace std; 这种语句在极端情况下会出现一些错误, 这种错误有一个原因: 就是在定义函数,变量等时与c++中std命名空间中一些东西出现了重名情况(命名空间污染),如何解决? 把上方的命名空间保留 开一个你自己的命名空间,这里以名称为plants13为例 namespace plants13 { int a,b; //other code... }//这里没有分号! (但是之后定义在这个命名空间的所有东西都要添加plants13::的前缀了,即使用名原创 2021-04-02 21:58:14 · 70 阅读 · 0 评论