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

南京大型网站建设网络广告形式

南京大型网站建设,网络广告形式,不用开源做网站,天津滨海新区地图全图大模拟题: 思路: 1.初始化root为1 2.w数组储存每次得到的w&值 3.更新w数组 遍历每个节点的时候将visited数组1 表示当前已经遍历到第几轮了(用来计算最优解点的时候排除不是的结点) 4.w数组储存每次得到的w&值 5.根…

大模拟题:

思路:

1.初始化root为1

2.w数组储存每次得到的w&值

3.更新w数组 遍历每个节点的时候将visited数组+1 表示当前已经遍历到第几轮了(用来计算最优解点的时候排除不是的结点)

4.w数组储存每次得到的w&值

5.根据w&的值判断当前保留树的哪一部分

如果保留当前部分(将根节点设为当前节点)

否则将visited[node]数组的值设为-1(更新w数组的时候不访问)

6.更新root为当前最优结点

屎山代码:

#include<bits/stdc++.h>
using namespace std;
int n, m;
struct node {int w;//权重vector<int> child;int parent;
}tree[2002];
int w[2002];//每个节点的总权重
bool flag[2002] = { true };
//计算整棵树每个结点的权重 返回权重
int Compute(int root){//如果已经不属于if (!flag[root]) return 0;w[root] = tree[root].w;if (tree[root].child.size() == 0) {return w[root];}for (int c : tree[root].child) {w[root] += Compute(c);}return w[root];
}
//计算当前的权值绝对值
vector<int> Compute_W(int root) {//初始化总权重数组fill(w, w + 2002, 0);Compute(root);vector<int> ww(n + 1, INT_MAX);for (int i = 1; i <= n; i++) {ww[i] = abs(w[i]-(w[root]-w[i]));}return ww;
}
void pprint(vector<int> num) {for (int i = 0; i < num.size(); i++) {cout << num[i] << " ";}cout << endl;
}
bool isAncestor(int now, int ancestor) {if (now == -1)return false;if (now == ancestor)return true;return isAncestor(tree[now].parent, ancestor);}
//表示失效
void dfs(int root) {flag[root] = false;if (tree[root].child.size() == 0)return;for (int c : tree[root].child)dfs(c);
}
//计算当前有效节点个数
int count_num() {int num = 0;for (int i = 1; i <= n; i++) {if (flag[i] == true)num++;}return num;
}
//输出若干整数 代表现在问是否属于这个类别
void solve(int c) {//初始化根节点int root = 1;//初始化标记fill(flag, flag + 2002, true);//初始化总权重数组fill(w, w + 2002, 0);while (1) {//初始化排序好的数组绝对值差vector<int> now_w = Compute_W(root);//计算当前的最小绝对值int min_index;int min = INT_MAX;for (int i = 1; i <= n; i++) {if (now_w[i] < min) {min_index = i;min = now_w[i];}}//询问c类别是否属于当前类别cout << min_index;if (isAncestor(c, min_index)) {root = min_index;//该结点的以外的子树标记为失效if (tree[min_index].parent != -1) {flag[tree[min_index].parent] = false;for (int c : tree[tree[min_index].parent].child) {if (c != min_index)dfs(c);}}}else {root = tree[min_index].parent;//该结点的子树标记为失效dfs(min_index);}if (count_num() == 1) {cout << endl;break;}else {cout << " ";}}}
int main() {//n:全部类别的数量//m:需要测试的类别数量cin >> n >> m;for (int i = 1; i <= n; i++) {cin>>tree[i].w;//权重}//特殊标记tree[1].parent = -1;for (int i = 1; i < n; i++) {int son = i + 1;int parent;cin >> parent;tree[parent].child.push_back(son);tree[son].parent = parent;}for (int i = 0; i < m; i++) {//任务是被归类到该类别的名词 需要提出怎么样最少的问题int c;cin >> c;solve(c);}return 0;
}

http://www.dtcms.com/wzjs/487936.html

相关文章:

  • 自己做淘宝客网站付费推广
  • 厦门网站建设公司排行榜seo自动优化软件下载
  • wordpress的默认密码是什么seo优化技术教程
  • 做一个网站花费多少钱信息推广
  • 淄博手机网站建设报价幽默软文广告经典案例
  • 做电商网站注意什么问题数字营销成功案例
  • 白头鹰网站一天可以做多少任务武汉seo优化顾问
  • 有什么做海报网站软文营销写作技巧有哪些?
  • 制作网站升上去福州关键词排名软件
  • 南京建设局网站首页百度广告太多
  • 网站绑定微信公众号黑科技推广软件
  • 做网站需要租服务器么系统优化app最新版
  • 重庆网站建设与推广北京seo代理商
  • 怎样健网站正规的计算机培训机构
  • 做淘宝有哪些货源网站企业查询网站
  • 做网站的公司都是小公司网站优化推广价格
  • 音乐网站系统源码官网seo是什么意思
  • 网站建设前端和后端网店怎么运营和推广
  • 华为公司网站建设目标公司seo推广营销网站
  • 一站式做网站哪家强app推广赚钱平台
  • 网站建设备案多长时间河南网站seo
  • 电商网站开发费用百度售后服务电话人工
  • 找人做淘宝网站需要多少钱在线网站建设
  • 网站建设公司的转型常用的网络营销工具有哪些
  • 企业宣传如何做网站十大营销策划公司排名
  • 做网站百度收费吗关键词林俊杰
  • 建设网站学什么条件我想做地推怎么找渠道
  • 自己做网站商城需要营业执照吗seo优化官网
  • 山东网站建设公司哪家好青岛seo招聘
  • 美国做科普的网站潍坊疫情最新消息