P4544 [USACO10NOV] Buying Feed G
1.[ABC363G] Dynamic Scheduling 与 P4511 [CTSC2015] 日程管理2.P9058 [Ynoi2004] rpmtdq 与 P9678 [ICPC2022 Jinan R] Tree Distance3.P1081 [NOIP2012 提高组] 开车旅行4.P1973 [NOI2011] NOI 嘉年华5.P1398 [NOI2013] 书法家6.P3957 [NOIP2017 普及组] 跳房子7.P5017 [NOIP2018 普及组] 摆渡车8.P5665 [CSP-S2019] 划分
9.P4544 [USACO10NOV] Buying Feed G
10.P3089 [USACO13NOV] Pogo-Cow S11.P3572 [POI2014] PTA-Little Bird12.P6764 [APIO2020] 粉刷墙壁13.P2831 [NOIP2016 提高组] 愤怒的小鸟14.P3959 [NOIP2017 提高组] 宝藏15.P2150 [NOI2015] 寿司晚宴16.P8037 [COCI2015-2016#7] Prokletnik17.CF1943C Tree Compass18.P1084 [NOIP2012 提高组] 疫情控制19.P6805 [CEOI2020] 春季大扫除20.P4689 [Ynoi2016] 这是我自己的发明 与 P5268 [SNOI2017] 一个简单的询问021.CF1264D1/2 Beautiful Bracket Sequence (easy/hard version)22.CF924D Contact ATC23.P9640 [SNCPC2019] Digit Mode24.P2757 [国家集训队] 等差子序列 与 CF452F Permutation25.P4423 [BJWC2011] 最小三角形 与 SP7209 CLOSEST - Closest Triplet26.P2825 [HEOI2016/TJOI2016] 游戏 与 P10945 Place the Robots27.P8304 [CoE R4 D] 01 串28.P3320 [SDOI2015] 寻宝游戏 与 P10930 异象石 与 CF176E Archaeology29.P9108 [PA2020] Malowanie płotu30.CF773D Perishable Roads思路:
考虑动态规划算法。
定义
可以将和
注意到对于区间
时间复杂度为
完整代码:
#include<bits/stdc++.h> #define Add(x,y) (x+y>=mod)?(x+y-mod):(x+y) #define lowbit(x) x&(-x) #define pi pair<ll,ll> #define pii pair<ll,pair<ll,ll>> #define iip pair<pair<ll,ll>,ll> #define ppii pair<pair<ll,ll>,pair<ll,ll>> #define fi first #define se second #define full(l,r,x) for(auto it=l;it!=r;it++) (*it)=x #define Full(a) memset(a,0,sizeof(a)) #define open(s1,s2) freopen(s1,"r",stdin),freopen(s2,"w",stdout); using namespace std; typedef double db; typedef unsigned long long ull; typedef long long ll; bool Begin; const ll N=505,M=10010,INF=1e18; inline ll read(){ ll x=0,f=1; char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9'){ x=(x<<1)+(x<<3)+(c^48); c=getchar(); } return x*f; } inline void write(ll x){ if(x<0){ putchar('-'); x=-x; } if(x>9) write(x/10); putchar(x%10+'0'); } struct Node{ ll x,y,z; bool operator<(const Node&rhs)const{ if(x!=rhs.x) return x<rhs.x; return z<rhs.z; } }G[N]; ll n,x,m,l,r,head=0,tail=1; ll a[N],b[N],c[N],Q[M]; ll dp[N][M]; bool End; int main(){ // open("A.in","A.out"); memset(dp,0x3f,sizeof(dp)); m=read(),x=read(),n=read(); for(int x,y,z,i=1;i<=n;i++){ x=read(),y=read(),z=read(); G[i]={x,y,z}; } sort(G+1,G+n+1); for(int i=1;i<=n;i++){ a[i]=G[i].x; b[i]=G[i].y; c[i]=G[i].z; } a[n+1]=x; dp[1][0]=0; for(int i=2;i<=n+1;i++){ head=1,tail=0; for(int j=0;j<=m;j++){ while(dp[i-1][j]-j*c[i-1]<=dp[i-1][Q[tail]]-Q[tail]*c[i-1]&&head<=tail) tail--; while(Q[head]<j-b[i-1]&&head<=tail) head++; Q[++tail]=j; dp[i][j]=dp[i-1][Q[head]]+(a[i]-a[i-1])*j*j+c[i-1]*(j-Q[head]); } } write(dp[n+1][m]); cerr<<'\n'<<abs(&Begin-&End)/1048576<<"MB"; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现