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

分糖果--思维+while判断

1.从左到右只考虑右边一遍,再从右到左考虑左边一遍,相当于左右考虑了

2.然后关键是1遍不一定行,while循环直到成功

https://www.luogu.com.cn/problem/B4091

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<ll,int> pii;
int n,m,k;
ll a[N];
ll b[N];
ll an;
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i=0;i<n;i++) cin>>a[i],b[i]=1;while(1){int f=1;for(int i=0;i<n;i++){if(a[(i-1+n)%n]<a[i]&&b[(i-1+n)%n]>=b[i]){b[i]=b[(i-1+n)%n]+1;f=0;}}for(int i=n-1;i>=0;i--){if(a[(i+1)%n]<a[i]&&b[(i+1)%n]>=b[i]){b[i]=max(b[(i+1)%n]+1,b[i]);f=0;}}if(f) break;}for(int i=0;i<n;i++) an+=b[i];cout<<an;return 0;
}

相关文章:

  • CSS- 4.2 相对定位(position: relative)
  • 前端基础之CSS
  • 【001】RenPy打包安卓apk 流程源码级别分析
  • (面试)TCP、UDP协议
  • 手写tomcat:基本功能实现(4)
  • 轻量、优雅、高扩展的事件驱动框架——Hibiscus-Signal
  • Git 版本控制系统入门指南
  • 我的世界模组开发——特征(2)
  • 使用 Vue Tour 封装一个统一的页面引导组件
  • Typescript学习教程,从入门到精通,TypeScript 函数语法知识点及案例代码(5)
  • 六、绘制图片
  • Golang 范型
  • C# WPF .NET Core和.NET5之后引用System.Windows.Forms的解决方案
  • 数据库——SQL约束窗口函数介绍
  • 量化用到的机器学习书籍推荐
  • 广和通L610模块通过AT指令访问服务器方案:嵌赛使用
  • QT6 源(105)篇二:阅读与注释 QAction,给出源代码
  • RJ连接器的未来:它还会是网络连接的主流标准吗?
  • Java-Objects类高效应用的全面指南
  • Vue百日学习计划Day19-20天详细计划-Gemini版
  • 女排奥运冠军宋妮娜:青少年保持身心健康才能走得更远
  • 国寿资产获批参与第三批保险资金长期投资改革试点
  • 俄乌官员即将在土耳其会谈,外交部:支持俄乌开启直接对话
  • 习近平在第三十五个全国助残日到来之际作出重要指示
  • 清雪车司机未拉手刹下车导致溜车被撞亡,事故调查报告发布
  • 艺术稀缺性和价值坚守如何构筑品牌差异化壁垒?从“心邸”看CINDY CHAO的破局之道