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

一个网站做无限关键词精准的搜索引擎优化

一个网站做无限关键词,精准的搜索引擎优化,镇江网络营销外包,wordpress+dux+高亮一.算法题总结 1. 解题思路:对于这个题,我最开始想到就是二分,但是头痛的是有三个解,如果我在-100到100之间二分,那么只能得出一个解,然后我就想了一下,这个要求精度,那么0.01这么小…

一.算法题总结

1.

 解题思路:对于这个题,我最开始想到就是二分,但是头痛的是有三个解,如果我在-100到100之间二分,那么只能得出一个解,然后我就想了一下,这个要求精度,那么0.01这么小,好像可以在0-1之间或者-1-1之间二分,然后我就觉得好像可以遍历这俩百个格子,每个格子长度为一,进行二分求解

#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;double a, b, c, d;
double f(double x) {return a * x * x * x + b * x * x + c * x + d;
}int main() {cin >> a >> b >> c >> d;int ans = 0;for (int i = -100; i < 100; i++) {if (ans == 3)break;double l = i;double r = i + 1;double f1 = f(l);double f2 = f(r);if (f1 == 0) {ans++;printf("%.2f ", l);continue;}if (f1 * f2 < 0) {while (r - l >= 0.001) {double mid = (l + r) / 2;if (f(mid) * f(l) <= 0)r = mid;elsel = mid;}printf("%.2f ", l);ans++;}}return 0;
}

2.

解题思路:对于这个题,我写过Section I,所以就看出了要用贪心, 但在这个贪心要怎么用呢,也没给我个具体的数,让区间的和小于某个数,这个时候,我想起了二分,用二分来猜数的大小,而这个数的大小,就是看这个区间的是否大于它,这就可以贪心了

#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;bool isPossible(int mid, const vector<int>& nums, int m) {int count = 1;int current_sum = 0;for (int num : nums) {if (current_sum + num <= mid) {current_sum += num;}else {current_sum = num;count++;if (count > m) {return false;}}}return true;
}int main() {int n, m;cin >> n >> m;vector<int> nums(n);int max_num = 0;int total_sum = 0;for (int i = 0; i < n; ++i) {cin >> nums[i];max_num = max(max_num, nums[i]);total_sum += nums[i];}int left = max_num;int right = total_sum;int answer = total_sum;while (left <= right) {int mid = left + (right - left) / 2;if (isPossible(mid, nums, m)) {answer = mid;right = mid - 1;}else {left = mid + 1;}}cout << answer << endl;return 0;
}

3.

解题思路:今天写的最难的一个题,其实怪自己眼挫,没注意到(尽可能让前面的人少抄),其实这个题的本质也是贪心+二分,我就是这么写的,思路和上面的题一样,但是一直只能过4个,然后看了一下别人的题解,发现漏了个条件(尽可能让前面的人少抄),有了这个以后,那就反过来在对答案抄一边就行了

#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;int m, k;
struct lr {ll l, r;
};
vector<lr> len;bool check(ll x, vector<ll>& nums) {ll sum = 0;int cnt = 1;vector<lr> temp;lr current; current.l = 1;for (int i = 1; i <= m; i++) {if (nums[i] > x) return false;if (sum + nums[i] <= x) {sum += nums[i];} else {current.r = i - 1;temp.push_back(current);cnt++;sum = nums[i];current.l = i;}if (cnt > k) return false;}current.r = m;temp.push_back(current);if (cnt == k) {len = temp;return true;}return cnt<=k;
}void check2(ll x, vector<ll>& nums) {ll sum = 0;int cnt = 1;vector<lr> temp;lr current; current.r = m;for (int i = m; i >= 1; i--) {if (sum + nums[i] <= x) {sum += nums[i];} else {current.l = i + 1;temp.push_back(current);cnt++;sum = nums[i];current.r = i;}}current.l = 1;temp.push_back(current);reverse(temp.begin(), temp.end());len = temp;
}int main() {cin >> m >> k;vector<ll> nums(m + 1);ll left = 0, right = 0;for (int i = 1; i <= m; i++) {cin >> nums[i];right += nums[i];if (nums[i] > left) left = nums[i];}ll ans = right;while (left <= right) {ll mid = (left + right) / 2;if (check(mid, nums)) {ans = mid;right = mid - 1;} else {left = mid + 1;}}// 确保前面的人尽可能少抄写check2(ans, nums);for (int i = 0; i < k; i++) {cout << len[i].l << " " << len[i].r << endl;}return 0;
}
http://www.dtcms.com/wzjs/270971.html

相关文章:

  • 阿里云网站建设的功能微信推广引流方法
  • 自己做的网站怎么放视频网站推广的概念
  • 装修队做网站免费seo教程资源
  • 网站建设优化推广靠谱怎么去做网络推广
  • wordpress媒体库文件泰州seo公司
  • 在阿里云做视频网站需要什么条件网课培训机构排名前十
  • 网站建设电子书百度一下主页官网
  • 做网站哪些好seo常用工具网站
  • 杭州集团网站建设方案2021年网络营销考试题及答案
  • 推广游戏网站怎么做网页设计软件有哪些
  • 棋盘网站开发注册网址
  • 网站优化的优势企业网站搭建
  • 电子商城网站制作广州seo外包多少钱
  • 宣传片制作公司有哪些类型莫停之科技windows优化大师
  • 国外注册网站做百度seo网络营销师有前途吗
  • 万网网站需要的步骤国家市场监管总局
  • 云南做网站公司市场营销策划方案案例
  • 网站怎么做内容营销推广手段有什么
  • 哪个网站做分享赚佣金百度sem推广具体做什么
  • soho需要建网站吗企业网站多少钱一年
  • 自己做的网站显示iis7爱站网站长工具
  • 称多县网站建设公司五年级下册数学优化设计答案
  • 网站开发竞价单页论坛平台
  • 如何做网站嵌入腾讯地图网站客服
  • wordpress图片剪切合肥seo整站优化
  • 万网制作网站吗太原seo排名优化软件
  • 客户管理系统admin威海百度seo
  • 做网站 视频加载太慢网络营销所学课程
  • 自适应网站建设公司优化网站内容的方法
  • 手机应用开发平台长沙seo优化推广