高精度快速幂
高精度快速幂 求解 \(n^k \bmod p\),其中 \(0\le n,k \le 10^{1000000},\ 1\le p \le 10^9\)。容易发现 \(n\) 可以直接取模,瓶颈在于 \(k\) See。 魔改十进制快速幂(暴力计算) 该算法复杂度 \(\mathcal O({\tt len}(k))\) 。 int mypow10(int n, vector<int> k, int…...
smartproxy API 代理—构建一体化可观测与可回滚体系 - Smart
smartproxy API 代理——控制平面 + 策略治理,构建一体化可观测与可回滚体系 面向中大型技术团队与企业技术决策者,以”控制平面+策略治理”为核心架构,提供统一接入、统一治理、统一可观测的 API 代理能力。我们将稳定性与性能作为首要目标,帮助团队在全球多区域场景下显著…...
快读
快读 注意读入到文件结尾才结束,直接运行会无输出。 char buf[1 << 21], *p1 = buf, *p2 = buf; inline char getc() {return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? 0 : *p1++; } template<typename T> voi…...
我爱学算法之—— 模拟(下) - 教程
我爱学算法之—— 模拟(下) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important;…...
int128 输入输出流控制
int128 输入输出流控制 int128 只在基于 \(\tt Lumix\) 系统的环境下可用,需要 \(\tt C++20\) 。38位精度,除输入输出外与普通数据类型无差别。该封装支持负数读入,需要注意 write 函数结尾不输出多余空格与换行。 namespace my128 { // 读入优化封装,支持__int128using i6…...
cout 输出流控制
cout 输出流控制 设置字段宽度:setw(x) ,该函数可以使得补全 \(x\) 位输出,默认用空格补全。 bool Solve() {cout << 12 << endl;cout << setw(12) << 12 << endl;return 0; }设置填充字符:setfill(x) ,该函数可以设定补全类型,注意这里的…...
约瑟夫问题
约瑟夫问题 \(n\) 个人编号 \(0,1,2…,n-1\) ,每次数到 \(k\) 出局,求最后剩下的人的编号。 \(\mathcal O(N)\) 。 int jos(int n,int k){int res=0;repeat(i,1,n+1)res=(res+k)%i;return res; // res+1,如果编号从1开始 }\(\mathcal O(K\log N)\) ,适用于 \(K\) 较小的情况…...
日期换算(基姆拉尔森公式)
日期换算(基姆拉尔森公式) 已知年月日,求星期数。 int week(int y,int m,int d){if(m<=2)m+=12,y--;return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1; }...
博弈1
巴什博奕有 \(N\) 个石子,两名玩家轮流行动,按以下规则取石子: 规定:每人每次可以取走 \(X(1 \le X \le M)\) 个石子,拿到最后一颗石子的一方获胜。 双方均采用最优策略,询问谁会获胜。两名玩家轮流报数。 规定:第一个报数的人可以报 \(X(1 \le X \le M)\) ,后报数的人…...
postgresql查询数据sql无法使用到索引
如图,刚做过数据迁移将postgresql14中的数据及表迁移到了kingbase数据库中,但发现查询数据在一定范围内内匹配到索引,超过之后就是全表扫描 解决方法:VACUUM ANALYZE sc_surface_water_hour 在 PostgreSQL 中,VACUUM ANALYZE sc_surface_water_hour; 是一个组合命令…...
博弈2
威佐夫博弈有两堆石子,给出每一堆的石子数量,两名玩家轮流行动,每人每次任选以下规定的一种操作石子:任选一堆,取走正整数颗石子; 从两队中同时取走正整数颗石子。拿到最后一颗石子的一方获胜。双方均采用最优策略,询问谁会获胜。以下局面先手必败: \(\pmb{ (1, 2), (3…...
sg
SG 游戏(有向图游戏) 我们使用以下几条规则来定义暴力求解的过程:使用数字来表示输赢情况,\(0\) 代表局面必败,非 \(0\) 代表存在必胜可能,我们称这个数字为这个局面的SG值; 找到最终态,根据题意人为定义最终态的输赢情况; 对于非最终态的某个节点,其SG值为所有子节点…...
后缀数组 SA
后缀数组 SA 以 \(\mathcal O(N)\) 的复杂度求解。 struct SuffixArray {int n;vector<int> sa, rk, lc;SuffixArray(const string &s) {n = s.length();sa.resize(n);lc.resize(n - 1);rk.resize(n);iota(sa.begin(), sa.end(), 0);sort(sa.begin(), sa.end(), [&am…...
Day3综合案例一:个人简介
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>个人简介</title> </head> <b…...
自动机
AC 自动机 定义 \(|s_i|\) 是模板串的长度,\(|S|\) 是文本串的长度,\(|\Sigma|\) 是字符集的大小(常数,一般为 \(26\)),时间复杂度为 \(\mathcal O(\sum|s_i|+|S|)\) 。 // Trie+Kmp,多模式串匹配 struct ACAutomaton {static constexpr int N = 1e6 + 10;int ch[N][26]…...
标注工具--抹除目标
恩,chatgpt帮我写的标注抹除的工具 import cv2 import numpy as np import argparse import os """ 左键拖动 框选区域 左键单击 粘贴选区 z 撤销上一次操作 c 取消当前选区 s 手动保存 n 自动保存当前 → 加载下一张(若存在 _edited.jpg 优先) p 自动保存当…...
Z函数(扩展 KMP)
Z函数(扩展 KMP) 获取字符串 \(s\) 和 \(s[i,n-1]\) (即以 \(s[i]\) 开头的后缀)的最长公共前缀(LCP)的长度,总复杂度 \(\mathcal O(N)\)。 vector<int> zFunction(string s) {int n = s.size();vector<int> z(n);z[0] = n;for (int i = 1, j = 1; i < n…...
字符串哈希
字符串哈希 双哈希封装 随机质数列表:1111111121、1211111123、1311111119。 const int N = 1 << 21; static const int mod1 = 1E9 + 7, base1 = 127; static const int mod2 = 1E9 + 9, base2 = 131; using U = Zmod<mod1>; using V = Zmod<mod2>; vector…...
1024程序员节福利!参与互动,5分钟赢好礼!
Hi 程序员朋友们! 敲得了代码,扛得住需求,也该在 1024 这个专属节日里,给自己拆份“技术人专属福利”啦~ 作为深耕开源数据库的 IvorySQL,今年 1024 不想搞复杂玩法——2 种方式,轻松参与,即可获得 IvorySQL 周边礼品以及技术书籍。开源爱好者、数据库玩家、职场程序员…...
马拉车
马拉车 \(\mathcal O(N)\) 时间求出字符串的最长回文子串。 string s; cin >> s; int n = s.length(); string t = "-#"; for (int i = 0; i < n; i++) {t += s[i];t += #; } int m = t.length(); t += +; int mid = 0, r = 0; vector<int> p(m); for…...
