当前位置: 首页 > news >正文

百度之星-第五维度

题目:第五维度

零维是点,点动成线;

一维是线,线动成面;

二维是面,面动成体;

三维是体,体动成史;

四维是史,史动????

现在人类企图理解第五维度。

而小度现在是第五维度的一位智者。一天,小度发现人类的许多科学家在试图理解第五维度,人类是四维生物,若是他们理解了第五维度,很可能也会到来第五维度的空间,这显然是小度不愿意看到的(毕竟哪里都有人口数量的问题….)所以小度希望他们尽可能晚的理解第五维度,因此,小度用更高维度的视角把所有人类中在理解第五维的科学家都看到了,而这些科学家的智商会不一样,所以他们的理解速度 Vi​ 也会不一样;并且,他们开始理解的时间点 Si​ 也不一样。理解速度 Vi​ 描述为每过单位时间可获得 Vi​ 个单位理解力,也就是说在 Si​+1 的时间点该科学家会第一次贡献 Vi​ 的理解力。我们定义理解力总数超过 m 时理解了第五维度。 小度因为维度更高,可以使用时间悖论来给人类一次重大的打击,小度可以让任意一位科学家在任意一个时间点消失,所以他接下来的理解不会继续;而且人类不会记得他,所以他之前的贡献会消失。因为小度能力有限,所以小度只能使用一次暂时悖论。

现在求在尽可能晚的情况下,人类理解第五维度的最早时间点。

时间点初始为0,但显然,没有科学家能够在 0时刻有贡献。

思路:

正着做的话,很容易想到模拟,但是“消失一个人”会对之前的结果产生影响,所以不太好做。
我们可以倒着从结果推:还是二分答案,那么这次二分什么呢?当然是时间了!

我们只要遍历每个二分后的时间点就行,看在有效时间内贡献最多的人消失后还能不能理解第五维度,如果仍然可以理解,那么我们就继续减少时间,直到不能再减少时间,那么答案就出来了。

那么怎么知道最终的二分结果究竟能不能使人理解理解第五维度呢?我们只需要再带入一次check函数判断即可!好了,下面就是代码部分(依然有注解哦~)

#include <bits/stdc++.h>//第五维度:有n个科学家,在不同的时间点s出现,之后每天贡献v,当人类贡献总和大于m时,就理解了第五维度,但上帝可以随机 using namespace std; //使一个人消失,他的所有贡献也会消失,问人类最晚多久可以理解第五维度,如果不能输出-1 typedef long long ll; ll s[100000],v[100000],n,m; bool check(ll t){ ll sum=0,max_=-1; for(int i=1;i<=n;i++){ if(t<=s[i])continue;//后面出现的人就跳过 sum+=(t-s[i])*v[i]; max_=max(max_,(t-s[i])*v[i]);//找最大贡献的人 } return sum-max_>m; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ scanf("%d %d",&s[i],&v[i]); } ll mid,l=0,r=2e9; while(l<=r){ mid=(l+r)>>1; if(check(mid)) r=mid-1; else l=mid+1; } if(check(l))cout<<l;//对二分查找失败的情况进行特判 else cout<<-1; }

怎么样,今天的题是不是很简单~

http://www.jsqmd.com/news/447264/

相关文章:

  • TinyGPSPlus库深度解析:如何用3行代码搞定STM32的NMEA数据解析
  • AntV-G6实战:5分钟搞定可交互拓扑图编辑器(附完整代码)
  • Glass Prompt工程终极指南:构建高效AI提示模板的10个技巧
  • Res-SAM实战案例:如何用AI自动生成精确的缺陷分割掩码
  • ESP32开发实战:如何高效管理IDF组件依赖(附避坑指南)
  • 蛋白互作分析避坑指南:PDB预处理 vs AlphaFold结构怎么选?
  • Kotlin/Native终极云存储指南:AWS/Azure/GCP完美集成方案
  • 解决Matplotlib中文乱码:从DejaVu Sans到SimHei的完整配置指南(附常见问题排查)
  • Glass键盘快捷键终极指南:提升工作效率的10个实用技巧
  • Kotlin/Native终极部署指南:应用商店发布与更新策略详解
  • 各种橡胶的特性介绍
  • 未来生物计算模型核心能力:提示工程架构师需掌握的提示工程创新技术
  • LangGraph实战:如何用SSE协议远程调用MCP Server(附完整代码示例)
  • 妙言MiaoYan LaTeX数学公式:科研工作者的写作利器指南
  • Python27虚拟环境离线安装pandas避坑指南:从whl文件选择到依赖解决
  • Python学习
  • uport1100系列转接头,SZ系列光电编码器RS485通信
  • Alpakka Elasticsearch集成指南:构建实时日志处理管道的5个技巧
  • 基于人工智能+AI的展会展位预订赞助信息管理系统
  • 终极Nano Stores Computed存储指南:如何构建高效响应式数据流
  • 2025 年磁力驱动泵十大品牌排行榜(排名不分先后)
  • 麒麟V10 sp3操作系统下载离线rpm包
  • 如何用Flipper Zero玩空战迷宫游戏:VGM模块使用教程
  • 解读大数据领域数据科学的地理信息系统应用
  • Unity引擎Native层内存管理:原理、机制与工程实践解析——深入C++引擎的心脏地带
  • 终极CompactGUI安全指南:透明压缩技术的风险防范与最佳实践
  • 5.测试常用命令
  • lottie-flutter高级特性:动态属性与自定义绘制实战教程
  • [工具]vscode 使用AI 优化代码
  • 噪声环境下的数据驱动预测控制:提升抗测量噪声干扰能力