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

青岛网站设计模板建材在哪些网站做

青岛网站设计模板,建材在哪些网站做,手机net网站开发,wordpress主题如何开发题目 洛谷题目链接 题解 题目的数据范围非常奇怪#xff0c;一半是200∗200200∗200的矩阵#xff0c;另一半是1∗500001∗50000的矩阵#xff0c;显然是一道二合一的题目#xff0c;但是不一样的地方也就在与数据结构的选择不一样#xff0c;而我们解这道题使用的算法…题目 洛谷题目链接 题解 题目的数据范围非常奇怪一半是200∗200200∗200200*200的矩阵另一半是1∗500001∗500001*50000的矩阵显然是一道二合一的题目但是不一样的地方也就在与数据结构的选择不一样而我们解这道题使用的算法是一样的即都是二分法。 这道题所需要的数据结构应该能提供如下的功能在O(1)O(1)O(1)或O(logn)O(logn)O(logn)的时间复杂度内查询矩阵某区间内厚度大于xxx的书本数,以及厚度大于x" role="presentation" style="position: relative;">xxx的书的页数总和。 根据上述数据结构的功能我们可以设计一个二分算法。 即我们二分我们选取的书的最小厚度midmidmid。checkcheckcheck时候就checkcheckcheck一下矩阵内厚度≥mid≥mid≥mid的所有书的厚度之和是否能达到要求。 这样的话二分完之后所有厚度大于lll的书的个数就是我们的答案! 错!因为有可能厚度等于l" role="presentation" style="position: relative;">lll的书被多余使用了因此我们还要去掉一部分厚度为lll的书,使得总厚度仍然满足要求,但是答案变小。算法我们已经涉及完了。 现在我们想一下怎么样设计数据结构: 当矩阵大小为200#x2217;200" role="presentation" style="position: relative;">200∗200200∗200200*200的时候我们定义val[i][j][k]val[i][j][k]val[i][j][k]表示矩阵区间[1,i][1,j][1,i][1,j][1,i][1,j]部分厚度≥k≥k≥k的书的总厚度类似的定意num[i][j][k]num[i][j][k]num[i][j][k]表示个数。 这样只需要dpdpdp一下就ok了。 当矩阵大小为1∗5000001∗5000001*500000的时候涉及到区间操作我们可以使用两棵主席树一颗维护和另一颗维护个数。 代码 // luogu-judger-enable-o2 #include iostream #include cstdio #include cstring #include algorithm #define pr(x) cout#x:xendl using namespace std; const int maxn 500007; struct segtree{int root[maxn*20];int val[maxn*20];int lson[maxn*20];int rson[maxn*20];int id 0;void init(){memset(root,0,sizeof(root));memset(val,0,sizeof(val));memset(lson,0,sizeof(lson));memset(rson,0,sizeof(rson));id 0;}int ins(int rt,int l,int r,int pos,int v){int nrt id;lson[nrt] lson[rt];rson[nrt] rson[rt];val[nrt] val[rt] v;rt nrt;if(l r) return 0;int mid (lr)/2;if(pos mid) ins(lson[rt],l,mid,pos,v);else ins(rson[rt],mid1,r,pos,v);}int query(int rt,int l,int r,int ul,int ur){if(!rt || ul r || ur l) return 0;if(ul l r ur) return val[rt];int mid (lr)/2;int r1 query(lson[rt],l,mid,ul,ur);int r2 query(rson[rt],mid1,r,ul,ur);return r1r2;} }*seg,*segcnt; int R,C,M; int ck1(int mid,int y1,int y2){int sm seg-query(seg-root[y2],1,1000,mid,1000);sm - seg-query(seg-root[y1-1],1,1000,mid,1000);return sm; } void solve1(){seg new segtree;segcnt new segtree;seg-init();segcnt-init();for(int i 1;i C;i){int v;scanf(%d,v);seg-root[i] seg-root[i-1];segcnt-root[i] segcnt-root[i-1];seg-ins(seg-root[i],1,1000,v,v);segcnt-ins(segcnt-root[i],1,1000,v,1);}for(int i 1;i M;i){int x1,y1,x2,y2,h;scanf(%d%d%d%d%d,x1,y1,x2,y2,h);int l 1,r 1000;while(l r){int mid (lr1) / 2;if(ck1(mid,y1,y2) h) l mid;else r mid-1;}if(ck1(l,y1,y2) h) puts(Poor QLW);else {int ans segcnt-query(segcnt-root[y2],1,1000,l,1000);ans - segcnt-query(segcnt-root[y1-1],1,1000,l,1000);int delta ck1(l,y1,y2) - h;ans - delta / l;printf(%d\n,ans);}} } int (*val)[201][1001],(*vc)[201][1001]; int ck2(int va[201][201][1001],int mid,int x1,int y1,int x2,int y2){int ans va[x2][y2][mid] va[x1-1][y1-1][mid]- va[x2][y1-1][mid] - va[x1-1][y2][mid];return ans; } void solve2(){val new int[201][201][1001];vc new int[201][201][1001];memset(val,0,sizeof(val));memset(vc,0,sizeof(vc));for(int i 1;i R;i) for(int j 1;j C;j){int tmp;scanf(%d,tmp);for(int k 1;k 1000;k){val[i][j][k] val[i][j-1][k] val[i-1][j][k]- val[i-1][j-1][k];vc[i][j][k] vc[i][j-1][k] vc[i-1][j][k] - vc[i-1][j-1][k];if(tmp k) val[i][j][k] tmp,vc[i][j][k] ; }}for(int i 1;i M;i){int x1,y1,x2,y2,h;scanf(%d%d%d%d%d,x1,y1,x2,y2,h);int l 1,r 1000;while(l r){int mid (lr1) / 2;if(ck2(val,mid,x1,y1,x2,y2) h) l mid;else r mid-1;}if(ck2(val,l,x1,y1,x2,y2) h) puts(Poor QLW);else {int ans ck2(vc,l,x1,y1,x2,y2);int delta (ck2(val,l,x1,y1,x2,y2)-h)/l;ans - delta;printf(%d\n,ans);}} }int main() {cinRCM;if(R 1) solve1();else solve2();return 0; }
http://wiki.neutronadmin.com/news/109202/

相关文章:

  • 淄博网站网站建设东莞最大的网络公司
  • 龙华住房和建设局网站怎么无法登陆现货做网站
  • 普陀区网站建设公司钢筋网片规格型号
  • 网站天天做收录有效果吗wordpress 缓存用什么
  • 网站建设公司资质设计wordpress页面模板下载地址
  • 徐州网站开发如何在线教育
  • jsp网站开发如何把自横批排动漫设计属于什么大类
  • 最好的网站建设免费的server 2008 网站部署
  • 给你一个网站如何做推广广州市网络预约出租汽车综合业务管理平台
  • 教育网站设计岚皋网站建设
  • 如何选择模板网站建设网站用什么做关键词
  • 东城免费做网站做网站用什么虚拟服务器
  • 12380网站建设网站开发的岗位及职责
  • 厦门网站建设费用wordpress通知公告
  • 盐城市网站建设公司竞拍网站建设
  • 医疗行业网站备案制作网页的思路
  • 广州seo技术培训搜索引擎seo关键词优化效果
  • 岳阳网站建设哪里有广州市建设和水务局网站
  • 网站整合营销建设哈密建设集团有限责任公司网站
  • 做网站智能工具交换友情链接的注意事项
  • 品牌网站建设小i蝌蚪网站建设上海
  • 怎么创建图片网站做网站里面的内容
  • 成都哪里可以做网站做网站的开发软件是什么
  • 成都百度seo主要做什么工作内容
  • 个人做网站 用什么语言重庆建设厂招聘信息网站
  • 做影视网站版权问题seo整站优化的思路及步骤
  • 北京网站建设手机app电子商务wordpress页面立体效果
  • 电子商务与网站建设做网站的抬头怎么做
  • 小说网站流量怎么做wordpress编辑页面如何修改
  • 昆山市有没有做网站设计的自己做彩票网站简单吗