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

小程序制作平台价格/绍兴seo外包

小程序制作平台价格,绍兴seo外包,重庆在线直播,电商网站是什么题目链接 BZOJ洛谷 每个国家的答案可以二分求前缀和,于是可以想到整体二分。 在每次Solve()中要更新所有国家得到的值,不同位置的空间站对应不同国家比较麻烦。 注意到每次Solve()其国家数是与区间大小相关的,so根据国家处理,区间…

题目链接 BZOJ
洛谷

每个国家的答案可以二分+求前缀和,于是可以想到整体二分。
在每次Solve()中要更新所有国家得到的值,不同位置的空间站对应不同国家比较麻烦。
注意到每次Solve()其国家数是与区间大小相关的,so根据国家处理,区间更新空间站的值,用vector枚举对应空间站得到每个国家的值。(or边表)

//20048kb   11292ms
//1316ms    24.8MB
#include <cstdio>
#include <cctype>
#include <vector>
#include <algorithm>
#define lb(x) (x&-x)
//#define gc() getchar()
#define MAXIN 300000
#define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF:*SS++)
typedef long long LL;
const int N=3e5+5,INF=1e9;int n,m,K,A[N],Ans[N],q[N],q1[N],q2[N];
std::vector<int> v[N];
char IN[MAXIN],*SS=IN,*TT=IN;
inline int read();
struct Operation
{int l,r,v;inline void Input(){l=read(),r=read(),v=read();}
}op[N];inline int read()
{int now=0;register char c=gc();for(;!isdigit(c);c=gc());for(;isdigit(c);now=now*10+c-'0',c=gc());return now;
}
namespace T//区间修改 单点查询 
{int n;LL t[N];inline void Modify(int p,int v){while(p<=n) t[p]+=v, p+=lb(p);}inline void Modify_Range(int l,int r,int v){Modify(l,v), Modify(r+1,-v);if(l>r) Modify(1,v);//Modify(n+1,-v)}inline void Clear(int p){for(; p<=n; p+=lb(p))if(t[p]) t[p]=0; else break;}inline void Clear_Range(int l,int r){Clear(l), Clear(r+1);//不能少啊 if(l>r) Clear(1);}inline LL Query(int p){LL res=0; while(p) res+=t[p], p^=lb(p);return res;}
}
void Solve(int l,int r,int h,int t)
{if(h>t) return;if(l==r){for(int i=h; i<=t; ++i) Ans[q[i]]=l;return;}int mid=l+r>>1, t1=0, t2=0;for(int i=l; i<=mid; ++i) T::Modify_Range(op[i].l,op[i].r,op[i].v);for(int i=h,now=q[i]; i<=t; now=q[++i])//now:may be q[n+1]{LL tmp=0;for(int j=0,lim=v[now].size(); j<lim; ++j)if((tmp+=T::Query(v[now][j]))>=A[now]) break;//tmp可能爆longlong。。不过也是个剪枝。if(tmp>=A[now]) q1[t1++]=now;else A[now]-=tmp, q2[t2++]=now;}for(int i=l; i<=mid; ++i) T::Clear_Range(op[i].l,op[i].r);//T::Modify_Range(op[i].l,op[i].r,-op[i].v);//T::Clear(op[i].l), T::Clear(op[i].r);//T::Clear(std::min(op[i].l,op[i].r));//因为有l>r的情况,所以要清空的位置比较麻烦。。这一行的两种都是错的。(而且应是r+1)for(int i=0; i<t1; ++i) q[h+i]=q1[i];for(int i=0; i<t2; ++i) q[h+t1+i]=q2[i];Solve(l,mid,h,h+t1-1), Solve(mid+1,r,h+t1,t);
}int main()
{n=read(),T::n=m=read();for(int i=1; i<=m; ++i) v[read()].push_back(i);for(int i=1; i<=n; ++i) A[i]=read(), q[i]=i;K=read();for(int i=1; i<=K; ++i) op[i].Input();op[++K]=(Operation){m+1,m+1,0};Solve(1,K,1,n);for(int i=1; i<=n; ++i) Ans[i]==K?puts("NIE"):printf("%d\n",Ans[i]);return 0;
}

转载于:https://www.cnblogs.com/SovietPower/p/9235083.html

http://www.lbrq.cn/news/928675.html

相关文章:

  • 海南定安建设局网站/想学销售去哪培训
  • 网站的下载链接怎么做/在线生成个人网站app
  • 昆明公司做网站的价格/百度竞价推广点击软件奔奔
  • 日本做美食视频网站有哪些/百度收录软件
  • 襄阳seo招聘/阜新网站seo
  • 自己可以做电子商务网站/网络推广100种方法
  • 花店网站模板 html/搜索引擎外部链接优化
  • 建设用地预审系统官方网站/正规seo大概多少钱
  • 网站权重怎么刷/外贸网站免费推广
  • 奢侈品网站 方案/阿里指数在哪里看
  • 知名的咨询行业网站制作/人力资源培训
  • 自己动手制作网站/剪辑培训班一般学费多少
  • 营销类网站模板/衡水seo优化
  • 网址和网站的区别/免费智能seo收录工具
  • 做网站怎么做多少钱/微信朋友圈推广平台
  • 中山地区做网站公司/seo外包公司兴田德润
  • 网站做用户登录/百度一下官网手机版
  • 网站制作商业模式/百度推广代运营公司
  • 棋牌软件开发/seo从0到1怎么做
  • 用凡科做网站需要花钱吗/seo站长助手
  • 上海知名进出口贸易公司/苏州seo按天扣费
  • 在哪个网站做视频赚钱/免费com域名注册网站
  • 微信赌博链接网站建设/今日重大新闻事件
  • 哈尔滨创意网站建设/怎样做好网络推广呀
  • 山东建设企业网站/百度推广开户
  • 网站如何做seo推广方案/自己创建网页
  • 企业公司有哪些/佛山优化推广
  • 网站图片验证码出不来/如何优化网站排名
  • 河北沧州疫情最新消息今天/seo推广费用
  • 好网站不收藏/百度怎么优化网站关键词
  • 江协科技STM32 12-2 BKP备份寄存器RTC实时时钟
  • 超聚变:智能体时代,AI原生重构城企数智化基因
  • 使用 whisper, 音频分割, 整理需求 2
  • 33.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--记账
  • 对git 熟悉时,常用操作
  • 1.5.Vue v-for 和 指令修饰符