博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeForces 747D Winter Is Coming
阅读量:6892 次
发布时间:2019-06-27

本文共 1034 字,大约阅读时间需要 3 分钟。

贪心。

只考虑负数的位置,先填间隔较小的,再填间隔较大的。如果填不满就不填,如果有多余就留给最后一个负数到终点这段路。

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;int n,k,a[200010],sz;struct X{ int L,R,len;} s[200010];vector
v;int f[200010];bool cmp(X a, X b){ return a.len
k) printf("-1\n"); else { if(sum==0) printf("0\n"); else { for(int i=1; i<=n; i++) if(a[i]<0) v.push_back(i); for(int i=0; i
=s[i].len) { for(int j=s[i].L;j<=s[i].R;j++) f[j]=1; sum=sum-s[i].len; } } if(sum>=n+1-v[v.size()-1]-1) { for(int i=v[v.size()-1];i<=n;i++) f[i]=1; } // for(int i=1;i<=n;i++) printf("%d ",f[i]); int ans=0; int f1=1,f2=n; for(int i=1;i<=n;i++) { if(f[i]==0) continue; else {f1=i;break;} } for(int i=n;i>=1;i--) { if(f[i]==0) continue; else {f2=i;break;} } ans=ans+1; if(f2!=n) ans=ans+1; for(int i=f1+1;i<=f2;i++) { if(f[i]!=f[i-1]) ans++; } printf("%d\n",ans); } } return 0;}

 

转载于:https://www.cnblogs.com/zufezzt/p/6235620.html

你可能感兴趣的文章
Opentracing Zipkin
查看>>
构建高可用服务器之四 Keepalive冗余Nginx
查看>>
android音频采集
查看>>
SHELL控制流结构笔记
查看>>
路由重分布新技术实现多种路由协议不同网络间通信案例实操应用
查看>>
打印机无法打印测试页
查看>>
【图文详解】Iptables
查看>>
Zabbix-web的中文显示及其乱码问题解决方法
查看>>
Gluster管理命令的总结与归纳
查看>>
FreeNAS如何配置LACP(链路聚合和故障)
查看>>
AJAX 学习笔记[三] get 与post 模式的区别
查看>>
MES技术
查看>>
GO语言练习:网络编程 ICMP 示例
查看>>
ios11--UIButton
查看>>
阿里云海外征战记:跻身全球前三,只用了两年半
查看>>
解密回声消除技术之二(应用篇)
查看>>
Go语言的web程序写法
查看>>
IDF2011:基于SaaS模式的"教学云"案例
查看>>
《Linux From Scratch》第三部分:构建LFS系统 第七章:基本系统配置- 7.5. 配置系统时间...
查看>>
云计算你必须思考的8大问题
查看>>