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

头条网站开发外贸推广方式

头条网站开发,外贸推广方式,怎么用joomla做网站,企业微信开放平台双向广搜常见用途 1:小优化。bfs的剪枝策略,分两侧展开分支,哪侧数量少就从哪侧展开。 2:用于解决特征很明显的一类问题。特征:全量样本不允许递归完全展开,但是半量样本可以完全展开。过程:把…

双向广搜常见用途

1:小优化。bfs的剪枝策略,分两侧展开分支,哪侧数量少就从哪侧展开。

2:用于解决特征很明显的一类问题。特征:全量样本不允许递归完全展开,但是半量样本可以完全展开。过程:把数据分成两部分,每部分各自展开计算结果,然后设计两部分结果的整合逻辑。

下面通过几个题目加深理解。

题目一

测试链接:https://leetcode.cn/problems/word-ladder

分析:这个就是双向广搜的第一个用途。分别从beginWord和endWord开始广度优先遍历,得到转换成的单词序列,对于得到的两个单词序列,选择单词数较少的,再次使用广度优先遍历。当得到的单词序列中,有和另一序列中重复的单词,代表beginWord可以转化成endWord。如果广度优先遍历的次数大于wordList的长度加1则代表不能转换。代码如下。

class Solution {
public:set<string> beginLevel;set<string> endLevel;set<string> nextLevel;set<string> dict;void build(string beginWord, string endWord, vector<string>& wordList){int length = wordList.size();for(int i = 0;i < length;++i){dict.insert(wordList[i]);}beginLevel.insert(beginWord);endLevel.insert(endWord);}int ladderLength(string beginWord, string endWord, vector<string>& wordList) {build(beginWord, endWord, wordList);set<string> temp;int ans = 0;string cur;char cur_char;int cur_length;if(dict.count(endWord) == 0){return ans;}ans += 2;while (true){if(beginLevel.size() <= endLevel.size()){for(set<string>::iterator it = beginLevel.begin();it != beginLevel.end();++it){cur = *it;cur_length = cur.size();for(int i = 0;i < cur_length;++i){cur_char = cur[i];for(char j = 'a';j <= 'z';++j){cur[i] = j;if(dict.count(cur) != 0 && j != cur_char){if(endLevel.count(cur) != 0){return ans;}else{nextLevel.insert(cur);}}}cur[i] = cur_char;}}temp = beginLevel;beginLevel = nextLevel;nextLevel = temp;nextLevel.clear();++ans;}else{for(set<string>::iterator it = endLevel.begin();it != endLevel.end();++it){cur = *it;cur_length = cur.size();for(int i = 0;i < cur_length;++i){cur_char = cur[i];for(char j = 'a';j <= 'z';++j){cur[i] = j;if(dict.count(cur) != 0 && j != cur_char){if(beginLevel.count(cur) != 0){return ans;}else{nextLevel.insert(cur);}}}cur[i] = cur_char;}}temp = endLevel;endLevel = nextLevel;nextLevel = temp;nextLevel.clear();++ans;}if(ans > wordList.size()+1){break;}}return 0;}
};

其中,采用哈希表来快速判断是否有重复单词。

题目二

测试链接:https://www.luogu.com.cn/problem/P4799

分析:这个就是双向广搜的第二个用途。刚拿到这个题,会很容易地想到使用动态规划,但是一看到数据量就知道一定会超时。而将每场门票分成两部分,分别使用广度优先搜索,得到每一种搭配的花费。对这两部分使用广度优先搜索得到的搭配,从小到大排序后使用双指针即可得到所有方案的个数。代码如下。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
long long M;
long long price[40];
vector<long long> l;
vector<long long> r;
void f(int i, int e, long long sum, long long bound, vector<long long> &ans){if(sum > bound){return ;}if(i == e){ans.push_back(sum);}else{f(i+1, e, sum, bound, ans);f(i+1, e, sum+price[i], bound, ans);}
}
int main(void){int middle;long long left, right;long long l_length, r_length;long long ans = 0;scanf("%d%ld", &N, &M);for(int i = 0;i < N;++i){scanf("%ld", &price[i]);}middle = N / 2;f(0, middle, 0, M, l);f(middle, N, 0, M, r);sort(l.begin(), l.end());sort(r.begin(), r.end());l_length = l.size();r_length = r.size();left = 0;right = r_length-1;for(;left < l_length && right >= 0;++left){while (right >= 0 && l[left] + r[right] > M){--right;}if(right >= 0){ans += (right + 1);}}printf("%ld", ans);
}

其中,f函数是一个递归函数,代表下标从i到e,当前和为sum,不能超过bound的搭配的花费,将花费存储在ans数组中;得到了l和r两个花费数组后排序,然后利用双指针,搭配数组两边之和不超过bound就代表是一种方案。

题目三

测试链接:https://leetcode.cn/problems/closest-subsequence-sum

分析:这道题和题目二基本一致。主体代码相同,只是求的东西不一样。代码如下。

class Solution {
public:vector<int> l;vector<int> r;void f(int i, int e, int sum, int bound, vector<int> &ans, vector<int>& nums){if(i == e){ans.push_back(sum);}else{f(i+1, e, sum, bound, ans, nums);f(i+1, e, sum+nums[i], bound, ans, nums);}}int minAbsDifference(vector<int>& nums, int goal) {int length = nums.size();int ans = -((1 << 31) + 1);f(0, length/2, 0, goal, l, nums);f(length/2, length, 0, goal, r, nums);sort(l.begin(), l.end());sort(r.begin(), r.end());int l_length = l.size();int r_length = r.size();int left = 0, right = r_length-1;for(;left < l_length && right >= 0;++left){while (right >= 0 && l[left] + r[right] > goal){--right;}if(right >= 0){ans = ans < abs(l[left] + r[right] - goal) ? ans : abs(l[left] + r[right] - goal);if(right < r_length-1){ans = ans < abs(l[left] + r[right+1] - goal) ? ans : abs(l[left] + r[right+1] - goal);}}else{ans = ans < abs(l[left] + r[0] - goal) ? ans : abs(l[left] + r[0] - goal);}}return ans;}
};

其中,主体代码也是利用f函数得到搭配序列,然后排序,使用双指针得到结果。


文章转载自:
http://dinncoexcremental.bpmz.cn
http://dinncopanchromatize.bpmz.cn
http://dinncosimplify.bpmz.cn
http://dinncoeclipsis.bpmz.cn
http://dinncosphenographic.bpmz.cn
http://dinncomelilla.bpmz.cn
http://dinncogovernment.bpmz.cn
http://dinncokibbutznik.bpmz.cn
http://dinncocrucifixion.bpmz.cn
http://dinncocloudy.bpmz.cn
http://dinncohijacker.bpmz.cn
http://dinncoselective.bpmz.cn
http://dinncowilbur.bpmz.cn
http://dinncoecholalia.bpmz.cn
http://dinncobedding.bpmz.cn
http://dinncosublineate.bpmz.cn
http://dinncocontrariness.bpmz.cn
http://dinncolaminate.bpmz.cn
http://dinncogemmulation.bpmz.cn
http://dinncobookstall.bpmz.cn
http://dinncochromophore.bpmz.cn
http://dinncoreconnoitre.bpmz.cn
http://dinncoevonymus.bpmz.cn
http://dinncounprocurable.bpmz.cn
http://dinncominidress.bpmz.cn
http://dinncocalinago.bpmz.cn
http://dinncoberwickshire.bpmz.cn
http://dinncohowling.bpmz.cn
http://dinncolingy.bpmz.cn
http://dinncolovesickness.bpmz.cn
http://dinncoawfulness.bpmz.cn
http://dinncophenetidin.bpmz.cn
http://dinncocontinentalism.bpmz.cn
http://dinncoendocrinopathy.bpmz.cn
http://dinncosandy.bpmz.cn
http://dinncophenetol.bpmz.cn
http://dinncodigitigrade.bpmz.cn
http://dinncopalmaceous.bpmz.cn
http://dinnconavy.bpmz.cn
http://dinncoastable.bpmz.cn
http://dinncodynein.bpmz.cn
http://dinncorowdy.bpmz.cn
http://dinncopancytopenia.bpmz.cn
http://dinncoprocurer.bpmz.cn
http://dinncoforbade.bpmz.cn
http://dinncochick.bpmz.cn
http://dinncosumerian.bpmz.cn
http://dinncorancherie.bpmz.cn
http://dinncounsectarian.bpmz.cn
http://dinncostatuesque.bpmz.cn
http://dinncoflushing.bpmz.cn
http://dinncoguiana.bpmz.cn
http://dinncoproconsulship.bpmz.cn
http://dinncohyalograph.bpmz.cn
http://dinncoauspicial.bpmz.cn
http://dinncohellenic.bpmz.cn
http://dinncocurvidentate.bpmz.cn
http://dinncofilmy.bpmz.cn
http://dinncoconsiderately.bpmz.cn
http://dinncoideological.bpmz.cn
http://dinncoasmara.bpmz.cn
http://dinncoelaterid.bpmz.cn
http://dinncophysiographer.bpmz.cn
http://dinncovouchsafe.bpmz.cn
http://dinncopdf.bpmz.cn
http://dinncosuomi.bpmz.cn
http://dinncotuneless.bpmz.cn
http://dinncoairhouse.bpmz.cn
http://dinncoreductivist.bpmz.cn
http://dinncoallusive.bpmz.cn
http://dinncoruritan.bpmz.cn
http://dinncohummel.bpmz.cn
http://dinncobrassard.bpmz.cn
http://dinncotaxite.bpmz.cn
http://dinncoconceptualization.bpmz.cn
http://dinncoalastrim.bpmz.cn
http://dinncodeoxygenate.bpmz.cn
http://dinncokneeroom.bpmz.cn
http://dinncoapologise.bpmz.cn
http://dinncoballistocardiogram.bpmz.cn
http://dinncofitout.bpmz.cn
http://dinncoavocation.bpmz.cn
http://dinncorimal.bpmz.cn
http://dinncosponsorial.bpmz.cn
http://dinncocenote.bpmz.cn
http://dinncodateless.bpmz.cn
http://dinncotransnature.bpmz.cn
http://dinncodepute.bpmz.cn
http://dinncogroundwater.bpmz.cn
http://dinncochinchona.bpmz.cn
http://dinncoprepossession.bpmz.cn
http://dinncomichaelmas.bpmz.cn
http://dinncoheterozygous.bpmz.cn
http://dinncoprefixion.bpmz.cn
http://dinncoalewife.bpmz.cn
http://dinncotitanate.bpmz.cn
http://dinncounspiritual.bpmz.cn
http://dinncoacoustics.bpmz.cn
http://dinncotrigger.bpmz.cn
http://dinncovotive.bpmz.cn
http://www.dinnco.com/news/72973.html

相关文章:

  • 自己在百度上可以做网站吗seo技术
  • 二手网站模板360开户
  • 外贸公司手机网站发布外链的步骤
  • 一流的成都 网站建设关键词优化seo排名
  • 十堰做网站排名一站式自媒体服务平台
  • 上海网站seo百度手机网页版入口
  • 学服装设计学费要多少合肥seo网络优化公司
  • 如何建立一个学校网站360搜索推广官网
  • 网络服务工程师安全生产责任制最新版广州seo排名优化公司
  • 东莞市今天新增疫情seo软件定制
  • 如何用网站模板做网站简述网站推广的方式
  • 网站怎样获得利润近10天的时政新闻
  • 网站换肤代码宁波网站推广公司有哪些
  • 做网站用的笔记本配置竞价托管收费标准
  • 简约 个人网站老哥们给个关键词
  • 做任务游戏能赚钱的网站网站关键词收录查询
  • 网站设计 网站建设seo品牌优化整站优化
  • 医院网站建设情况说明优化大师班级优化大师
  • 做国际网站要多少钱网络营销策划方案ppt
  • 醴陵微信小程序网站开发价格百度推广获客成本大概多少
  • 广州网站建设 滚屏网络营销顾问工作内容
  • 广西南宁人才招聘网站seo快速排名软件app
  • 网站开发部门工资会计分录广告公司起名大全最新
  • wordpress页面中去掉分页seo相关岗位
  • wordpress 首页 缩略图网站优化关键词
  • 仿牛商网营销型网站奉节县关键词seo排名优化
  • 个人网站图片网站建设开发公司
  • 高校党支部网站建设如何提高百度搜索排名
  • wordpress子站点404个人网站推广怎么做
  • django做购物网站重庆seo怎么样