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

十堰做网站排名怎么才能在百度上做引流呢

十堰做网站排名,怎么才能在百度上做引流呢,网页搜索代码,可以在什么网站做二建题目写在前面的话: 个人理解 根号分治本身就是一种卡着评测机过题的做法,所以非必要不要写 #define int long long !!! 本篇博客参考:暴力美学——浅谈根号分治 做到过两三题根号分治了,来总结一下…

写在前面的话:

个人理解 根号分治本身就是一种卡着评测机过题的做法,所以非必要不要写 #define int long long !!!


本篇博客参考:暴力美学——浅谈根号分治

做到过两三题根号分治了,来总结一下这个算法

与其说是算法,不如说是一种思维

根号分治的主要思路是,数据范围很大的时候(指不能接受 n 2 n^2 n2 复杂度,但可以接受 n n n\sqrt n nn 复杂度的情况,通常是 1 e 8 − 1 e 9 1e8-1e9 1e81e9),将数据分为两个部分,一个是小于 n \sqrt n n 的部分,一个是大于等于 n \sqrt n n 的部分,两个部分分别采用不同的处理方式:

  • 第一个部分(需要处理的间隔小的部分),使用技巧计算,例如前缀和等预处理算法
  • 第二个部分(需要处理的间隔大的部分),暴力计算

下面举例说明几个可以使用根号分治的场景

    • 数据结构
    • 数论

数据结构

来一道例题:F. Remainder Problem

题目意思是,给出一个长度为 5 e 5 5e5 5e5 的序列,初始值都是 0,给出 q 组操作,每组操作包括 op x y

  • op == 1 时,a[x] += y
  • op == 2 时,输出下标模 x 等于 y 的位置的值之和

我们可以想到两种做法:

  1. 暴力处理,第一个操作就直接加,复杂度 O ( 1 ) O(1) O(1),第二个操作就遍历一遍数组,复杂度 O ( n ) O(n) O(n),这样最坏的复杂度是 O ( n q ) O(nq) O(nq),T
  2. 利用二维数组预处理,b[i][j] 表示模 i 等于 j 的位置上的值之和,第一个操作就遍历更新 b[i][j],复杂度 O ( n ) O(n) O(n),第二个操作直接输出,复杂度 O ( 1 ) O(1) O(1),最坏的复杂度是 O ( n q ) O(nq) O(nq),T

那能不能把两者结合起来呢?

我们发现如果 x 比较大的话,暴力处理的第二个操作复杂度就不会太高,但是不能进行预处理(空间上不能接受),x 比较小的话,可以进行预处理,而暴力操作的复杂度就会比较高

说到这里就清楚啦:x 大就第一个做法,x 小就第二个做法,大小的分界线是什么呢?就是 n \sqrt n n

c o d e code code

#include <bits/stdc++.h>using namespace std;// #define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<int, char> PIC;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;
typedef pair<int, pair<int, bool>> PIIB;const int N = 5e5 + 10;
const int maxn = 710;
const int mod = 1e9 + 7;
const int mod1 = 954169327;
const int mod2 = 906097321;
const int INF = 0x3f3f3f3f3f3f3f3f;int a[N], b[710][710];void solve()
{int q;cin >> q;while (q -- ){int op, x, y;cin >> op >> x >> y;if (op == 1){a[x] += y;for (int i = 1; i < 700; i ++ ) b[i][x % i] += y;}else{if (x < 700) cout << b[x][y] << '\n';else{int res = 0;for (int i = y; i <= 5e5; i += x) res += a[i];cout << res << '\n';}}}
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t--){solve();}
}

数论

看这题:D. Two Arithmetic Progressions

题目给出这样的两个数列:

  • a 1 k + b 1 a_1k+b_1 a1k+b1
  • a 2 k + b 2 a_2k+b_2 a2k+b2

k > = 0 k>=0 k>=0

然后给出 [ l , r ] [l,\ r] [l, r],问这个区间里有多少数同时存在于上面的两个数列里( a 、 b a、b ab 的范围都是 2 e 9 2e9 2e9

我们还是想出两种办法:

  • k 从 0 开始,枚举第一个数列的数,直到找到一个在第二个数列里也出现的数(可以发现最多找 max(a1, a2) 次),之后每次加上循环节(也就是 a 1 a_1 a1 a 2 a_2 a2 的最小公倍数)即可
  • 枚举 a a a 值较大的数列,符合条件就答案+1,完全暴力

maxx = max(a1, a2)

  • 当 maxx 比较大的时候,数列里的值的数量就会比较少,可以通过枚举解决问题,但使用第一种方法就会T

  • 当 maxx 比较小的时候,枚举会T,但可以使用第一种找循环节的方法

所以通过这个进行根号分治,结束!

(其实这题的正解并不是根号分治,但是使用这种思想可以直接碾过去cf2500的题!!好爽ovo)

c o d e code code

#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<int, char> PIC;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;
typedef pair<int, pair<int, bool>> PIIB;const int N = 2e9;
const int maxn = 710;
const int mod = 1e9 + 7;
const int mod1 = 954169327;
const int mod2 = 906097321;
const int INF = 0x3f3f3f3f3f3f3f3f;void solve()
{int a1, b1, a2, b2, l, r;cin >> a1 >> b1 >> a2 >> b2 >> l >> r;int maxx = max(a1, a2);if (maxx < sqrt(N)) // 找最小公倍数{for (int i = 0; i <= maxx; i ++ ){int tmp = a1 * i + b1;if (abs(tmp - b2) % a2 == 0){int lcmm = lcm(a1, a2);int st = max({l, b1, b2});if (tmp < st){tmp += ((st - tmp) / lcmm + 1) * lcmm;tmp = st + (tmp - st) % lcmm;}else tmp = st + (tmp - st) % lcmm;if (tmp > r) continue;cout << (r - tmp) / lcmm + 1 << '\n';return;}}cout << 0 << '\n';}else // 暴力{int ans = 0;if (a1 < a2) swap(a1, a2), swap(b1, b2);for (int i = b1; i <= r; i += a1){if (i < l || i < b2) continue;if ((i - b2) % a2 == 0) ans ++ ;}cout << ans << '\n';}
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t--){solve();}
}
http://www.yidumall.com/news/1986.html

相关文章:

  • 徐州鼓楼区建设网站营销的主要目的有哪些
  • 网站建设要多少费用可以看任何网站的浏览器
  • 做装修的推广网站有那种网上推广的平台有哪些
  • 长春建设集团网站谷歌seo课程
  • 网站建设排行电商代运营一般收多少服务费
  • 手机做的兼职网站怎么办网站平台
  • 品牌升级策略seo案例分享
  • 建网站和开发网站广告公司
  • 怎样靠做网站赚钱品牌推广百度seo
  • 网站菜单模板长沙的seo网络公司
  • 深圳做网站公司华互联网营销课程体系
  • 电商网站设计方法360社区app
  • 外贸网站用什么语言百度收录批量查询工具
  • 学院网站怎么做的百度商店应用市场
  • 图表统计类手机网站开发云服务器免费
  • 网页版传奇工作室济南seo公司
  • 重庆游戏网站开发公司qq引流推广软件哪个好
  • 建设商城网站seo优化方案案例
  • 网站首页被降权怎么做电商网站链接买卖
  • 如何建设网站论坛百度建站官网
  • 做品牌网站找谁营销软件商城
  • 站外推广怎么做seo网上培训课程
  • 电子商务网站建设与维护试卷答案网站运营推广方式
  • 正品海外购网站有哪些互联网营销师培训
  • 泉州做网站建设经典模板网站建设
  • 做网站需要用到什么谷歌seo 外贸建站
  • 工信和信息化部网站网络优化工程师
  • wordpress to微博关键词怎么优化到百度首页
  • 手机可以制作网站吗哈尔滨推广优化公司
  • photoshop网页版入口百度seo简爱