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

织梦与wordpresswindows优化大师怎么下载

织梦与wordpress,windows优化大师怎么下载,做网站公司昆明,手机商务彩铃制作教程当时没想到可以用队列来做&#xff0c;就傻傻的模拟了&#xff0c;用cur存当前轮的id&#xff0c;这个id对应的是order的下标&#xff0c;这里有个求rank的技巧就是当前轮没有晋级的rank为&#xff08;当前轮的组数1&#xff09; 模拟&#xff1a; #include<bits/stdc.h&g…

当时没想到可以用队列来做,就傻傻的模拟了,用cur存当前轮的id,这个id对应的是order的下标,这里有个求rank的技巧就是当前轮没有晋级的rank为(当前轮的组数+1)

模拟:

#include<bits/stdc++.h>
using namespace std;
struct node{int id,w,rk=0;
};
vector<node> vec;
vector<int> order,cur; //cur用来记录当前晋级的组里面的id,对应order数组的下标
int np,ng;
bool cmp(node&a, node& b){return a.rk>b.rk;
}
int main(){scanf("%d%d",&np,&ng);vec.resize(np);order.resize(np);cur.resize(np);for(int i=0;i<np;i++){scanf("%d",&vec[i].w);vec[i].id=i;cur[i]=i;}for(int i=0;i<np;i++)scanf("%d",&order[i]);if(cur.size()==1){printf("1");return 0;}while(cur.size()>1){int start=0;vector<int> temp;int numg; //当前分组数if(cur.size()%ng!=0) numg=cur.size()/ng+1;else numg=cur.size()/ng;while(start<cur.size()){int max=-1,maxi=0;for(int i=start;i<start+ng&&i<cur.size();i++){vec[order[cur[i]]].rk=numg+1;if(max<vec[order[cur[i]]].w){max=vec[order[cur[i]]].w;maxi=i;}}vec[order[cur[maxi]]].rk=numg==1?1:numg+1;temp.push_back(cur[maxi]);start+=ng;}cur=temp;}sort(vec.begin(),vec.end(),[](node& a,node& b){return a.id<b.id;});for(int i=0;i<vec.size();i++)printf(i==0?"%d":" %d",vec[i].rk);return 0;
}

柳神的队列做法:

#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
struct node {int weight, index, rank, index0;
};
bool cmp1(node a, node b) {return a.index0 < b.index0;
}
int main() {int n, g, num;scanf("%d%d", &n, &g);vector<int> v(n);vector<node> w(n);for(int i = 0; i < n; i++)scanf("%d", &v[i]);for(int i = 0; i < n; i++) {scanf("%d", &num);w[i].weight = v[num];w[i].index = i;w[i].index0 = num;}queue<node> q;for(int i = 0; i < n; i++)q.push(w[i]);while(!q.empty()) {int size = q.size();if(size == 1) {node temp = q.front();w[temp.index].rank = 1;break;}int group = size / g;if(size % g != 0)group += 1;node maxnode;int maxn = -1, cnt = 0;for(int i = 0; i < size; i++) {node temp = q.front();w[temp.index].rank = group + 1;q.pop();cnt++;if(temp.weight > maxn) {maxn = temp.weight;maxnode = temp;}if(cnt == g || i == size - 1) {cnt = 0;maxn = -1;q.push(maxnode);}}}sort(w.begin(), w.end(), cmp1);for(int i = 0; i < n; i++) {if(i != 0) printf(" ");printf("%d", w[i].rank);}return 0;
}

http://www.ds6.com.cn/news/97833.html

相关文章:

  • 那里做网站免费推广途径与原因
  • 江门网站开发世界杯比分
  • soho做网站多少钱seo排名方案
  • 政府网站cms百度账号登陆
  • 营销页面制作seo具体seo怎么优化
  • 网站规划项目与设计实例杭州网络推广公司
  • 高端网站建设工作室优化技术基础
  • 泉州专业网站开发公司有免费推广平台
  • wordpress做的外贸网站网络推广引流最快方法
  • 怎么做浏览器网站营销策划方案模板
  • 牛肉煲的做法seo优化师培训
  • 如果做淘宝网站河南seo网站多少钱
  • wordpress文章中如何隐藏作者百度seo价格
  • 中国互联网协会会长seo优化排名服务
  • 零基础做网站阿里云万网域名查询
  • 电脑手机网站建设百度站长电脑版
  • 墙绘做网站靠谱不google play官网入口
  • 公司建网站多互联网app推广具体怎么做
  • 市场营销是学什么seo服务
  • 网站建设公司普遍存在劣势张掖seo
  • 美工培训去哪里学抖音seo优化软件
  • 网站建设 趋势seo顾问是什么职业
  • 网站域名转发站长之家seo查询官方网站
  • 宿迁做网站的公司seo服务收费
  • 汕头做网站的公司seo网络运营
  • 专业做域名的网站深圳网络公司推广
  • 网络专业的网站建设价格低百度搜索引擎提交入口
  • 只做鞋子的网站人工智能培训机构
  • 财务公司如何找客户重庆seo服务
  • 怎样用代码做网站数据统计网站有哪些