三分法用来解决单峰单谷问题,经典二次函数型的变化时,可以使用三分优化当问题是解决一堆都是整数的问题时,较为简单,模板代码如下:1234567891011121314151617181920#include <iostream>using namespace std;//下面就是要寻找的二次函数型数组,目标是找到其中的最大值int a[10] = { 0, 3, 25, 21, 20, 14, 12, 7, 2, 1 };int main(){ int z = 0, y = 9; while (z <= y) { //三分,就是将区间尽量平均分成三份 int mid1 = z + (y - z) / 3; int mid2 = y - (y - z) / 3; //判断两者中的较大值,那么较小值的一方的元素都不可能是最大值,直接舍去 if (a[mid1] >= a[mid2]) y = mid2 - 1; else z = mid1 + 1; } //最终结果位置与二分类似 cout < ...
2025.6.5 补充!!!软件最新更新,无需使用任何外在浏览器(不用下载谷歌浏览器了),需要下载最新版软件,选择软件自带的内置浏览器即可正常使用!最新脚本软件:https://cdn.ocsjs.com/app/download/ocs-2.8.3-setup-win-x64.exe
2025.4.15 补充!!!这段时间按照下面操作仍无法使用解决方法,按照下面操作执行后运行页面后,页面右上角提示“脚本猫已关闭…”,点击管理扩展程序进入,将页面右上方开发者模式打开,并且将页面下方脚本猫的按钮也打开,然后关闭网页,重启软件即可恢复正常使用。
如果你要解决的软件不在下面这几个之中,请移步另一篇博文“自动刷题刷课”
必要说明1.网课脚本不要开倍速!有的会系统识别用时过短然后清理你的记录还要重新看!对于网课,脚本便利在于可以自动下集,也就是说可以开着挂一个晚上就刷好了。(当然有些水课没管就可以高倍速速通,可以自己试一下,一段时间后如果清零就老实不开倍速挂着)
2.题目练习脚本大多是依靠题库,而题库可能会出现有的题目没有,或者题库答案不准确,正确率无法保证!不同脚本正确率有的相差巨大,建议多试 ...
二分(手搓)一.找出第一个大于等于 x 的元素1234567891011121314151617181920212223#include <iostream>#include <algorithm>using namespace std;int a[200005];int main(){ int n, x; cin >> n >> x; for (int i = 1; i <= n; i++) cin >> a[i]; int z = 1, y = n; //核心代码 while (z <= y) { //这里其实mid = (z + y) / 2,而下面的写法是为了防止有时候爆int int mid = z + (y - z) / 2; //下面两个条件判断,哪个不取等,就输出哪个 if (a[mid] >= x) y = mid - 1; else z = mid + 1; } cout << z; //cout << y + 1 ...
六六表(自己瞎取的名字前言:之前好几次做到关于质数的构造题,在去年的新生菜鸟杯遇到,以及寒假集训也遇到很多次,没有方法,所以经常做不出,而且还要花很多时间。。。现在学到了六六表,一种打表方式,具体如下01 02 03 04 05 06
07 08 09 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 33 34 35 36
37 38 39 40 41 42
43 44 45 46 47 48
.................
上表的规律 2 的倍数:第二列和第四列 4 的倍数:第四列
3 的倍数:第三列和第六列 6 的倍数:第六列
所以所有的质数一定在第一列或者第五列中,也就是 6n+1 或者 6n-1
从中可以衍生互质问题例题
取余公式(a + b) % p = (a % p + b % p) % p
(a - b) % p = (a % p - b % p ) % p
(a * b) % p = (a % p * b % p) % p
快速幂利用倍增思想,当求解 a 的 b 次方时,代码如下
12345678910111213141516171819202122232425262728#include <iostream>using namespace std;using ll = long long;ll quik_pow(ll a, ll b){ //temp存放 a^1, a^2, a^3, a^4....... ll temp = a; ll ans = 1; while (b) { //判断b的二进制的最后一位是否为1,是1就算入总结果 if (b & 1) ans = ans * temp; //随着b的二进制右移逐渐递变 temp = temp * temp; //b的二进制右移(舍弃最后一位 b >>= 1; & ...
题目12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include <iostream>#include <queue>using namespace std;struct ty{ int z, y;}a[500005];int vis[500005];void xian(int f){ cout << f << ' '; if (a[f].z) xian(a[f].z); if (a[f].y) xian(a[f].y); return ;}void zhong (int f){ if (a[f].z) zhong(a[f].z); cout << f << ' '; if ( ...
由于 24 号正式开学,我在昨天晚上返校,从福建到湖北武汉,本一切顺利,但今天突然发现我的博客竟然上传博文的时候报错了?!!原因竟然是因为学校的防火墙阻断了我与 github 的 ssh,以下就是今天解决过程。
上传博文时出现如下图报错
在官网的常见报错中并没有找到对应的解决方法,之后上网查询得知:如果是在公司或学校网络,可能会存在防火墙或代理限制,阻止了 SSH 连接。
于是我在git bash中输入
1ssh -T git@github.com
出现报错如图所示
错误表明 SSH 连接被拒绝,通常是由于网络问题或 SSH 配置问题导致的。
这里更符合防火墙或代理限制,阻止了 SSH 连接(端口 22)的猜想。
于是开始尝试解决这个问题。
一.切换到 HTTPS 端口(443)GitHub 支持通过 HTTPS 端口(443)进行 SSH 连接。如果你的网络屏蔽了端口 22,可以尝试下面的方法(windows)
1.打开 SSH 配置文件:文件路径:C:\Users<你的用户名>.ssh\config。
如果文件不存在,可以手动创建
2.添加以下内容:123Host ...
八种排序三种 O(n ^ 2)的排序:冒泡,选择,插入
三种不基于比较的排序:桶,基数,计数
最后是:归并排序,快速排序
一.冒泡排序较简单,直接代码注释结合理解即可
1234567891011121314151617181920212223242526272829#include <iostream>using namespace std;int main(){ //给定乱序数组a int a[10] = { 1, 10, 4, 2, 3, 8, 5, 9, 7, 6 }; //这里令n = 10,方便给出通解 int n = 10; //两层循环,内层做从左到右遍历数组中未排序元素,并进行比较操作;外层每次去除已定序元素,限制下一次内循环排序范围。 //外循环一共循环n - 1次,因为每一次外循环结束可以定下一个元素的位置,到第n - 1次排序完成,就只剩下一个元素,自然不用再排序。 for (int i = 0; i < n - 1; i++) { //内循环 ...
656c44b1c7c16dae5f586f23bbdab775d186babcf6a25d72e87c31eb1e8c6400e040bfe869758d09d8e29b0e165b28dcf79b97efcb3c20735d7ae08683fac56f8379b50b4c403d9a88ffeebeba341e266e659fa1813b9d240f1abfe349e12d82c56c0d9c6a0021b43767a93a962b78c27da4409d7f13d305b89e3024bc8ff0a4745fc7471d3417015f81d90380e04c7ebfa5b755a2317543e482a75f8faf5b9621e5f668d936338a8fefbdf7c21496d584937e845f200ed0063162f3aff3bb181df8659f78e2563406f03e69f430762dc0dfebbebd91fe5d8cae8847303c049765c8c4a021f04ac212519594d1861fd79f1a42d7123101fe3 ...
656c44b1c7c16dae5f586f23bbdab775114cb202f985786565dc18bfe201b7fb6c557290edb9ffdb5b36416d704efb2f6915411d80a7b24615a09be21d3a01e3fe117ca75440f8736a1054fed131079c6b3251f39cb3ade19810606f61d5c16b8ca2542205aa3a0e0d834cb47ba6c454dacf8a9dfc3e9e2bcf9f0c70505940198bdfe5661fdbf35c9a82996e90bb20b1be9c97b871137f46dd87d61eacb6eb00abe06d69fd494069b12287288d51314a6364497889d8b44e4541a97d7e479523522e5195a7a7f675ecc70797803be85500fc5723b9cbc51f8c9dc4d1a5233e95cdf55c2baa060762587747c317d5ccfeb1631277db8834206 ...

