
算法
庄荣涛
C++蒟蒻一名
展开
-
环形染色问题
环形染色问题推导原创 2022-07-16 20:13:41 · 2355 阅读 · 0 评论 -
解二元一次方程组程序
解二元一次方程组程序#include<bits/stdc++.h>using namespace std;typedef long long LL;string fir, sec;struct equ { LL digit = 0; map<char, LL> mp;} cnt[3];char unk[3];int pos = 0;LL fz[3], fm[3];void change(string s, int bas) { bool isr = fals原创 2022-04-15 21:49:34 · 1640 阅读 · 4 评论 -
因式分解补充:分组分解法
1.基本方法① 提公因式法 ②公式法2.分组分解法例:①ax+bx+cx+ay+by+cy=x(a+b+c)+y(a+b+c)=(x+y)(a+b+c)②a2+2ab+b2-c2=(a2+2ab+b2)-c2=(a+b)2-c2=(a+b+c)(a+b-c)③x2-y2+ax+ay=(x2-y2)+(ax+ay)=(x+y)(x-y)+a(x+y)=(x+y)(x-y+a)如何分解:1.多项式有四项,不能直接提公因式:一、三分组(第2题),二、二分组(第3题)运用加原创 2022-03-30 10:25:27 · 617 阅读 · 0 评论 -
Kruskal算法代码
#include<bits/stdc++.h>using namespace std;int read() { int x = 0, f = 1; char c = getchar(); while(c<'0'|| c>'9') {if(c == '-') f = -1; c = getchar();} while(c >= '0' && c <= '9') x = (x << 3)+(x <<原创 2022-02-18 21:58:15 · 437 阅读 · 0 评论 -
线段树模板
线段树模板1.单点修改,区间查询2.区间修改,区间查询1.单点修改,区间查询#include<bits/stdc++.h>#pragma GCC optimize (2, 3, "Ofast", "inline") //O2、O3优化typedef long long LL;const int N = 1e6 + 7;int a[N], n, q, l, r, op, d, f;LL tr[N<<2], add[N<<2];void build(int l原创 2022-01-28 15:34:31 · 564 阅读 · 0 评论 -
高精度阶乘模板
#include <bits/stdc++.h>using namespace std;string a = "1";int na[1000005], nb[1000005], sum[2000005], i;string mul(string a, string b) { memset(na, 0, sizeof na); memset(nb, 0, sizeof nb); memset(sum, 0, sizeof sum); string ans; for(int i =原创 2021-10-10 20:44:29 · 137 阅读 · 0 评论 -
洛谷P3383(线性筛素数)题解
线性筛素数题解0.题目1.暴力解法2.正解2.1 核心算法2.2 算法的实现2.3 上代码2.4 总体代码3. 终极优化3.1 压缩时间复杂度3.2 新的算法4.总结0.题目题目传送门1.暴力解法暴力筛取1~n之间的素数,然后O(q)输出。时间复杂度为O(nsqrtn),面对1<=108的数据,显然会超时。#include <bits/stdc++.h>using namespace std;int n, q, pr[5000005] = {0, 2}, cnt = 1;b原创 2021-10-10 18:09:35 · 517 阅读 · 0 评论 -
动态规划总结(10月3日集训)
动态规划总结1. 基础动态规划1.1 最长不下降序列2.背包问题2.1 01背包1.二维dp2.滚动数组3.降维(最好的方法)2.2 最长公共子序列2.3 编辑距离1. 基础动态规划1.1 最长不下降序列题目描述:输入n个数(1 <= n <= 104),输出最长不下降序列的长度。(1) 输出长度#include<bits/stdc++.h>using namespace std;const int N = 1007, INF = 1e9 + 7;int f[N];原创 2021-10-04 14:59:42 · 102 阅读 · 0 评论 -
CSP知识点(10月2日集训)
CSP知识点1. 基础知识1.1 引用(捆绑法)1.2 EOF1.3 快读函数1.4 格式化输入1.5 字符串输入1.6 数据类型2. 算法2.1 快速幂2.2 常用函数1. 基础知识1.1 引用(捆绑法)#include<cstdio>int a[20];int main () { int &x = a[1]; x = 9; printf("%d", a[1]); //输出9 return 0;}1.2 EOF(1) ctrl+z实现#include<原创 2021-10-02 15:38:28 · 1178 阅读 · 3 评论 -
二分查找总结
二分查找总结整形二分查找1. 在一个指定的区间内查找一个数2.在一个数组中查找一个数题目描述浮点型二分查找1.二分法求平方根题目描述整形二分查找1. 在一个指定的区间内查找一个数#include<bits/stdc++.h>using namespace std;int x, le, mx;int main() { cin >> le >> mx >> x; // 用二分查找从1~mx之间查找x for(int l = le, r = mx;l原创 2021-09-10 20:37:14 · 123 阅读 · 0 评论 -
【洛谷P1303】A*B Problem(C++)(挑战全网创新算法奖)
@原创 2021-07-10 09:22:08 · 474 阅读 · 1 评论