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

常用的网站建设技术有什么软件网站建设广州网站建设

常用的网站建设技术有什么软件,网站建设广州网站建设,北京医院网站建设,塘沽网站制作对CDQ深一步的理解 昨天做了一道CDQ,看了一堆CDQ可做的题,今天又做了一道四维偏序 感觉对CDQ的理解又深了一点,故来写一写现在自己对于CDQ的理解 CDQ其实就是实现了这样的一个问题的转化:\(a_{l} a_{l1} ... a_r (a_l,a_{l1},...,a_{mid}) \text{都小于} (…对CDQ深一步的理解 昨天做了一道CDQ,看了一堆CDQ可做的题,今天又做了一道四维偏序 感觉对CDQ的理解又深了一点,故来写一写现在自己对于CDQ的理解 CDQ其实就是实现了这样的一个问题的转化:\(a_{l} a_{l1} ... a_r (a_l,a_{l1},...,a_{mid}) \text{都小于} (a_{mid1},a{mid2},...,a_r)\) 然后我们就知道这时候左边所有的点都一定小于右边的点 在四维偏序的算法中,那就是左边的点可以对右边的点做出贡献(仅在当前维度下) 这样就强行消除了一个维度的限制. 四维偏序 COGS 2479 题目大意 给定一个有\(n\)个元素的序列元素编号为\(1~n\)每个元素有三个属性\(a,b,c\),求序列中满足\(ij\)且\(a_ia_j\)且\(b_ib_j\)且\(c_ic_j\)的数对\((i,j)\)的个数。 题解 我们把下标也看作一个维度,那么这就是个四维偏序 我们在下标的维度上CDQ 然后记录每个元素在第一次CDQ中是较小的还是较大的. 因为只有较小的元素才能对较大的元素做出贡献 只有较大的元素才能接受较小的元素的影响. 所以我们处理出来后这就变成了一个三维偏序 所以我们在对这个序列(CDQ扫描线树状数组)求三维偏序即可 Code #include cstdio #include cstring #include algorithm using namespace std; typedef long long ll; inline void read(int x){x0;char ch;bool flag false;while(chgetchar(),ch!);if(ch -) chgetchar(),flag true;while(x10*xch-0,chgetchar(),ch!);if(flag) x-x; } const int maxn 50010; struct Node{int a,b,c;bool is_sm;Node(){abcis_sm 0;} }a[maxn],tmp1[maxn],tmp2[maxn]; int c[maxn],n,init_tmp[maxn],ans0; #define lowbit(x) (x-x) inline void modify(int x,int y){for(;xn;xlowbit(x)) c[x] y; } inline int query(int x){int ret 0;for(;x;x-lowbit(x)) ret c[x];return ret; } void solve2(int l,int r){if(l r) return ;int mid lr 1;solve2(l,mid);solve2(mid1,r);int i l,j mid1,k l;Node *a tmp1,*tmp tmp2;init_tmp[0] 0;while(i mid || j r){if((j r) || (i mid a[i].b a[j].b)){if( a[i].is_sm){modify(a[i].c,1);init_tmp[init_tmp[0]] i;}tmp[k] a[i];}else{if(!a[j].is_sm){ans query(a[j].c);}tmp[k] a[j];}}for(int i 1;iinit_tmp[0];i) modify(a[init_tmp[i]].c,-1);copy(tmpl,tmpr1,al); } void solve1(int l,int r){if(l r) return ;int mid lr 1;solve1(l,mid);solve1(mid1,r);int i l,j mid1,k l;Node *tmp tmp1;while(i mid || j r){if((j r) || (i mid a[i].a a[j].a)){(tmp[k] a[i]).is_sm true;}else (tmp[k] a[j]).is_sm false;}copy(tmpl,tmpr1,al);solve2(l,r); } int main(){ // freopen(partial_order.in,r,stdin); // freopen(partial_order.out,w,stdout);read(n);for(int i1;in;i) read(a[i].a);for(int i1;in;i) read(a[i].b);for(int i1;in;i) read(a[i].c);solve1(1,n);printf(%d\n,ans);getchar();getchar();return 0; } 转载于:https://www.cnblogs.com/Skyminer/p/6405323.html
http://www.zqtcl.cn/news/132433/

相关文章:

  • 做ppt的图片素材网站北京网站制作南昌
  • 全网视频合集网站建设宏基陆通工程建设有限公司网站
  • 极捷号网站建设wordpress搬家500错误
  • 网站加友情链接app开发培训课程
  • 济南网站排名优化报价平台推广话术
  • 自己做的创意的网站短链接生成站长工具
  • 爱站网是怎么回事网站语音转写怎么做
  • 一级a做爰片免播放器网站扬中门户网
  • 舆情网站大全模板网站有哪些在哪里下载
  • 新网站关键词怎么优化深圳公司网站推广
  • 新加坡购物网站排名英文版wordpress安装
  • 哪个网站做ppt能赚钱企查查企业信息
  • 学校建设网站的意义wordpress 鸟
  • 一个ip做网站网站建设基础课件
  • 包装设计十大网站连云港网站建设开发
  • 川沙网站建设网站推广服务外包有哪些渠道
  • 哪些网站可以做招商广告手机怎么创网站免费
  • 换物网站为什么做不起来网站开发工具的功能包括
  • 引导式网站君和网站建设
  • 西柏坡门户网站建设规划书自己做照片书的网站
  • 做网站横幅的图片多大公司做自己的网站平台台
  • 百度网站建设工资给城市建设提议献策的网站
  • 如何进入网站管理页面维护网站需要多少钱
  • 深圳住房和城乡建设局网站阿里云学生免费服务器
  • 如何做的网站手机可以用吗绵阳优化网站排名
  • 营销网站建设大全wordpress wp_register
  • 公司做年审在哪个网站网络seo专员招聘
  • 宿州网站建设费用网站快速建设入门教程
  • 怎么自己做网站加盟网站建设意义模板
  • 网站开发怎样实现上传视频教程内容导购网站模板