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

上海模板建站公司/整合营销传播工具有哪些

上海模板建站公司,整合营销传播工具有哪些,网站建设与网站设计哪个好学,邢台做网站推广服务2019独角兽企业重金招聘Python工程师标准>>> 1: 用数组链表来存储树 2: dfs找路径时&#xff0c; 每次递归dfs之后&#xff0c;要把push_back进去的节点退出去 for(int i 0; i < cn; i){//挨个child找下去node tmp tree[t][i];dfs(tmp.id, sum, path);path.pop…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1: 用数组链表来存储树

2: dfs找路径时, 每次递归dfs之后,要把push_back进去的节点退出去

for(int i = 0; i < cn; i++){//挨个child找下去node tmp = tree[t][i];dfs(tmp.id, sum, path);path.pop_back();//从dfs返回后, 退出当前的元素}

3: 存储路径用vector<vecotr<int>>, 每次复制vector<int>可以直接用=

if(sum == s  ){// 路径weight和满足了vector<int> vtmp = path;		//vector可以用等号=直接复制!!! res.push_back(vtmp);return;}


自己到是能写出来,就是太慢了:

#include <stdio.h>
#include <vector>
#include <string.h>
#include <algorithm>
using namespace std;int n, m,s;typedef struct node{int id;int weight;
};vector<node> tree[100+5];//数组链表来存储树 
int weight[100+5];
int isNonLeaf[100+5];//是否是非叶子节点bool cmp(const node a, const node b){return (a.weight>b.weight);	//如果带上等号,用>=就会invalid operator运行错误,fuck!
}vector <vector<int>> res;vector<int> path;void dfs(int t, int sum, vector<int> v){sum += weight[t];path.push_back(weight[t]);if(isNonLeaf[t] == 0){//走到叶子节点了		if(sum == s  ){// 路径weight和满足了vector<int> vtmp = path;		//vector可以用等号=直接复制!!! res.push_back(vtmp);return;}return;//无路可走,返回}int cn = tree[t].size();for(int i = 0; i < cn; i++){//挨个child找下去node tmp = tree[t][i];dfs(tmp.id, sum, path);path.pop_back();//从dfs返回后, 退出当前的元素}
}int main(){freopen("in.txt","r",stdin);scanf("%d%d%d",&n,&m,&s);for(int i = 0; i < n; i++){scanf("%d",&weight[i]);}memset(isNonLeaf, 0, sizeof(isNonLeaf));int nonLeaf, childCnt;for(int i = 0; i < m; i++){scanf("%d %d",&nonLeaf, &childCnt);if (childCnt > 0){isNonLeaf[nonLeaf] = 1;//有child,所以不是叶子for(int j = 0; j < childCnt; j++){node tmp;int id;scanf("%d", &id);tmp.id = id;tmp.weight = weight[id];tree[nonLeaf].push_back(tmp);}sort(tree[nonLeaf].begin(), tree[nonLeaf].end(),cmp);//排序,使得较大weight的子节点排在前面//test/*for(int i = 0; i < tree[nonLeaf].size(); i++){printf("%02d :%d\n", tree[nonLeaf][i].id, tree[nonLeaf][i].weight );}printf("\n");*/}}dfs(0, 0, path);for(int i = 0; i < res.size(); i++){for(int j = 0; j < res[i].size()-1; j++){printf("%d ",res[i][j]);}printf("%d\n", res[i][res[i].size()-1]);}return 0;
}


转载于:https://my.oschina.net/kaneiqi/blog/305879

http://www.lbrq.cn/news/1114633.html

相关文章:

  • 网站制作和维护费用/网络营销的四种形式
  • 高境网站建设/互联网项目推广是什么
  • 电子商务网站建设与维护 论文/全国疫情最新数据
  • 企业网站开发合同/搜索引擎广告的优缺点
  • 做音乐网站之前的准备/中国重大新闻
  • 做网站制作的公司/冯站长之家官网
  • 香港的网站不需要备案吗/核心关键词和长尾关键词举例
  • 网站浏览记录怎么做/专门搜索知乎内容的搜索引擎
  • 宝安小学网站建设/交换链接的作用
  • php做的网站facebook/灯塔网站seo
  • 网站怎么做子分类/windows优化大师怎么彻底删除
  • 在常州 做兼职上什么网站/微信上怎么做广告推广
  • 做app网站需要什么/百度关键词指数排行
  • 用什么做网站开发/网络推广是什么专业
  • 个人网站怎么做扫码支付/如何在各种网站投放广告
  • wordpress清理过期文件夹/北京seoqq群
  • 网站首页图片效果/深圳网站制作推广
  • 封面上的网站怎么做/百度应用商店下载
  • 网站域名需要申请/域名查询入口
  • 公司内网站建设/引流推广方法
  • 网页制作平台哪个好用/百度关键词优化系统
  • 在东莞找工作上哪个网站/搜索引擎优化的各种方法
  • 信息化建设官方网站/seo刷排名软件
  • 石家庄网站优化排名推广/百度热搜seo
  • 免费浏览的网站入口/seo公司网站
  • 小鼠标网站建设/b站2020推广网站
  • 网站开发需要什么基础/百度首页排名优化公司
  • 柳州公积金网站/网络营销的现状及问题
  • 新网站改关键词/宣传推广图片
  • 网站广告弹窗代码/2023免费网站推广大全
  • 适配器模式 (Adapter Pattern)
  • 产品经理如何绘制流程图
  • FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
  • 硅谷顶级风投发布《2025年AI实战手册》|附下载
  • 基于单片机公交车报站系统/报站器
  • 【C# in .NET】16. 探秘类成员-索引器:通过索引访问对象