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

2024 暑假友谊赛-热身1

[ABC102D] Equal Cut - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:找在区间[2,n-1]中找到i,j,k三个点,把序列分割成4个区间:[1,i],[i+1,j],[j+1,k],[k+1,n] 暴力的做法是枚举i,j,k加上前缀和是o(n^3)的 key:"考虑枚举处于中间的j,然后用i平衡左两个区间,用k右两个区间" 如果想四个区间总和的极差最小,那么i和k肯定是处于平衡点中.i尽量平衡左两个区间,k尽量平衡右两个区间. 因为在枚举j,第二个区间是增长的,第一个区间是不变的,那么i需要往右靠 类似的,那么第三个区间是减少的,第四个区间是不变的,那么k也需要往右靠 i和k都要根据每次j的移动,找到平衡点.而新的平衡点肯定是在原本的基础上往右移动或不动.!@

int n;
int pre[200005];
题意:把序列分为四个连续的区间,使得max(sum1,sum2,sum3,sum4)-min(sum1,sum2,sum3,sum4)最小
思路:找在区间[2,n-1]中找到i,j,k三个点,把序列分割成4个区间:[1,i],[i+1,j],[j+1,k],[k+1,n]
暴力的做法是枚举i,j,k加上前缀和是o(n^3)的
key:"考虑枚举处于中间的j,然后用i平衡左两个区间,用k右两个区间"
如果想四个区间总和的极差最小,那么i和k肯定是处于平衡点中.i尽量平衡左两个区间,k尽量平衡右两个区间.
因为在枚举j,第二个区间是增长的,第一个区间是不变的,那么i需要往右靠
类似的,那么第三个区间是减少的,第四个区间是不变的,那么k也需要往右靠
i和k都要根据每次j的移动,找到平衡点.而新的平衡点肯定是在原本的基础上往右移动或不动.!@
[ABC102D] Equal Cut
https://www.luogu.com.cn/problem/AT_arc100_b
void solve(){           D       区间..补题补题cin>>n;for(int i=1;i<=n;i++) {cin>>pre[i];pre[i]+=pre[i-1];}int ans=1e15;int i=1,j=2,k=3;while(j<=n-1){     j<=n-1这里是前两个区间在作差,如果i移动前的区间差值比i移动后的区间差值大,那么i进行移动,两个区间的差值便缩小了i往右移动时,区间一在递增,区间二在递减,这样总会存在一个最小的区间差值.后两个区间同理.while(i+1<j&&abs(pre[j]-pre[i]-pre[i])>abs(pre[j]-pre[i+1]-pre[i+1])) i++;     加绝对值while(k+1<n&&abs(pre[n]-pre[k]-(pre[k]-pre[j]))>abs(pre[n]-pre[k+1]-(pre[k+1]-pre[j]))) k++;ans=min(ans,max({pre[i],pre[j]-pre[i],pre[k]-pre[j],pre[n]-pre[k]})-min({pre[i],pre[j]-pre[i],pre[k]-pre[j],pre[n]-pre[k]}));j++;}cout<<ans;
}

还没补出来的题:

Unlucky Numbers - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)--数位dp

[ABC297G] Constrained Nim 2 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)--sg函数

[ABC108D] All Your Paths are Different Lengths - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)-紫

http://www.lryc.cn/news/409485.html

相关文章:

  • Nginx系列-11 HTTP消息处理流程
  • 前端知识--前端访问后端技术Ajax及框架Axios
  • 【前端/js】使用js读取本地文件(xml、二进制)内容
  • 初步入门C ++之类的概念
  • 什么是技术作家风格指南?
  • WebGIS学习——Cesium|Javascript
  • Qt,获取其他.exe文件的标准输出流的信息(printf/print的输出信息)
  • LeetCode 热题 HOT 100 (010/100)【宇宙最简单版】
  • Ubuntu24.04安装mysql-server小计,解决mysql_secure_installation时不能重置密码的问题
  • unity3d:TabView,UGUI多标签页组件,TreeView树状展开菜单
  • go语言map底层及扩容机制原理详解(下)
  • 网络协议二 : 使用Cisco Packet Traceer工具模拟网络环境,集线器,网桥,交换机,路由器,IP,同一网段
  • Aria2 任意文件写入漏洞
  • 成为git砖家(4): git status 命令简介
  • 2-48 基于matlab的EM算法聚类可视化程序
  • k8s 使用技巧
  • 学习笔记-系统框图传递函数公式推导
  • C++ - 基于多设计模式下的同步异步⽇志系统
  • git 相关内容
  • ElasticSearch(es)倒排索引
  • 【自然语言处理】概论(一):自然语言处理概要
  • flask 开始
  • 仕考网:公务员可以报考军队文职吗?
  • Java整理22
  • leetcode 408周赛 3234. 统计 1 显著的字符串的数量
  • 容器对比虚拟机有哪些不足?
  • C# 归并排序
  • 【请求代理】springboot单机服务基于过滤器Filter实现第三方服务器接口请求代理功能
  • .NET Core异步编程与多线程解析:提升性能与响应能力的关键技术
  • Photoshop(PS) 抠图简单教程