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

佛山企业网站优化深度网网站建设方案

佛山企业网站优化,深度网网站建设方案,自己做网站怎么加定位,成功企业网站必备要素problem luogu-P5579 solution 此题关键在于发现一个结论#xff1a;生长速度快的草在任何时刻都不可能矮于生长速度慢的草。 正确性显然。 所以当我们将草按照 aaa 升序排序后#xff0c;每次收割的草一定是一个后缀。 那么这个后缀的起点就可以二分找到。 割完后要对…problem luogu-P5579 solution 此题关键在于发现一个结论生长速度快的草在任何时刻都不可能矮于生长速度慢的草。 正确性显然。 所以当我们将草按照 aaa 升序排序后每次收割的草一定是一个后缀。 那么这个后缀的起点就可以二分找到。 割完后要对后缀所有草的高度全削成一样的且在下一次收割前要让所有草生长高度。 这可以用线段树解决。 找后缀起点就是线段树上二分。维护一段区间中最长的草的高度。 对草进行高度削减。就是对一段区间整体赋值操作。 两次收割间每个草都要生长。维护区间的草高度之和以及天数的标记。 这里的线段树实现要注意一个点就是懒标记的下放如果整体覆盖了那么之前存的天数标记也要清空。 也就是要注意懒标记的先后顺序问题。 我调了好久 时间复杂度 O(nlog⁡n)O(n\log n)O(nlogn)。 code #include bits/stdc.h using namespace std; #define int long long #define maxn 500005 const int inf 1e15; int n, m; int a[maxn];namespace SGT {struct node { int suma, tag, sum, Max, Maxa, tim; }t[maxn 2];#define lson now 1#define rson now 1 | 1#define mid (l r 1)void pushdown( int now, int l, int r ) {if( t[now].tag ^ inf ) {t[lson].Max t[lson].tag t[now].tag;t[lson].sum t[now].tag * (mid - l 1);t[rson].Max t[rson].tag t[now].tag;t[rson].sum t[now].tag * (r - mid);t[lson].tim t[rson].tim 0;t[now].tag inf;}if( t[now].tim ) {t[lson].sum t[lson].suma * t[now].tim;t[rson].sum t[rson].suma * t[now].tim;t[lson].Max t[lson].Maxa * t[now].tim;t[rson].Max t[rson].Maxa * t[now].tim;t[lson].tim t[now].tim;t[rson].tim t[now].tim;t[now].tim 0;}}void add( int d ) {pushdown( 1, 1, n );t[1].sum d * t[1].suma;t[1].Max d * t[1].Maxa;t[1].tim d;}void build( int now, int l, int r ) {t[now].tag inf; if( l r ) { t[now].suma a[l];t[now].Maxa a[l]; return; }build( lson, l, mid );build( rson, mid 1, r );t[now].suma t[lson].suma t[rson].suma;t[now].Maxa t[rson].Maxa;}void modify( int now, int l, int r, int L, int R, int x ) {if( R l or r L ) return;if( L l and r R ) { t[now].sum (r - l 1) * x; t[now].tag x;t[now].Max x;t[now].tim 0;return; }pushdown( now, l, r );modify( lson, l, mid, L, R, x );modify( rson, mid 1, r, L, R, x );t[now].sum t[lson].sum t[rson].sum;t[now].Max t[rson].Max;}int query( int now, int l, int r, int x ) {if( l r ) return l;pushdown( now, l, r );if( x t[lson].Max ) return query( lson, l, mid, x );else return query( rson, mid 1, r, x );}int query( int now, int l, int r, int L, int R ) {if( R l or r L ) return 0;if( L l and r R ) return t[now].sum;pushdown( now, l, r );return query( lson, l, mid, L, R ) query( rson, mid 1, r, L, R );} }signed main() {scanf( %lld %lld, n, m );for( int i 1;i n;i ) scanf( %lld, a[i] );sort( a 1, a n 1 );SGT :: build( 1, 1, n );for( int i 1, lst 0, d, b;i m;i ) {scanf( %lld %lld, d, b );SGT :: add( d - lst ); lst d;if( SGT :: t[1].Max b ) { puts(0); continue; }int p SGT :: query( 1, 1, n, b );printf( %lld\n, SGT :: query( 1, 1, n, p, n ) - (n - p 1) * b );SGT :: modify( 1, 1, n, p, n, b );}return 0; }
http://www.zqtcl.cn/news/473723/

相关文章:

  • 电子商务网站模板 html专业网站建设服务报价
  • 网页设计和网站建设的区别研发一款app要多少钱
  • seo网站建设方案建个企业网站需要多少钱
  • 搭建网站的软件网页动态设计
  • 好的界面建筑网站甘孜网站建设
  • 电子商务网站创建过程网站排名提升软件
  • 青岛企业如何建网站购买网站建站
  • 广东自考网站建设管理网站做ddns解析
  • 网站建设分类如何重启网站服务器
  • 新蒲建设集团网站怎么把源码做网站
  • 嘉兴建设局网站在线制作头像框
  • 苏州行业网站建设服务网页制作需要学什么技术
  • 二 网站建设的重要性东莞seo建站优化收费
  • 农业公司注册流程及费用快排seo排名软件
  • 响应式中文网站欣赏机wordpress
  • 如何建网站并做推广亚马逊网站怎么做推广
  • 做好网站建设总结免费开发app平台下载
  • 哈尔滨建站免费模板app网站开发要多少钱
  • 大连网站设计九首选仟亿科技怎么做百度网站会显示图片在旁边
  • 南京营销网站建设wordpress图片购买下载
  • 装修平台网站制作word模板
  • 网站建设捌金手指花总十软文写作技巧
  • 做网站优化有用吗网站开发包括什么软件
  • 在线音乐网站开发现状有什么网站接效果图做的
  • 网站开发自学难吗上海网站建设百度推广公司哪家好
  • 建设部网站官网四库一平台房地产网站大全
  • 做外贸如何建立网站微信信息流广告投放
  • 上海工程建设招投标网站开发购物网站描述
  • 网站系统维护一般多久电商关键字优化
  • 孝感市建设局网站宁波seo网络推广价格