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

福州高端品牌网站建设外包做一个网站一般费用

福州高端品牌网站建设,外包做一个网站一般费用,做安装系统网站有钱赚吗,网站建设分享文章动态规划3.0 动态规划 - - - 简单多状态 dp 问题1. 按摩师(打家劫舍Ⅰ的变形)2. 打家劫舍Ⅱ3. 删除并获得点数4. 粉刷房子5. 买卖股票的最佳时机含冷冻期6. 买卖股票的最佳时机含手续费7. 买卖股票的最佳时机Ⅲ8. 买卖股票的最佳时机Ⅳ 动态规划 - - - 简单多状态 dp 问题 1. … 动态规划3.0 动态规划 - - - 简单多状态 dp 问题1. 按摩师(打家劫舍Ⅰ的变形)2. 打家劫舍Ⅱ3. 删除并获得点数4. 粉刷房子5. 买卖股票的最佳时机含冷冻期6. 买卖股票的最佳时机含手续费7. 买卖股票的最佳时机Ⅲ8. 买卖股票的最佳时机Ⅳ 动态规划 - - - 简单多状态 dp 问题 1. 按摩师(打家劫舍Ⅰ的变形) 题目链接 - Leetcode -面试题 17.16.按摩师 Leetcode -面试题 17.16.按摩师 题目一个有名的按摩师会收到源源不断的预约请求每个预约都可以选择接或不接。 在每次预约服务之间要有休息时间因此她不能接受相邻的预约。给定一个预约请求序列替按摩师找到最优的预约集合总预约时间最长返回总的分钟数。 注意本题相对原题稍作改动 示例 1 输入[1, 2, 3, 1] 输出 4 解释 选择 1 号预约和 3 号预约总时长 1 3 4。 示例 2 输入[2, 7, 9, 3, 1] 输出 12 解释 选择 1 号预约、 3 号预约和 5 号预约总时长 2 9 1 12。 示例 3 输入[2, 1, 4, 5, 3, 1, 1, 3] 输出 12 解释 选择 1 号预约、 3 号预约、 5 号预约和 8 号预约总时长 2 4 3 3 12。 思路 状态表示假设我们以以前的经验用 dp[i] 表示选择到 i 位置时此时的最长预约时长但是我们这个题在 i 位置的时候会面临「选择」或者「不选择」两种抉择所依赖的状态需要细分 f[i] 表示选择到 i 位置时 nums[i] 必选此时的最长预约时长g[i] 表示选择到 i 位置时 nums[i] 不选此时的最长预约时长 状态转移方程因为状态表示定义了两个因此我们的状态转移方程也要分析两个 对于 f[i] 如果 nums[i] 必选那么我们仅需知道 i - 1 位置在不选的情况下的最长预约时长然后加上 nums[i] 即可因此 f[i] g[i - 1] nums[i] 对于 g[i] 如果 nums[i] 不选那么 i - 1 位置上选或者不选都可以。因此我们需要知道 i - 1 位置上选或者不选两种情况下的最长时长因此 g[i] max(f[i - 1], g[i - 1]) 返回值根据状态表示应该返回 max(f[n - 1], g[n - 1]) 代码如下 class Solution {public:int massage(vectorint nums) {int n nums.size();if(n 0) return 0;// f[i] 表示选择到 i 位置时 nums[i] 必选此时的最长预约时长// g[i] 表示选择到 i 位置时 nums[i] 不选此时的最长预约时长vectorint f(n), g(n);f[0] nums[0], g[0] 0;for(int i 1; i n; i){f[i] g[i - 1] nums[i];g[i] max(f[i - 1], g[i - 1]);}return max(f[n - 1], g[n - 1]);}};2. 打家劫舍Ⅱ 题目链接 - Leetcode -213.打家劫舍Ⅱ Leetcode -213.打家劫舍Ⅱ 题目你是一个专业的小偷计划偷窃沿街的房屋每间房内都藏有一定的现金。 这个地方所有的房屋都 围成一圈 这意味着第一个房屋和最后一个房屋是紧挨着的。 同时相邻的房屋装有相互连通的防盗系统如果两间相邻的房屋在同一晚上被小偷闯入系统会自动报警 。 给定一个代表每个房屋存放金额的非负整数数组计算你 在不触动警报装置的情况下 今晚能够偷窃到的最高金额。 示例 1 输入nums [2, 3, 2] 输出3 解释你不能先偷窃 1 号房屋金额 2然后偷窃 3 号房屋金额 2, 因为他们是相邻的。 示例 2 输入nums [1, 2, 3, 1] 输出4 解释你可以先偷窃 1 号房屋金额 1然后偷窃 3 号房屋金额 3。 偷窃到的最高金额 1 3 4 。 示例 3 输入nums [1, 2, 3] 输出3 提示 1 nums.length 1000 nums[i] 1000 思路这一个问题是「打家劫舍I」问题的变形。上一个问题是一个「单排」的模式这一个问题是一个「环形」的模式也就是首尾是相连的。但 是我们可以将「环形」问题转化为「两个单排」问题 偷第一个房屋时的最大金额 x 此时不能偷最后一个房子因此就是偷 [0, n - 2] 区间的房子不偷第一个房屋时的最大金额 y 此时可以偷最后一个房子因此就是偷 [1, n - 1] 区间的房子 两种情况下的「最大值」就是最终的结果。因此问题就转化成求「两次单排结果的最大值」 代码如下 class Solution {public:int rob1(vectorint nums){int n nums.size();vectorint f(n), g(n);f[0] nums[0], g[0] 0;for(int i 1; i n; i){g[i] max(g[i - 1], f[i - 1]);f[i] g[i - 1] nums[i];}return max(g[n - 1], f[n - 1]);}int rob(vectorint nums) {if(nums.size() 1) return nums[0];// 去除最后一个元素做一次打家劫舍Ⅰvectorint arr1(nums.begin() 1, nums.end());// 去除第一个元素做一次打家劫舍Ⅰvectorint arr2(nums.begin(), nums.end() - 1);// 取这两个的最大值即可return max(rob1(arr1), rob1(arr2));}};3. 删除并获得点数 题目链接 - Leetcode -740.删除并获得点数 Leetcode -740.删除并获得点数 题目给你一个整数数组 nums 你可以对它进行一些操作。 每次操作中选择任意一个 nums[i] 删除它并获得 nums[i] 的点数。之后你必须删除 所有 等于 nums[i] - 1 和 nums[i] 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 示例 1 输入nums [3, 4, 2] 输出6 解释 删除 4 获得 4 个点数因此 3 也被删除。 之后删除 2 获得 2 个点数。总共获得 6 个点数。 示例 2 输入nums [2, 2, 3, 3, 3, 4] 输出9 解释 删除 3 获得 3 个点数接着要删除两个 2 和 4 。 之后再次删除 3 获得 3 个点数再次删除 3 获得 3 个点数。 总共获得 9 个点数。 提示 1 nums.length 2 * 10^41 nums[i] 10^4 思路其实这道题依旧是「打家劫舍Ⅰ」问题的变型。我们注意到题目描述选择 x 数字的时候 x - 1 与 x 1 是不能被选择的像「打家劫舍」问题中选择 i 位置的金额之后就不能选择 i - 1 位置以及 i 1 位置的金额。 因此我们可以创建一个大小为 10001 根据题目的数据范围的 hash 数组将 nums 数组中每一个元素 x 累加到 hash 数组下标为 x 的位置处然后在 hash 数组上来一次「打家劫舍」即可。 代码如下 class Solution {public:int deleteAndEarn(vectorint nums) {const int N 10001;int hash[N] {0};for(const auto e : nums) hash[e] e;vectorint f(N), g(N);for(int i 1; i N; i){f[i] g[i - 1] hash[i];g[i] max(g[i - 1], f[i - 1]);}return max(f[N - 1], g[N - 1]);}};4. 粉刷房子 题目链接 - Leetcode -LCR 091.粉刷房子 Leetcode -LCR 091.粉刷房子 题目假如有一排房子共 n 个每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。 当然因为市场上不同颜色油漆的价格不同所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的正整数矩阵 costs 来表示的。 例如costs[0][0] 表示第 0 号房子粉刷成红色的成本花费costs[1][2] 表示第 1 号房子粉刷成绿色的花费以此类推。 请计算出粉刷完所有房子最少的花费成本。 示例 1 输入 : costs [[17, 2, 17], [16, 16, 5], [14, 3, 19]] 输出 : 10 解释 : 将 0 号房子粉刷成蓝色1 号房子粉刷成绿色2 号房子粉刷成蓝色。 最少花费 : 2 5 3 10。 示例 2 输入 : costs [[7, 6, 2]] 输出 : 2 提示 : costs.length ncosts[i].length 31 n 1001 costs[i][j] 20 思路 状态表示我们这个题在 i 位置的时候会面临「红」「蓝」「绿」三种抉择所依赖的状态需要细分 dp[i][0] 表示粉刷到 i 位置的时候最后一个位置粉刷上「红色」此时的最小花费dp[i][1] 表示粉刷到 i 位置的时候最后一个位置粉刷上「蓝色」此时的最小花费dp[i][2] 表示粉刷到 i 位置的时候最后一个位置粉刷上「绿色」此时的最小花费 状态转移方程因为状态表示定义了三个因此我们的状态转移方程也要分析三个 对于 dp[i][0] 如果第 i 个位置粉刷上「红色」那么 i - 1 位置上可以是「蓝色」或者「绿色」。因此我们需要知道粉刷到 i - 1 位置上的时候粉刷上「蓝色」或者「绿色」的最小花费然后加上 i 位置的花费即可。于是状态转移方程为 dp[i][0] min(dp[i - 1][1], dp[i - 1][2]) costs[i - 1][0] ; 同理我们可以推导出另外两个状态转移方程为 dp[i][1] min(dp[i - 1][0], dp[i - 1][2]) costs[i - 1][1] dp[i][2] min(dp[i - 1][0], dp[i - 1][1]) costs[i - 1][2] 返回值根据「状态表示」应该返回最后一个位置粉刷上三种颜色情况下的最小值因此需要返回min(dp[n][0], min(dp[n][1], dp[n][2])) 代码如下 class Solution {public:int minCost(vectorvectorint costs) {int n costs.size();// f[i] 表示这一次选红色 // g[i] 表示这一次选蓝色// h[i] 表示这一次选绿色vectorint f(n), g(n), h(n);f[0] costs[0][0], g[0] costs[0][1], h[0] costs[0][2];for(int i 1; i n; i){f[i] min(g[i - 1], h[i - 1]) costs[i][0];g[i] min(f[i - 1], h[i - 1]) costs[i][1];h[i] min(f[i - 1], g[i - 1]) costs[i][2];}return min(min(f[n - 1], g[n - 1]), h[n - 1]); }};5. 买卖股票的最佳时机含冷冻期 题目链接 - Leetcode -309.买卖股票的最佳时机含冷冻期 Leetcode -309.买卖股票的最佳时机含冷冻期 题目给定一个整数数组prices其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下你可以尽可能地完成更多的交易多次买卖一支股票 : 卖出股票后你无法在第二天买入股票(即冷冻期为 1 天)。 注意你不能同时参与多笔交易你必须在再次购买前出售掉之前的股票。 示例 1: 输入: prices [1, 2, 3, 0, 2] 输出 : 3 解释 : 对应的交易状态为 : [买入, 卖出, 冷冻期, 买入, 卖出] 示例 2 : 输入 : prices [1] 输出 : 0 提示 1 prices.length 50000 prices[i] 1000 思路 状态表示由于有「买入」「可交易」「冷冻期」三个状态因此我们可以选择用三个数组其中 dp[i][0] 表示第 i 天结束后处于「买入」状态此时的最大利润dp[i][1] 表示第 i 天结束后处于「可交易」状态此时的最大利润dp[i][2] 表示第 i 天结束后处于「冷冻期」状态此时的最大利润 状态转移方程我们要谨记规则 i. 处于「买入」状态的时候我们现在有股票此时不能买股票只能继续持有股票或者卖出股票 ii. 处于「卖出」状态的时候如果「在冷冻期」不能买入如果「不在冷冻期」才能买入 对于 dp[i][0] 我们有「两种情况」能到达这个状态 i. 在 i - 1 天持有股票此时最大收益应该和 i - 1 天的保持一致 dp[i - 1][0] ii. 在 i 天买入股票那我们应该选择 i - 1 天不在冷冻期的时候买入由于买入需要花钱所以此时最大收益为 dp[i - 1][1] - prices[i] 两种情况应取最大值因此 dp[i][0] max(dp[i - 1][0], dp[i - 1][1] - prices[i]) 。 对于 dp[i][1] 我们有「两种情况」能到达这个状态 i. 在 i - 1 天的时候已经处于冷冻期然后啥也不干到第 i 天此时对应的状态为dp[i - 1][2] ii. 在 i - 1 天的时候手上没有股票也不在冷冻期但是依旧啥也不干到第 i 天此时对应的状态为 dp[i - 1][1] 两种情况应取最大值因此 dp[i][1] max(dp[i - 1][1], dp[i - 1][2]) 对于 dp[1][i] 我们只有「一种情况」能到达这个状态 i. 在 i - 1 天的时候卖出股票。 因此对应的状态转移为 dp[i][2] dp[i - 1][0] prices[i] 初始化三种状态都会用到前一个位置的值因此需要初始化每一行的第一个位置 dp[0][0] 此时要想处于「买入」状态必须把第一天的股票买了因此 dp[0][0] -prices[0] dp[0][1] 啥也不用干即可因此 dp[0][1] 0 dp[0][2] 手上没有股票买一下卖一下就处于冷冻期此时收益为 0 因此 dp[0][2] 0 返回值应该返回「卖出状态」下的最大值因此应该返回 max(dp[n - 1][1], dp[n - 1][2]) 代码如下 class Solution {public:int maxProfit(vectorint prices) {int n prices.size();// dp[i][0] 表示第 i 天处于买入状态// dp[i][1] 表示第 i 天处于卖出状态// dp[i][2] 表示第 i 天处于冷冻期vectorvectorint dp(n, vectorint(3));dp[0][0] -prices[0];for(int i 1; i n; i){dp[i][0] max(dp[i - 1][1] - prices[i], dp[i - 1][0]);dp[i][1] max(dp[i - 1][2], dp[i - 1][1]);dp[i][2] dp[i - 1][0] prices[i];}return max(dp[n - 1][1], dp[n - 1][2]);}};6. 买卖股票的最佳时机含手续费 题目链接 - Leetcode -714.买卖股票的最佳时机含手续费 Leetcode -714.买卖股票的最佳时机含手续费 题目给定一个整数数组 prices其中 prices[i]表示第 i 天的股票价格 整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易但是你每笔交易都需要付手续费。如果你已经购买了一个股票在卖出它之前你就不能再继续购买股票了。 返回获得利润的最大值。 注意这里的一笔交易指买入持有并卖出股票的整个过程每笔交易你只需要为支付一次手续费。 示例 1 输入prices [1, 3, 2, 8, 4, 9], fee 2 输出8 解释能够达到的最大利润 : 在此处买入 prices[0] 1 在此处卖出 prices[3] 8 在此处买入 prices[4] 4 在此处卖出 prices[5] 9 总利润 : ((8 - 1) - 2) ((9 - 4) - 2) 8 示例 2 输入prices [1, 3, 7, 5, 10, 3], fee 3 输出6 提示 1 prices.length 5 * 10^41 prices[i] 5 * 10^40 fee 5 * 10^4 思路 状态表示由于有「买入」「可交易」两个状态因此我们可以选择用两个数组其中 f[i] 表示第 i 天结束后处于「买入」状态此时的最大利润g[i] 表示第 i 天结束后处于「卖出」状态此时的最大利润 状态转移方程我们选择在「卖出」的时候⽀付这个手续费那么在「买入」的时候就不用再考虑手续费的问题。 对于 f[i] 我们有两种情况能到达这个状态 i. 在 i - 1 天「持有」股票第 i 天啥也不干此时最大收益为 f[i - 1] ii. 在 i - 1 天的时候「没有」股票在第 i 天买入股票此时最大收益为 g[i - 1] - prices[i]) 两种情况下应该取最大值因此 f[i] max(f[i - 1], g[i - 1] - prices[i]) 对于 g[i] 我们也有两种情况能够到达这个状态 i. 在 i - 1 天「持有」股票但是在第 i 天将股票卖出此时最大收益为 f[i - 1] prices[i] - fee) 记得手续费 ii. 在 i - 1 天「没有」股票然后第 i 天啥也不干此时最大收益为 g[i - 1] 两种情况下应该取最大值因此 g[i] max(g[i - 1], f[i - 1] prices[i] - fee) 初始化由于需要用到前面的状态因此需要初始化第一个位置。 对于 f[0] 此时处于「买入」状态因此 f[0] -prices[0] 对于 g[0] 此时处于「没有股票」状态啥也不干即可获得最大收益因此 g[0] 0 返回值应该返回「卖出」状态下最后一天的最大值收益 g[n - 1] 代码如下 class Solution {public:int maxProfit(vectorint prices, int fee){int n prices.size();vectorvectorint dp(n, vectorint(2));dp[0][0] -prices[0];// dp[i][0] 表⽰第 i 天结束后处于「买⼊」状态此时的最⼤利润// dp[i][1] 表⽰第 i 天结束后处于「卖出」状态此时的最⼤利润for (int i 1; i n; i){dp[i][0] max(dp[i - 1][0], dp[i - 1][1] - prices[i]);dp[i][1] max(dp[i - 1][1], dp[i - 1][0] prices[i] - fee);}return dp[n - 1][1];}};7. 买卖股票的最佳时机Ⅲ 题目链接 - Leetcode -123.买卖股票的最佳时机Ⅲ Leetcode -123.买卖股票的最佳时机Ⅲ 题目给定一个数组它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意你不能同时参与多笔交易你必须在再次购买前出售掉之前的股票。 示例 1: 输入prices [3, 3, 5, 0, 0, 3, 1, 4] 输出6 解释在第 4 天股票价格 0的时候买入在第 6 天股票价格 3的时候卖出这笔交易所能获得利润 3 - 0 3 。 随后在第 7 天股票价格 1的时候买入在第 8 天 股票价格 4的时候卖出这笔交易所能获得利润 4 - 1 3 。 示例 2 输入prices [1, 2, 3, 4, 5] 输出4 解释在第 1 天股票价格 1的时候买入在第 5 天 股票价格 5的时候卖出, 这笔交易所能获得利润 5 - 1 4 。 注意你不能在第 1 天和第 2 天接连购买股票之后再将它们卖出。 因为这样属于同时参与了多笔交易你必须在再次购买前出售掉之前的股票。 示例 3 输入prices [7, 6, 4, 3, 1] 输出0 解释在这个情况下, 没有交易完成, 所以最大利润为 0。 示例 4 输入prices [1] 输出0 提示 1 prices.length 10^50 prices[i] 10^5 思路 状态表示由于有「买入」「可交易」两个状态因此我们可以选择用两个数组。但是这道题里面还有交易次数的限制因此我们还需要再加上一维用来表示交易次数。其中 f[i][j] 表示第 i 天结束后完成了 j 次交易处于「买入」状态此时的最大利润g[i][j] 表示第 i 天结束后完成了 j 次交易处于「卖出」状态此时的最大利润。 状态转移方程 对于 f[i][j] 我们有两种情况到这个状态 i. 在 i - 1 天的时候交易了 j 次处于「买入」状态第 i 天啥也不干即可。此时最大利润为 f[i - 1][j] ii. 在 i - 1 天的时候交易了 j 次处于「卖出」状态第 i 天的时候把股票买了。此时的最大利润为 g[i - 1][j] - prices[i] 综上我们要的是「最大利润」因此是两者的最大值 f[i][j] max(f[i - 1][j], g[i - 1][j] - prices[i]) 对于 g[i][j] 我们也有两种情况可以到达这个状态 i. 在 i - 1 天的时候交易了 j 次处于「卖出」状态第 i 天啥也不干即可。此时的最大利润为 g[i - 1][j] ii. 在 i - 1 天的时候交易了 j - 1 次处于「买入」状态第 i 天把股票卖了然后就完成了 j 笔交易。此时的最大利润为 f[i - 1][j - 1] prices[i] 。但是这个状态不⼀定存在要先判断⼀下 综上我们要的是最大利润因此状态转移方程为 g[i][j] g[i - 1][j]; if(j 1) g[i][j] max(g[i][j], f[i - 1][j - 1] prices[i]); 初始化由于需要用到 i 0 时的状态因此我们初始化第一行即可。 当处于第 0 天的时候只能处于「买入过一次」的状态此时的收益为 -prices[0] 因此 f[0][0] - prices[0] 为了取 max 的时候一些不存在的状态「起不到干扰」的作用我们统统将它们初始化为 -INF 用 INT_MIN 在计算过程中会有「溢出」的风险这里 INF 折半取 0x3f3f3f3f 足够小即可 返回值返回处于「卖出状态」的最大值但是我们也「不知道是交易了几次」因此返回 g 表最后一行的最大值。 代码如下 class Solution {public:int maxProfit(vectorint prices){const int INF 0x3f3f3f3f; // 整型最大的一半足够大int n prices.size();// 为了防止不存在的状态影响 max 的取值初始化为整型最大值的一半的负数即足够小vectorvectorint f(n, vectorint(3, -INF));vectorvectorint g(n, vectorint(3, -INF));f[0][0] -prices[0], g[0][0] 0;// f[i][j] 表示第 i 天结束后完成了 j 次交易处于「买⼊」状态此时的最⼤利润// g[i][j] 表示第 i 天结束后完成了 j 次交易处于「卖出」状态此时的最⼤利润。for (int i 1; i n; i){for (int j 0; j 3; j){f[i][j] max(f[i - 1][j], g[i - 1][j] - prices[i]);if (j 1) g[i][j] max(g[i - 1][j], f[i - 1][j - 1] prices[i]);else g[i][j] g[i - 1][j];}}int ret 0;for (int i 0; i 3; i) ret max(ret, g[n - 1][i]);return ret;}};8. 买卖股票的最佳时机Ⅳ 题目链接 - Leetcode -188.买卖股票的最佳时机Ⅳ Leetcode -188.买卖股票的最佳时机Ⅳ 题目给你一个整数数组 prices 和一个整数 k 其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说你最多可以买 k 次卖 k 次。 注意你不能同时参与多笔交易你必须在再次购买前出售掉之前的股票。 示例 1 输入k 2, prices [2, 4, 1] 输出2 解释在第 1 天(股票价格 2) 的时候买入在第 2 天(股票价格 4) 的时候卖出这笔交易所能获得利润 4 - 2 2 。 示例 2 输入k 2, prices [3, 2, 6, 5, 0, 3] 输出7 解释在第 2 天(股票价格 2) 的时候买入在第 3 天(股票价格 6) 的时候卖出, 这笔交易所能获得利润 6 - 2 4 。 随后在第 5 天(股票价格 0) 的时候买入在第 6 天(股票价格 3) 的时候卖出, 这笔交易所能获得利润 3 - 0 3 。 提示 1 k 1001 prices.length 10000 prices[i] 1000 思路本题思路与上题思路类似只是上题最多可以交易两次本题是可以交易 k 次所以在代码上稍作修改即可 代码如下 class Solution {public:int maxProfit(int k, vectorint prices){const int INF 0x3f3f3f3f;int n prices.size();vectorvectorint f(n, vectorint(k 1, -INF)), g(n, vectorint(k 1, -INF));f[0][0] -prices[0], g[0][0] 0;// f[i][j] 表示第 i 天结束后进行了 j 次交易此时处于买入状态此时的最大利益// g[i][j] 表示第 i 天结束后进行了 j 次交易此时处于卖出状态此时的最大利益 for (int i 1; i n; i){for (int j 0; j k 1; j){f[i][j] max(f[i - 1][j], g[i - 1][j] - prices[i]);if (j 1) g[i][j] max(g[i - 1][j], f[i - 1][j - 1] prices[i]);else g[i][j] g[i - 1][j];}}int ret 0;for (int i 0; i k 1; i) ret max(ret, g[n - 1][i]);return ret;}};
http://www.pierceye.com/news/52711/

相关文章:

  • 云服务器可以放几个网站网站流量seo
  • 大连网站化妆品网站优化
  • 网站 一般 用什么空间网站制作 flash 修改
  • 西部数码网站助手网站建设网站制作网页
  • 外贸电子商务网站建设平台在哪个网站做简历比较好
  • 广州沙河一起做网站服务号 wordpress
  • 电影网站怎么做的海口网站制作策划
  • 点了网站域名会跳转一个服务器下怎么做两个网站吗
  • 中国建设银行个人信息网站用手机制作动画的app
  • 做图表的网站推荐网站建设自己能做吗
  • 北京网站建设出名 乐云践新音乐网站如何建设
  • 厦门房地产网站建设工会网站建设的重要性
  • 重庆网站建设重庆网站建设公司网站建设网站建设劳务协议
  • 宁波网站设计价格wordpress域名绑定
  • 做公司网站,哪个程序用的多wordpress根据用户显示文章
  • 中山市小榄新意网站设计有限公司投资理财产品的网站建设
  • 制作网站怎么制作如何用图片文字做网站
  • 桂林旅游网站制作公司wordpress 菜单编辑
  • 网站5建设需要学什么网站建设软硬件要求
  • 绍兴网站建设公司地址黄骅贴吧超市转租
  • 设计理念网站网站建设实训分析总结
  • 黔江网站建设自己做网站需要的技术
  • 河南网站建设企业网站开发查询
  • 美团网站建设西安网站优化效果
  • 网站必须做可信认证微信网站图片链接怎么做
  • 电商网站建设基础ppt移动网站seo
  • 建设交易平台网站多少钱新龙华网站建设
  • linux 做网站深圳瑞捷成立新公司
  • 营销智库网站厦门专业网站建设
  • 北京做网站公司推荐山东省建设工程造价管理协会网站