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

【学习笔记】CF704B Ant Man

智商不够啊,咋想到贪心的😅

非常经典的贪心模型🤔

首先,从小到大将每个 i i i插入到排列中,用 D P DP DP记录还有多少个位置可以插入,可以通过钦定新插入的位置左右两边是否继续插入数来提前计算贡献。注意分 i i i s , t s,t s,t的大小关系讨论。这个做法的时间复杂度是 O ( n 2 ) O(n^2) O(n2),并且转移的情况比较多,估计要调半天。

但是注意到,我们可以 直接贪心 。发现本质上就是每次加入两个固定的数,然后将原来的一个数替换掉,并且一个数只能被替换一次。因此每次贪心的选最优的位置插入即可。

代码可以在 5 min ⁡ 5\min 5min内完成。

另一道直接贪心的题:CF573E Bear and Bowling

#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define inf 0x3f3f3f3f3f3f3f3f
using namespace std;
const int N=5005;
int n,s,t,to[N];
ll a[N],b[N],c[N],d[N],X[N],res;
ll calc(int i,int j){if(i>j)return X[i]-X[j]+c[i]+b[j];return X[j]-X[i]+d[i]+a[j];
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>s>>t;for(int i=1;i<=n;i++)cin>>X[i];for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)cin>>b[i];for(int i=1;i<=n;i++)cin>>c[i];for(int i=1;i<=n;i++)cin>>d[i];to[s]=t;for(int i=1;i<=n;i++){if(i==s||i==t)continue;pair<ll,int>tmp={inf,0};for(int j=s;j!=t;j=to[j]){tmp=min(tmp,{calc(j,i)+calc(i,to[j])-calc(j,to[j]),j});}to[i]=to[tmp.se],to[tmp.se]=i;}for(int i=s;i!=t;i=to[i])res+=calc(i,to[i]);cout<<res;
}
http://www.lryc.cn/news/184183.html

相关文章:

  • SQLines数据迁移工具
  • pkl文件与打开(使用numpy和pickle)
  • 3d渲染农场全面升级,好用的渲染平台值得了解
  • 1.5 JAVA程序运行的机制
  • 基于FPGA的拔河游戏设计
  • 关联规则挖掘(下):数据分析 | 数据挖掘 | 十大算法之一
  • 8、【Qlib】【主要组件】预测模型:模型训练和预测
  • kettle安装
  • 基于生物地理学优化的BP神经网络(分类应用) - 附代码
  • 第二证券:买基金1w一个月能赚多少?
  • 蓝桥杯每日一题2023.10.7
  • Linux 系统为何产生大量的 core 文件?
  • Web_python_template_injection SSTI printer方法
  • TCP/IP网络江湖——江湖导航(网络层上篇)
  • 数据结构——AVL树(详解 + C++模拟实现)
  • redis 雪崩,穿透,击穿及解决方案
  • Flutter环境搭建及新建项目
  • 【面试题精讲】深拷贝和浅拷贝区别了解吗?什么是引用拷贝?
  • CentOS7.9中使用packstack安装train版本
  • mfw git泄露构造闭合
  • UE5修改导航网格的参数
  • 郁金香2021年游戏辅助技术中级班(七)
  • 【网络】路由器和交换机的区别
  • SQL的CASE WHEN函数、CAST函数、CONVERT() 函数、COALESCE()函数、DATEDIFF()函数
  • 前后端分离计算机毕设项目之基于springboot+vue的房屋租赁系统《内含源码+文档+部署教程》
  • 《Spring框架前世今生》
  • 基于树种优化的BP神经网络(分类应用) - 附代码
  • 纳百川冲刺创业板上市:计划募资约8亿元,宁德时代为主要合作方
  • light client轻节点简介
  • 1500*B. Zero Array(贪心数学找规律)