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

CF1148E Earth Wind and Fire - crazy-

构造,模拟,类别括号序列

题意

给定一些石头与一些目标位置,要求通过不超过 \(5n\) 次操作将所有石头移动到目标位置(目标位置不按顺序给出),定义操作如下:

  • 选定两个石头,二者向二者中点的方向移动相同的距离。

给出构造,不要求最优。

\(1 \leq n \leq 3 \times 10^5\)

思路

显然可以将目标位置排序后与石头一一对应。

像维护括号序列一样,用栈维护目标位置与实际位置之差为负的位置,每遇到一个差是正数的就尝试用栈中的负数抵消(相当于一次操作)。

写题解时候感觉用队列也可以。

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int Maxn=3e5+10;
struct numb{int x,id;};
struct Ans{int i,j,d;};
numb t[Maxn];
int s[Maxn];
int n;
vector<Ans>ans;
bool cmp(numb x,numb y) {return x.x<y.x;}
signed main()
{cin>>n;for(int i=1;i<=n;i++) cin>>t[i].x,t[i].id=i;for(int i=1;i<=n;i++) cin>>s[i];sort(t+1,t+n+1,cmp);sort(s+1,s+n+1);stack<int>st;for(int i=1;i<=n;i++){t[i].x=s[i]-t[i].x;if(t[i].x>0) st.push(i);else if(t[i].x<0){while(t[i].x && st.size()){int tmp=min(-t[i].x,t[st.top()].x);ans.push_back((Ans){t[st.top()].id,t[i].id,tmp});t[i].x+=tmp; t[st.top()].x-=tmp;if(t[st.top()].x==0) st.pop();}if(t[i].x) return (cout<<"NO"<<endl,0);}}if(st.size()) return (cout<<"NO"<<endl,0);cout<<"YES"<<endl<<ans.size()<<endl;for(auto t:ans) cout<<t.i<<" "<<t.j<<" "<<t.d<<endl;return 0;
}
http://www.jsqmd.com/news/304647/

相关文章:

  • IBM超导量子计算机首次验证“薛定谔的朋友“悖论
  • 【AI观财经】 2026年01月26日 今日A股行情分析
  • 求职AI开发岗?基础薄弱不用慌,权威认证+系统提升助你快速入门
  • 大连理工大学团队革命性突破让视觉模型拥有真正的“3D视觉“能力
  • Ella陈嘉桦「艾拉主意」巡演上海站两晚连唱,乘风2023的姐姐们组团打call
  • 复旦大学首次推出音视频未来预测基准测试
  • 测试CNBLOG同步
  • 德国癌症研究中心突破:AI实现3D医学图像精准自动标注
  • 让AI导师带你从想法变成论文:Lossfunk让研究变得不再孤单
  • Fantasy AIGC团队让AI导航更聪明,无需实时推理也能走得更远
  • CWI阿姆斯特丹研究院发现:差分隐私训练存在隐私与准确性根本矛盾
  • 荷兰阿姆斯特丹大学等机构揭示版权保护新危机
  • 人民大学与百度联手:让AI搜索助手变得更聪明的秘密武器
  • 【计算机毕业设计案例】基于SpringBoot+Vue的航空机票预定管理系统的设计与实现基于springboot的机票预订系统(程序+文档+讲解+定制)
  • 【计算机毕业设计案例】基于springboot的闲置二手滑板交易系统(程序+文档+讲解+定制)
  • 【计算机毕业设计案例】基于springboot的公园游玩综合服务系统设计与实现小程序(程序+文档+讲解+定制)
  • 抖音快手小红书增粉实战指南:12个高效方法+互粉平台深度解析
  • HBase在电商领域的应用:海量用户行为数据存储方案
  • 完整教程:分布式版本控制系统Gitlab
  • 2026年 全案设计/整体家居全案设计/家居全案设计/家具全案设计/实木家具全案设计/一站式全案设计服务商推荐榜单:打造理想生活空间的匠心之选
  • 2026年携程任我行礼品卡回收注意事项
  • 不用记命令!Docker Compose UI+cpolar,公网也能轻松管容器
  • 【毕业设计】基于springboot的二手滑板交易系统(源码+文档+远程调试,全bao定制等)
  • 如何选择适合你的AutoCAD版本?AutoCAD最建议用的5个版本
  • 【课程设计/毕业设计】基于springboot+Vue的飞机票预订管理系统基于springboot的机票预订系统【附源码、数据库、万字文档】
  • 【AI应用开发工程师】-RAG知识切片(chunk)策略解读
  • DHCP练习1
  • Java毕设项目推荐-基于springboot的公园游玩导航购物综合服务系统设计与实现小程序【附源码+文档,调试定制服务】
  • certbot续签
  • Java毕设项目推荐-基于SpringBoot的航空公司售票系统飞机票购票系统基于springboot的机票预订系统【附源码+文档,调试定制服务】