博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LOJ#6047. 「雅礼集训 2017 Day10」决斗(set)
阅读量:6544 次
发布时间:2019-06-24

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

题面

题解

这么简单一道题我考试的时候居然只打了\(40\)分暴力?

如果我们把每个点的\(a_i\)记为\(deg_i-1\),其中\(deg_i\)表示有\(deg_i\)个数的\(A_i\)\(i\),那么很明显所有数的\(a_i\)之和为\(0\)

于是,必然存在一个点\(k\),满足从\((k,k+1)\)把环断掉之后,且以\(k+1\)为开头,整个数列的前缀和不小于\(0\),也就是说精灵永远不会跨过\(k\)去找别的侏儒打架

这个\(k\)的话,只要找到前缀和最小值的地方就可以了

然后之后直接大力模拟就可以了

//minamoto#include
#define R register#define IT set
::iterator#define inline __inline__ __attribute__((always_inline))#define fp(i,a,b) for(R int i=(a),I=(b)+1;i
I;--i)#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)template
inline bool cmin(T&a,const T&b){return a>b?a=b,1:0;}using namespace std;char buf[1<<21],*p1=buf,*p2=buf;inline char getc(){return p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++;}int read(){ R int res,f=1;R char ch; while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1); for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0'); return res*f;}const int N=5e5+5;struct eg{int v,nx;}e[N];int head[N],tot;inline void add(R int u,R int v){e[++tot]={v,head[u]},head[u]=tot;}int a[N],b[N],c[N],d[N],n,res,sum,mn,k;set
s;IT it;int main(){// freopen("testdata.in","r",stdin); n=read(),mn=0x3f3f3f3f; fp(i,1,n)a[i]=read(),++d[a[i]],add(a[i],i); fp(i,1,n)b[i]=read();fp(i,1,n)c[i]=read(); fp(i,1,n)if(cmin(mn,(sum+=d[i])-i))k=i; fp(i,1,n){ if(++k>n)k=1; go(k)s.insert(c[v]); if(b[k]>*--s.end())s.erase(s.begin()); else it=s.lower_bound(b[k]),s.erase(it),++res; } printf("%d\n",res); return 0;}

转载于:https://www.cnblogs.com/bztMinamoto/p/10712245.html

你可能感兴趣的文章
《http权威指南》阅读笔记(十)
查看>>
JQuery UI Widget Factory官方Demo
查看>>
Atlas揭秘 —— 绑定(Binding)
查看>>
install xcode_3.2.5_and_iOS_sdk_4.2 _final with mac lion10.7.3
查看>>
JavaScript权威指南(第6版)
查看>>
sql 自定義百分比轉換小數函數
查看>>
一起谈.NET技术,C# 委托,事件和Lambda表达式
查看>>
远离云计算风险三步走
查看>>
Silverlight 游戏开发小技巧:技能冷却效果2(Cool“.NET研究”down)2
查看>>
Mysql的优化一则
查看>>
An Introduction to Asynchronous Programming and Twisted (2)
查看>>
vue 组件编码规范
查看>>
IEC61850与MMS的服务映射
查看>>
Java 泛型: 什么是PECS(Producer Extends, Consumer Super)
查看>>
软件包管理-打包解包压缩解压
查看>>
maven构建scala项目
查看>>
linux 高级编程看的书
查看>>
Memcached分布式缓存-windows上初步使用-网摘
查看>>
IIS无法启动的问题
查看>>
如何通过结构中的某个变量获取结构本身的指针?(container_of详解)
查看>>