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

网上写作最好的网站网站设计外包协议

网上写作最好的网站,网站设计外包协议,展板设计用什么软件,网站快速设计CF848C Goodbye Souvenir 题目描述 Solution 考虑拆贡献#xff0c;把最后一次的下标减去第一次的下标的和拆成每一个点与和它数字相同的上一个点的差的和#xff0c;也就是∑i−pre[i]\sum i-pre[i]∑i−pre[i]。 这样转化之后#xff0c;每一次询问一个区间[l,r][l,r]…CF848C Goodbye Souvenir 题目描述 Solution 考虑拆贡献把最后一次的下标减去第一次的下标的和拆成每一个点与和它数字相同的上一个点的差的和也就是∑i−pre[i]\sum i-pre[i]∑i−pre[i]。 这样转化之后每一次询问一个区间[l,r][l,r][l,r]相当于找到所有满足条件的iii使得l≤i≤rl\leq i \leq rl≤i≤r且pre[i]≥lpre[i]\geq lpre[i]≥l即Ans∑l≤i≤r,l≤pre[i]i−pre[i]Ans\sum_{l\leq i \leq r,l\leq pre[i]}i-pre[i]Ans∑l≤i≤r,l≤pre[i]​i−pre[i]这样单个询问就是一个简单的二维数点问题了事实上只需要满足i≤r,l≤pre[i]i \leq r,l\leq pre[i]i≤r,l≤pre[i]即可因为pre[i]pre[i]pre[i]始终小于iii。 再思考如何修改直接CDQCDQCDQ分治即可相当于加上一个时间轴类似一个三维数点。 时间复杂度O(nlg2n)O(nlg^2n)O(nlg2n)。 Code 代码不知道对不对因为luoguluoguluogu交完过了777个点之后UKEUKEUKE了 #include vector #include list #include map #include set #include deque #include queue #include stack #include bitset #include algorithm #include functional #include numeric #include utility #include sstream #include iostream #include iomanip #include cstdio #include cmath #include cstdlib #include cctype #include string #include cstring #include ctime #include cassert #include string.h //#include unordered_set //#include unordered_map //#include bits/stdc.h#define MP(A,B) make_pair(A,B) #define PB(A) push_back(A) #define SIZE(A) ((int)A.size()) #define LEN(A) ((int)A.length()) #define FOR(i,a,b) for(int i(a);i(b);i) #define fi first #define se secondusing namespace std;templatetypename Tinline bool upmin(T x,T y) { return yx?xy,1:0; } templatetypename Tinline bool upmax(T x,T y) { return xy?xy,1:0; }typedef long long ll; typedef unsigned long long ull; typedef long double lod; typedef pairint,int PR; typedef vectorint VI;const lod eps1e-11; const lod piacos(-1); const int oo130; const ll loo1ll62; const int mods998244353; const int MAXN600005; const int INF0x3f3f3f3f;//1061109567 /*--------------------------------------------------------------------*/ inline int read() {int f1,x0; char cgetchar();while (c0||c9) { if (c-) f-1; cgetchar(); }while (c0c9) { x(x3)(x1)(c^48); cgetchar(); }return x*f; } ll Ans[MAXN]; setint S[MAXN]; int pre[MAXN],nxt[MAXN],whp[MAXN],whn[MAXN],a[MAXN],n,m,num0,Num0; struct Qnode{ int id,opt,x,y,c; } Q[MAXN]; int compare(Qnode x,Qnode y) {if (x.opt!y.opt) return x.opty.opt;return x.opt?(x.yy.y):(x.xy.x); } int compareid(Qnode x,Qnode y) { return x.idy.id; } void Init() {nread(),mread();for (int i1;in;i) a[i]read();for (int i1;in;i) whp[i]0,whn[i]n1;for (int i1;in;i) pre[i]whp[a[i]],whp[a[i]]i;for (int in;i1;i--) nxt[i]whn[a[i]],whn[a[i]]i;for (int i1;in;i) Q[num](Qnode){num,0,i,pre[i],i-pre[i]},S[a[i]].insert(i);while (m--){int optread(),yread(),zread();if (opt1) {if (pre[y]!0) nxt[pre[y]]nxt[y],Q[num](Qnode){num,0,y,pre[y],pre[y]-y};if (nxt[y]!n1) pre[nxt[y]]pre[y],Q[num](Qnode){num,0,nxt[y],y,y-nxt[y]};if (pre[y]!0nxt[y]!n1) Q[num](Qnode){num,0,nxt[y],pre[y],nxt[y]-pre[y]};S[a[y]].erase(y),a[y]z;setint::iterator itS[z].lower_bound(y);nxt[y](it!S[z].end())?(*it):n1;pre[y](it!S[z].begin())?(*(--it)):0;if (pre[y]!0) nxt[pre[y]]y,Q[num](Qnode){num,0,y,pre[y],y-pre[y]};if (nxt[y]!n1) pre[nxt[y]]y,Q[num](Qnode){num,0,nxt[y],y,nxt[y]-y};if (pre[y]!0nxt[y]!n1) Q[num](Qnode){num,0,nxt[y],pre[y],pre[y]-nxt[y]}; S[z].insert(y);}else Q[num](Qnode){num,1,y,z,Num};} // for (int i1;inum;i) coutQ[i].id Q[i].opt Q[i].x Q[i].y Q[i].cendl; } struct Binary_Index_Tree {ll s[MAXN1];int lowbit(int x) { return x(-x); }void change(int x,int y){ if (!x) return; for (;xn;xlowbit(x)) s[x]y; }ll query(int x) { ll ans0; for (;x;x-lowbit(x)) anss[x]; return ans; } } bit; void Solve(int l,int r) {if (lr) return;int mid(lr)1;Solve(l,mid),Solve(mid1,r);sort(Ql,Qmid1,compare);sort(Qmid1,Qr1,compare);int Ll;for (int imid1;ir;i)if (Q[i].opt){while (Lmid(Q[L].opt||Q[L].xQ[i].y)) { if (!Q[L].opt) bit.change(Q[L].y,Q[L].c); L; }Ans[Q[i].c]bit.query(n)-bit.query(Q[i].x-1);}for (int il;iL;i) if (!Q[i].opt) bit.change(Q[i].y,-Q[i].c); } int main() {Init();Solve(1,num);for (int i1;iNum;i) printf(%lld\n,Ans[i]);return 0; }
http://www.yutouwan.com/news/304602/

相关文章:

  • 企业网站备案条件京东商城网站开发平台
  • 旅游网站模板图片睢县做网站的公司
  • 成都专业网站设计免费咨询公司官网制作需要多少钱一个
  • 做博客网站什么蓝色 适合公司网站主色
  • 怎么制作购物网站免费ppt模板 网站开发
  • 长春网络建站模板房地产网站开发公司
  • 怎样防止别人利用自己的电脑做网站服务器北京交友最好的网站建设
  • 现在主流网站用什么做的专做hip hop音乐的网站
  • php个人网站源码下载弄几个的网站
  • 网站维护案例分析wordpress翻页显示404
  • 惠州网页建站模板网站开发 避免 字段变化 代码
  • wordpress怎么安装插件珠海网站seo
  • wordpress如何加入备案许可证编号番禺seo
  • 网站html静态化解决方案网站优化怎么学
  • 做彩票平台网站吗办公室装修设计招商
  • 如何抄袭网站网站技巧
  • 中冶东北建设最新网站百度网站安全检测
  • 台州公司网站建设wordpress微信图片
  • 手机建设中网站页面设计是什么专业
  • 河南省汝州市建设网站郑州专业的网站建设公司哪家好
  • 做熊猫tv网站的目的禁止wordpress历史版本
  • 郫县做网站网站做301重定向怎么做
  • 做网站被用作非法用途做一个网站以及app多少钱
  • 做网站建设需要会哪些网站认证方式有几种
  • 什么网站可以教做面包旅游公司网站建设
  • wordpress 设置网站目录湖北网络广播电视台
  • 经营网站需要注意什么ps做网站显示内容参考
  • 网站首页导航栏建设网站流程图
  • 杭州网站关键词排名开发公司前期手续流程
  • 怎么搭建php网站站长素材音效