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

非经营备案网站能贴放广告么上海闵行区怎么样

非经营备案网站能贴放广告么,上海闵行区怎么样,wordpress term_id,源码下载站羑悻的小杀马特.-CSDN博客羑悻的小杀马特.擅长C/C题海汇总,AI学习,c的不归之路,等方面的知识,羑悻的小杀马特.关注算法,c,c语言,青少年编程领域.https://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_8264829…                    羑悻的小杀马特.-CSDN博客羑悻的小杀马特.擅长C/C题海汇总,AI学习,c的不归之路,等方面的知识,羑悻的小杀马特.关注算法,c,c语言,青少年编程领域.https://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_82648291?typebbs 在本篇文章中博主将带大家去学习所谓的Dijkstra算法从基本理解画图分析展示再到最后的代码实现以及为何要这样实现代码等一些细节问题做解释相关题型应用非常值得哟尤其是刚入门的小白学习干货满满通俗易懂欢迎大家点赞收藏阅读呀   欢迎拜访羑悻的小杀马特.-CSDN博客 本篇主题秒懂百科之Dijkstra算法的深度剖析 制作日期2025.01.27 隶属专栏美妙的算法世界 目录 一·DIjkstra算法介绍 1.1算法背景 1.2形象举例演示 1.3算法的核心思想和步骤  1.3.1初始化 1.3.2核心步骤 1.3.3通俗理解 1.4伪代码模版 二·DIjkstra算法朴素版实现 2.1代码展示 2.2测试效果 2.3时间复杂度分析 三·DIjkstra算法优化版(优先队列)实现 3.1优化后代码深度剖析讲解 3.2代码实现展示  3.3测试效果   3.4时间复杂度 四.在线OJ测试 五·设计时的细节分析 5.1为什么我们从dist中选的的最小的点dist值一定是最小源点距 5.2为什么选择最小源点距的点u去更新v再次放入v对应的dist值不一定是最小的 5.3为什么每次不是在更新dist操作的时候标记1对v而是选出最小源点距的点u后给u标记1 六·Floyd算法和Dijkstra算法区别 6.1基本原理 6.2时间复杂度 6.3算法实现原理 6.4使用注意事项 七·实际应用场景 7.1网络路由 7.2交通规划 7.3地图导航 7.4资源分配 八·本篇小结 首先我们先大概介绍一下吧 一·DIjkstra算法介绍 1.1算法背景 Dijkstra 算法是由荷兰计算机科学家 Edsger W. Dijkstra 提出的一种用于解决图中单个源点到其他各节点最短路径问题的经典算法。该算法适用于带权有向图或无向图且图中边的权重必须是非负的。其目的是找到从源节点到图中所有其他节点的最短路径通过逐步确定最短路径长度的节点集合不断更新源节点到其他节点的最短距离估计最终实现找到最短路径的目标。 但是比较形象的我们还是先以例子为引入吧 我们先明确一下它可以处理有无向图但是就是不能处理负权边后面我们会解释。 1.2形象举例演示 那么下面我们就按照DIjkstra算法的思路模拟一下这个操作 三张表 distflagpre记录i点到源点的距离当前认为最小的后续可能更新标记已经完成最小源点距的点记录当前点的前驱节点方便找路径......... 其实还会有个二维path表方便我们 拿到两点及两点边之间的权其次就是这里我们默认编号从1开始但是数组下标确实0我们就从1开始放入。 其实它可以从任意点开始来找到任意点的了路径那么下面我们就从1号开始 初始化操作 首选我们先讲一下是如何操作 每次从dsit数组中选没找到最小distflag数组对应位置标记位0然后它就是最短源点距给它的flag标记成1开始从它作为下一个点的前驱去找到下一个点的距离如果此时源点可借助这个点到达下一个点比之前距离小就跟新对应dist然后记录前驱也就是当前这个被选中的点依次循环知道dist数组对应下标位置都被标记1即再也找不到就完成查找工作了 下面动态效果展示一下 不过这里博主有个小错误不过及时改掉了大家细心可以看出来 Dijkstra算法模拟演示 相信到这里大家应该明白了是如何操作的了那么下面我们着重的就是算法实现了 1.3算法的核心思想和步骤  标准版 1.3.1初始化 设源节点为 s将 dist[s] 初始化为 0将其他节点 v 的 dist[v] 初始化为正无穷大表示源点到这些节点的最短路径尚未确定。维护一个集合 S 表示已确定最短路径的节点集合初始时 S 为空集。 1.3.2核心步骤 重复以下操作直到 S 包含所有节点从不在 S 中的节点中选取 dist 值最小的节点 u即当前未确定最短路径节点中距离源点最近的节点将 u 加入 S。对于 u 的每个邻接节点 v如果从源节点经过 u 到达 v 的路径比当前已知的 dist[v] 更短更新 dist[v] 的值。更新公式为dist[v] dist[u] weight(u, v)其中 weight(u, v) 表示边 (u, v) 的权值。 1.3.3通俗理解 这里说白了就是把我们上面模拟的过程翻译成代码 首先需要两个循环第一个循环确定已经完成查找到最短源点距的点u一定要标记好防止再次查找到它然后通过u开始拓展找可到达的边看看能否借助u到达v的源点距小于之前dist数组中填写的值如果小就更换并且记录前驱节点依次重复此步骤直到无法找出中间点即可。 注那么问题来了这里难点不是怎么操作而是怎么判断是否合法也就是两种选点时候的判断博主给大家总结好了以及相关分析 ①选中间点u 1·这里我们只需要判断它是否被找到了最短源点距根据flag数组标记 2·以及它能不能被源点到达即可第一次肯定是选的我们标记的0但是之后如果选出了我们设置的无穷这个点不能被源点直达也不可以借助其他中间点到达也就是它是不能选的直接就是完成工作了break掉 ②选中间点u可达的v点: 这里相对就多一点了 1·首先我们要确保这个v点还没有找到最短路径 2·其次就是源点可以借助u到达v即u到v有路线这里我们可以省因为后面判断两个路线最短时候包含了这点 3·最重要的就是路线比较了即借助中间点u的路线和原来填写的路线要最短的进行更新dist数组 注这里我们也许会问这个还要不要判断源点是否可达v也就是dist[V]不能为无穷 肯定是不需要否则第一次以源点作为前驱中间点选择的时候不就完蛋咯。  掌握这几点写代码实现就不是问题啦。  1.4伪代码模版 下面展示一下伪代码实现的版子 void Dijkstra(int x) {dist[x] 0;//标记源点启动循环while (找中间节点作为前驱) {int u dist_min();//完成中间点选择不合适直接退出完成工作 break; //u一定是源点可达的点标记已经找到的最短路的点;//作为中间点一定dist里最短路径无需更新u了for (遍历剩下节点找可达进行比较) {if (三大判断条件) {dist[v] dist[u] path[u][v];保存前驱}}} } 二·DIjkstra算法朴素版实现 我们实现的朴素版是一种贪心广度优先搜索。 上面的要点我们都讲完了代码不成问题了下面展示下博主自己实现的代码以及一些细节处理的解释操作超详细版 2.1代码展示 #includeiostream #includevector #includemap #includecstring using namespace std; #define IMAX 0x3f3f3f3f const int N 6666; int dist[N];//源点到i的最短距离 bool flag[N] {0};//为1则i点已找到最短源点距 int path[N][N];//i j之间可达距 int pre[N] ;//前驱节点 int n, m;int dist_min() {//找已完成源最短距的点int id-1;int M IMAX;//注意如果dist数组中可选的中间点只有dist为IMAX也就是源点不可达的点这里必须返回提示一下也就是找不到idfor (int i 1; i n; i) {if (!flag[i] M dist[i]) {M dist[i];id i;}}return id; } void Dijkstra(int x) {dist[x] 0;int tmp n-1;while (tmp--) {int u dist_min();if (u -1) break; //u一定是源点可达的点flag[u] 1;//作为中间点一定dist里最短路径无需更新u了for (int v 1; v n; v) {//符合条件uv可达间接隐含v不是最短源点距符合两路取短if (path[u][v] ! IMAX !flag[v] dist[v] dist[u] path[u][v]) {dist[v] dist[u] path[u][v];pre[v] u;//记录前节点方便找路径}}} } void find_min() {cout 依次到1~n号节点距离;for (int i 1; i n; i) {if (dist[i] IMAX)cout -1 ;else cout dist[i] ;} } void init_pre() {for (int i 1; i n; i)pre[i] i; } int getpath(int x) {cout 路径;pre[x] x ? x : getpath(pre[x]);cout x ;return x; }int main() {cin n m;memset(path, 0x3f, sizeof path);memset(dist, 0x3f, sizeof dist);while (m--) {int u, v, w;cin u v w;path[u][v] min(path[u][v],w);//path[v][u] min(path[v][u], w); 无向图}init_pre();Dijkstra(3);find_min();cout endl;getpath(1);//等于自身可能自身成环也可能无法到达return 0; } 2.2测试效果 我们就以上面模拟的为例子源点选择1号并查看一下到2号的最短路径 2.3时间复杂度分析 当然了这里我们不难发现时间复杂度由于套了两层循环到了ON^2级别那么可不可以优化呢。但是是可以的我们可以借助优先队列给它优化一下,这样当数据范围特别大的时候我们就不用通过手动循环去查找了而是可以直接利用stl容器特性解决。 三·DIjkstra算法优化版(优先队列)实现 优化后变成了贪心优先队列了。 我们已经看到了如果数据大上面的朴素法还是不行的因此下面就借助优先队列完成 首先我们变化的大致可以理解为只是优化了查找中间点u工作以及放入u的临边点v点的操作。 这里剧透一下因为我们这操作相当于黑盒因此我们只管直接拿直接放优先队列是混乱的我们只需要它自己帮我们完成我们想要的操作即可。 3.1优化后代码深度剖析讲解 下面就对我们优化实现的代码进行讲解 ①存放已知数据 vectorpairint, ll v[N];//表示i为始点v[i]里面的的每个pair的元素代表它的下一个点以及到达的边权 ②存放所有可通过中间点u到达的v点及权值v前驱中间点: priority_queuepairll, pairint, int, vectorpairll, pairint, int, greater pq;//编译器根据对象自动推导模版类型 //其次就是注意外层pair顺序我们是优先以路径长短作为判断的ll和int不能颠倒与定义的vector的pair类型不同 ③剖析解释一下这个优先队列 这里的优队就是为了把遍历朴素法的dist数组的复杂直接转成靠stl容器完成选择出这个已经找到最短路径的中间点然后开始搜索继续放入队列)。 这里为了我们不仅可以知道源点到某点的最短距离以及路径故我们每次都把前驱节点推进去 点 源点到此点的距离 此条路上某点的前驱节点 注队列中的元素不完全是某点最短路径长度是所有能到达此点的路径依靠stlpq的性质完成自己筛选出最短  ④这两个容器变量类型不能混杂 注意外层pair顺序我们是优先以路径长短作为判断的ll和int不能颠倒与定义的vector的pair类型不同 那么下面我们来阐述一下优先队列是如何操作的 1·选择中间点u首先我们把源点推进去启动优先队列的操作接着就是确认源点已经是最短源点距给它标记防止下一次还选到它注符合中间点筛选条件选择后一定要pop掉防止队列死循环发生其次就是如果选择的中间点已经找到了最短路径我们就要跳过它然后重新从优先队列中选择。 2·选择可达边对应的点v 这里我们无需判断在选了因为说过优先队列里面是混乱的我们无需考虑但是最后拿到的经判断后一定是我们想要的全部无论距离是多少直接把相应的源点距和对应的点搞进去这里相当于把我们朴素版的判断优化到了极致。 3.2代码实现展示  #includeiostream #includequeue #includevector #includemap #includefunctional #includecstring using namespace std; using ll long long; const int N 3e5 5; constexpr ll IMAX 1e15; vectorpairint, ll v[N];//表示i为始点v[i]里面的的每个pair的元素代表它的下一个点以及到达的边权 //这里的优队就是为了把遍历朴素法的dist数组的复杂直接转成靠stl容器完成选择出这个已经找到最短路径的中间点然后开始搜索继续放入队列) //注队列中的元素不完全是某点最短路径长度是所有能到达此点的路径依靠stlpq的性质完成自己筛选出最短 //这里为了我们不仅可以知道源点到某点的最短距离以及路径故我们每次都把前驱节点推进去 点 源点到此点的距离 此条路上某点的前驱节点 priority_queuepairll, pairint, int, vectorpairll, pairint, int, greater pq;//编译器根据对象自动推导模版类型 //其次就是注意外层pair顺序我们是优先以路径长短作为判断的ll和int不能颠倒与定义的vector的pair类型不同 bool check[N];//防止对已经找到最小路径的边重复判断 int n, m; ll dist[N];//源点到某点的最短路径表 int pre[N];//某点的在源点到达它最短路径上的前驱结点一直递归下去可以到达源点 void init() {memset(check, 0, 4 * (n 1));for (int i 1; i n; i)pre[i] i;for (int i 1; i n; i)dist[i] IMAX; } void Dijkstra(int x) {pq.emplace(0LL,make_pair(x,x));//把第一个推进去启动查找while (!pq.empty()) {auto [sourd, p] pq.top();pq.pop();//防止死循环if (check[p.first])continue;//其实就是朴素版的check判断//已经确定了某点最短路径如果再次找到其前驱节点与它之间有连接那么这条路一定不是//比它短的而且已经找到了最小路径所以不能再更新dist了。pre[p.first] p.second;//保存其最短路径终点的前驱节点dist[p.first] sourd;//填充dist表check[p.first] 1;//获得最短路径了下次这个就不能再作为中间点了for (auto [next, dis] : v[p.first]) {pq.emplace(disdist[p.first], make_pair(next, p.first));//都推进去依靠pq特性选择最短pq里是“很乱的”}} } int getpath(int x) {pre[x] x ? x : getpath(pre[x]);cout x ;return x; } void getdis() {for (int i 1; i n; i) {if (dist[i] IMAX) cout -1 ;else cout dist[i] ;} } int main() {cin n m;init();while (m--) {int x, y, z;cin x y z;v[x].emplace_back(make_pair(y, z));//v[y].emplace_back(make_pair(x, z));//双向边处理}Dijkstra(1);getdis();cout endl;getpath(2);//等于自身可能自身成环也可能无法到达 } 3.3测试效果   效果是同样的。 3.4时间复杂度 设边数为E点数为V 对节点的操作需要对每个节点进行操作包括初始化、从优先队列中取出节点这部分的时间复杂度是 O(VlogV)。 对边的操作对每条边进行松弛操作并更新距离时间复杂度为 O(ElogV)。 即使用优先队列优化后的 Dijkstra 算法的时间复杂度为 O((VE)logV)。 四.在线OJ测试 首先我们以一道题来测试下我们写的代码当然了一般拿Dijkstra算法出题肯定朴素版大概过不了只能优先化后出场了 OJ链接蓝桥账户中心  测试用例 此题注意好数据范围 这里如果每个点之间都是10^9那么就超越整型范围了因此我们最好用long long。  代码展示优先队列版 #includeiostream #includequeue #includevector #includemap #includefunctional #includecstring using namespace std; using ll long long; const int N 3e5 5; #define IMAX 1e15 vectorpairint, ll v[N]; priority_queuepairll, pairint, int, vectorpairll, pairint, int, greaterpairll, pairint, int pq; bool check[N]; int n, m; ll dist[N]; int pre[N]; void Dijkstra(int x) {pq.emplace(0LL,make_pair(x,x));while (!pq.empty()) {auto [sourd, p] pq.top();pq.pop();if (check[p.first])continue;pre[p.first] p.second;dist[p.first] sourd;check[p.first] 1;for (auto [next, dis] : v[p.first]) {pq.emplace(disdist[p.first], make_pair(next, p.first));}} } int main() {cin n m;memset(check, 0, 4 * (n 1));for (int i 1; i n; i)pre[i] i;for (int i 1; i n; i)dist[i] IMAX;while (m--) {int x, y, z;cin x y z;v[x].emplace_back(make_pair(y, z));}Dijkstra(1);for (int i 1; i n; i) {if (dist[i] IMAX) cout -1 ;else cout dist[i] ;} }最后也是通过 五·设计时的细节分析 相信大家肯定有类似这样的疑惑那么下面就来一一举例为大家解答疑惑 5.1为什么我们从dist中选的的最小的点dist值一定是最小源点距 相信大家一开始也肯定有题目叙述这样的疑惑 其实很简单我们反证法证明一下 这里我们假设我们所选的C这个点dist里面虽然是最小的但是不是它的到A点的最短源点距。  那么肯定存在一条路A~C其中经历了B作为C的前驱结点是最短了如果存在的话B肯定没有被选到否则就与上面路重复了是一条了明显肯定A到B一定要是比选的C的dist值小但是这样我们就不会选到C了而是B与我们假设矛盾故不成立即选择其中dist值最小的点一定是最小源距已完成的点不会再更新。 5.2为什么选择最小源点距的点u去更新v再次放入v对应的dist值不一定是最小的 还是先看图在分析 首先我们先选的中间点肯定是Cc和E之间然后更新D的dist值为11比100大;之后中间点又会去选C此时还会去更新D的dist值故解答标题所述疑惑。  5.3为什么每次不是在更新dist操作的时候标记1对v而是选出最小源点距的点u后给u标记1 首先我们要明白如果我们标记了某个点之后还有通往这个点的路径的时候可能是更短那么我们就无法更新了还是看图 这里比如选中间点我们从D和B之间选了B那么直接找到v即C 距离10小于12故更新如果此时标记C那么当我们下一次选D会发现路径是7比之前还小但是已经标记了无法修改故会出错。  六·Floyd算法和Dijkstra算法区别 博主也写了篇Floyd算法的文章大家不懂可以去看也是通俗易懂的哦 传送门【狂热算法篇】探秘图论之 Floyd 算法解锁最短路径的神秘密码(通俗易懂版)-CSDN博客 首先我们明白区别下面分为几个点来介绍 6.1基本原理 首先Floyd算法是遍历每个点作为终止点的前驱节点进行填表它进行一次就可以得到每个点到每个店之间的最小路径即是多源路径。 而Dijkstra算法它是以一个确定的源点固定好去依次找最短路径来确定源点到某点的距离认为只要是最短的那么通过它到到达源点一定是最短的是一种贪心思想忽略了边权位负数情况后面会分析即单源路径。 6.2时间复杂度 时间复杂度对于Floyd算法三层循环直接拉到了oN^3;而dijkstra算法朴素是o(N^2)优先队列优化后是o(logN)。 6.3算法实现原理 Floyd算法基于广搜动态规划实现而Dijkstra算法基于贪心广搜或优先队列实现。 6.4使用注意事项 首先先表明观点 先介绍下什么是父负环即一条回路边权之和为负数如图 这样我们会发现是找不到某两点之间的最小路径的因为这个环可以无限循环。 Dijkstra算法不能应用于负边权更不要提负环了为什么呢 首先我们要明白它是种贪心的思路当找到我们目前认为的最小值它就会确定下来某点的最短源点距进而不再更新 比如我们通过A作为源点选择了B D更新dist发现最小的B那么我们就会通过这种贪心思想确定B最短源点距就是2当通过D就不会再去更新B(但是此时源点距为-4小于2)这就违背了事实。 Floyd算法能用于负边但不能应用于负环 这里是因为我们会每次把每个店作为终点的前驱中间点遍历一遍然后更新一下目前的最短距离表那么到最后每个点都遍历完的时候肯定会找到最短路径此时会考虑到负边权情况但是对于负环上面也介绍了无法找出但是可以通过Bellman_Ford算法检测出来这里就不多说了。 七·实际应用场景 7.1网络路由 在计算机网络中用于计算从源路由器到其他路由器的最短路径以优化数据包的传输路径减少网络延迟和提高网络性能。 7.2交通规划 计算城市间的最短行车路线帮助规划最优的交通路径减少交通拥堵和行程时间。 7.3地图导航 计算城市间的最短行车路线帮助规划最优的交通路径减少交通拥堵和行程时间。 7.4资源分配 在资源分配问题中如电力网络中从发电站到各个用户的最短传输路径计算优化电力传输减少能源损耗。 八·本篇小结 四种最短路径算法小总结 下面基于博主自主学习了了Dijkstra算法的个人理解希望有帮助  首先我们可以如果实在理解不了就可以看一遍博主模拟的过程背一背模版上面其实也不难理解就是标记好源点然后选中间点第一次就是源点然后依次找可达点根据限定条件更新dist数组就完了朴素版对于优化版---只不过是把我们判断条件交给优先队列自己实现了大量条件个人还是觉得优化版更加舒服代码还少啊哈哈哈总之图论学习尚未结束后序博主还会进行更新的欢迎大家订阅。
文章转载自:
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.qkdjq.cn.gov.cn.qkdjq.cn
http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn
http://www.morning.ghrhb.cn.gov.cn.ghrhb.cn
http://www.morning.jwskq.cn.gov.cn.jwskq.cn
http://www.morning.bqwsz.cn.gov.cn.bqwsz.cn
http://www.morning.mtbth.cn.gov.cn.mtbth.cn
http://www.morning.cbnlg.cn.gov.cn.cbnlg.cn
http://www.morning.lskrg.cn.gov.cn.lskrg.cn
http://www.morning.drytb.cn.gov.cn.drytb.cn
http://www.morning.ksgjy.cn.gov.cn.ksgjy.cn
http://www.morning.plhhd.cn.gov.cn.plhhd.cn
http://www.morning.lwyqd.cn.gov.cn.lwyqd.cn
http://www.morning.fjtnh.cn.gov.cn.fjtnh.cn
http://www.morning.ldzss.cn.gov.cn.ldzss.cn
http://www.morning.fndfn.cn.gov.cn.fndfn.cn
http://www.morning.fnlnp.cn.gov.cn.fnlnp.cn
http://www.morning.qfcnp.cn.gov.cn.qfcnp.cn
http://www.morning.gtkyr.cn.gov.cn.gtkyr.cn
http://www.morning.gzzncl.cn.gov.cn.gzzncl.cn
http://www.morning.sryhp.cn.gov.cn.sryhp.cn
http://www.morning.znqfc.cn.gov.cn.znqfc.cn
http://www.morning.wwjft.cn.gov.cn.wwjft.cn
http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn
http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn
http://www.morning.ntffl.cn.gov.cn.ntffl.cn
http://www.morning.tralution.cn.gov.cn.tralution.cn
http://www.morning.gydsg.cn.gov.cn.gydsg.cn
http://www.morning.ptqpd.cn.gov.cn.ptqpd.cn
http://www.morning.syxmx.cn.gov.cn.syxmx.cn
http://www.morning.huxinzuche.cn.gov.cn.huxinzuche.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn
http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn
http://www.morning.rfpxq.cn.gov.cn.rfpxq.cn
http://www.morning.skmzm.cn.gov.cn.skmzm.cn
http://www.morning.oioini.com.gov.cn.oioini.com
http://www.morning.kdpal.cn.gov.cn.kdpal.cn
http://www.morning.frpb.cn.gov.cn.frpb.cn
http://www.morning.xmhpq.cn.gov.cn.xmhpq.cn
http://www.morning.rsjf.cn.gov.cn.rsjf.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.grpfj.cn.gov.cn.grpfj.cn
http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn
http://www.morning.rwwdp.cn.gov.cn.rwwdp.cn
http://www.morning.ssmhn.cn.gov.cn.ssmhn.cn
http://www.morning.dkqr.cn.gov.cn.dkqr.cn
http://www.morning.yrsg.cn.gov.cn.yrsg.cn
http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn
http://www.morning.qsmmq.cn.gov.cn.qsmmq.cn
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.qqrqb.cn.gov.cn.qqrqb.cn
http://www.morning.zqbrw.cn.gov.cn.zqbrw.cn
http://www.morning.xqbgm.cn.gov.cn.xqbgm.cn
http://www.morning.lzzqz.cn.gov.cn.lzzqz.cn
http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn
http://www.morning.gcysq.cn.gov.cn.gcysq.cn
http://www.morning.gyylt.cn.gov.cn.gyylt.cn
http://www.morning.darwallet.cn.gov.cn.darwallet.cn
http://www.morning.lksgz.cn.gov.cn.lksgz.cn
http://www.morning.npfkw.cn.gov.cn.npfkw.cn
http://www.morning.tmpsc.cn.gov.cn.tmpsc.cn
http://www.morning.hmmnb.cn.gov.cn.hmmnb.cn
http://www.morning.thwhn.cn.gov.cn.thwhn.cn
http://www.morning.mzcsp.cn.gov.cn.mzcsp.cn
http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn
http://www.morning.lctrz.cn.gov.cn.lctrz.cn
http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn
http://www.morning.lkwyr.cn.gov.cn.lkwyr.cn
http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn
http://www.morning.bktly.cn.gov.cn.bktly.cn
http://www.morning.wqrk.cn.gov.cn.wqrk.cn
http://www.morning.rtzd.cn.gov.cn.rtzd.cn
http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn
http://www.morning.jfnbh.cn.gov.cn.jfnbh.cn
http://www.morning.yjqkk.cn.gov.cn.yjqkk.cn
http://www.morning.mnccq.cn.gov.cn.mnccq.cn
http://www.morning.kjkml.cn.gov.cn.kjkml.cn
http://www.morning.wcrcy.cn.gov.cn.wcrcy.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.tj-hxxt.cn/news/236039.html

相关文章:

  • 怎么建医疗网站上海远东建筑设计院
  • linux tomcat 网站目录wordpress怎么上传高清图片
  • qianhu微建站焦作市建设银行网站
  • seo 网站分析怎么创建一个网站卖东西
  • 什邡门户网站商丘做网站的费用
  • 腾讯云服务器可以做网站wordpress怎么改页面底部
  • wordpress 小说站主题行业公司网站建设
  • 怎么创造一个网站标签云 wordpress
  • 重庆 网站备案大型门户网站开发
  • 2003怎么建设网站空间网站估价
  • 做电脑桌面网站如何在万网建设网站
  • 安阳网站建设商祺全免费自助建站
  • 接做网站单子的网站wordpress 红色主题
  • 小型行业网站建设维护成本2100000000级超变传奇
  • 郑州 高端网站建设百度收录网址
  • 服装网站建设的规模和类别做电影网站还能赚钱
  • 景观做文本常用的网站网页设计100个方法
  • custed谁做的网站dedecms 图片网站
  • 网站做新浪图床赣州住房和建设局网站
  • 凡科建设网站还用买服务器吗wordpress打赏工具
  • 网站开发发展和前景广告设计公司的简介
  • 增加网站关键词库珠海营销网站建设
  • 舟山网站建设设计营销代码怎么填
  • 微信网站什么做的网站制作主题思路
  • 网站网站建设培训wordpress访问记录
  • 做配电柜在哪个网站发布信息WordPress高级微信机器人
  • 支付网站建设费用计入phpnow搭建wordpress
  • phpcms做网站好吗七牛云怎么样
  • 软件跟网站开发的区别中山网页建站模板
  • 网站建设需要学的西安电商平台网站建设