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

网站开发语言汇总郑州百度搜索优化

网站开发语言汇总,郑州百度搜索优化,广点通,做图题目大意#xff1a; 给一棵树#xff0c;每次激活或熄灭一个点#xff0c;每次问这些点都联通起来所需的最小总边权 分析#xff1a; 若根据dfs序给所有点排序#xff0c;为$v1,v2,v3....vk$#xff0c;那么答案就是$(dis(v1,v2)dis(v2,v3)...dis(vk-1,vk)dis(vk,v1))/2…题目大意 给一棵树每次激活或熄灭一个点每次问这些点都联通起来所需的最小总边权 分析 若根据dfs序给所有点排序为$v1,v2,v3....vk$那么答案就是$(dis(v1,v2)dis(v2,v3)...dis(vk-1,vk)dis(vk,v1))/2$ 只需要动态的维护这个序列每次拿出前后两个点后用lca修改答案即可 这道题主要是想学习一下set在这方面的使用 毕竟现在开O2的题比比皆是要是能少写个平衡树岂不美哉我也不会写233 我们就默认使用的是c11的标准吧 如何为set重载运算符 首先你要有一个结构体并在里面重载一个bool类型的函数先这样这里以将数字按d数组的大小排序为例 struct cmp{bool operator () (const int a,const int b){return d[a]d[b];}}; 接下来这样声明set setint,cmpS; 如何查找一个元素的前驱后继等 我们这里声明迭代器时使用c11特有的auto用法看起来方便不少setint::iterator) 这里以查找x的前驱后继为例循环式的即若x为最后一个数后继就是第一个数反过来同理 auto itS.lower_bound(x),ait,bit; int l(itS.begin()?*--S.end():*--a); int r(it--S.end()?*S.begin():*b); 注意这里end()函数返回的是个超尾所以要-- 这里我们看到迭代器的移动用加减即可取值时用*即可 插入删除 insert和erase千万别记错了 S.insert(x); S.erase(x); 接下来放上这道题的代码 1 #includebits/stdc.h2 #define N 1000053 #define ll long long4 using namespace std;5 int n,q;6 int h[N],to[2*N],nxt[2*N],w[2*N],etop;7 void add(int a,int b,int c){to[etop]b,nxt[etop]h[a],w[etop]c,h[a]etop;}8 int fa[N][20],d[N],tot,dep[N];9 ll len[N][20]; 10 void dfs(int u){ 11 d[u]tot; 12 for(int i1;i17;i){ 13 fa[u][i]fa[fa[u][i-1]][i-1]; 14 len[u][i]len[u][i-1]len[fa[u][i-1]][i-1]; 15 if(fa[u][i]0)break; 16 } 17 for(int kh[u],vto[k];k;knxt[k],vto[k]) 18 if(v!fa[u][0]){ 19 fa[v][0]u;len[v][0]w[k]; 20 dep[v]dep[u]1; 21 dfs(v); 22 } 23 } 24 ll LCA(int x,int y){ 25 ll ans0; 26 if(dep[x]dep[y])swap(x,y); 27 for(int i17;i0;i--) 28 if(fa[x][i]dep[fa[x][i]]dep[y]){ 29 anslen[x][i]; 30 xfa[x][i]; 31 } 32 if(xy)return ans; 33 for(int i17;i0;i--) 34 if(fa[x][i]!fa[y][i]){ 35 anslen[x][i]; 36 anslen[y][i]; 37 xfa[x][i]; 38 yfa[y][i]; 39 } 40 anslen[x][0]; 41 anslen[y][0]; 42 return ans; 43 } 44 struct cmp{bool operator () (const int a,const int b){return d[a]d[b];}}; 45 setint,cmpS; 46 ll ans; 47 void ins(int x){ 48 S.insert(x); 49 auto itS.lower_bound(x),ait,bit; 50 int l(itS.begin()?*--S.end():*--a); 51 int r(it--S.end()?*S.begin():*b); 52 ans-LCA(l,r); 53 ansLCA(l,x); 54 ansLCA(x,r); 55 } 56 void del(int x){ 57 auto itS.lower_bound(x),ait,bit; 58 int l(itS.begin()?*--S.end():*--a); 59 int r(it--S.end()?*S.begin():*b); 60 ansLCA(l,r); 61 ans-LCA(l,x); 62 ans-LCA(x,r); 63 S.erase(x); 64 } 65 char o[2]; 66 int main(){ 67 scanf(%d,n); 68 for(int i1,a,b,c;in;i){ 69 scanf(%d%d%d,a,b,c); 70 add(a,b,c),add(b,a,c); 71 } 72 dfs(1); 73 scanf(%d,q); 74 while(q--){ 75 scanf(%s,o); 76 if(o[0]?)coutans/2endl; 77 else{ 78 int x;scanf(%d,x); 79 if(o[0])ins(x); 80 else del(x); 81 } 82 } 83 return 0; 84 } View Code   2019.6.18 update 今天在写一个扫描线题时使用上面的方法重置set的比较符出现了问题使用lower_bound会在大数据下WA掉但upper_bound则没问题 如果使用常规的重载运算符的话则两种方式都没问题……蒙圈ing 这里给个当时的两种比较函数吧 这是出了问题的 struct cmp{bool operator () (const hu A,const hu B){double asA.ysqrt(A.r*A.r-(A.x-X)*(A.x-X))*(1.0*A.u);double bsB.ysqrt(B.r*B.r-(B.x-X)*(B.x-X))*(1.0*B.u);if(asepsbsbsepsas)return A.uB.u;else return asbs;} }; 这个是改成重载运算符的 bool operator (const hu A,const hu B){double asA.ysqrt(A.r*A.r-(A.x-X)*(A.x-X))*(1.0*A.u);double bsB.ysqrt(B.r*B.r-(B.x-X)*(B.x-X))*(1.0*B.u);if(asepsbsbsepsas)return A.uB.u;else return asbs; } 如果哪位大神路过希望能指点一下555´дゞ   还有NOI没有C11 所以跟我一起拼一遍 iterator 再来3遍 iterator iterator iterator ojbk!  转载于:https://www.cnblogs.com/2017SSY/p/10948482.html
http://wiki.neutronadmin.com/news/342526/

相关文章:

  • 建设一个简单的网站wordpress登录qq微信登录
  • 网站同城在线哪里做如何申请营业执照
  • 做网站需要哪些方面的支出wordpress 注册钩子
  • 一级a视网站 做爰片做采购 通常在什么网站看
  • 国家建设免费论文网站房地产新闻最新政策2022
  • 嘉兴网站开发中国建筑工程信息官网
  • 企业网站建设维护合同书wordpress怎么关注站点
  • 杭州宣传片制作公司广安网站seo
  • 做电商网站的感想wordpress 猜你喜欢
  • 许昌网站建设汉狮怎么样商品网站源码
  • 游戏网站建设成功案例wordpress 登录后页面空白
  • 郑州网站建设推荐美软科技关键词资源
  • 免费备案网站空间北京谁会做网站开发
  • 如何进行网站的宣传和推广深圳广告策划公司
  • 免费建设小学校网站怎样自己制作网站
  • 深圳网站建设公司团队网站综合营销方案设计
  • 郑州网站优化公司排名jsp网站开发目的及意义
  • 微网站建设哪里便宜服装网站建设平台
  • 大庆市建设局网站工程建设标准化
  • 网站建设公司十年乐云seo网站内部seo优化包括
  • 微信建微网站seo网站诊断
  • wordpress多站点好用吗彩票网站怎么做
  • 全球首个完全响应式网站自助建设平台在中国诞生网站制作课程介绍
  • 网站开发量鄞州区网站建设报价
  • 制作网页的常用软件网站的seo如何优化
  • 家用电脑可以做网站吗知名设计公司有哪些
  • 企业网站内容模块外贸人员招聘信息
  • 徐州网站建设xlec百度收录提交网址
  • 配资网站开发是什么意思企业电话卡
  • 学做网站能找到工作么js动效网站