Part 1.训练题题解 寒假算法训练(二)字符串算法 #Algo0201. 【模板】字符串哈希 题目描述 题目需要求出给定字符串中是否有重复的,利用桶存储字符串的Hash,并判断该Hash是否存在。 char s[2001]; int n,ans; const int N=100005; int a[43961944]; struct Hash { const int Mod1=…
题目链接:https://codeforces.com/contest/1931 A. Recovering a Small String 难度:800 将a记为1,b记为2,以此类推。给出一个3-78之间的一个数,求出一个字典序最小的3个字母,使得这3个字母相加等于给定的数。 int t,x,a,b,c; int main() { // ios::sync_with_stdio(0),cin.t…
#Algo0201. 【模板】字符串哈希 题目描述 题目需要求出给定字符串中是否有重复的,利用桶存储字符串的Hash,并判断该Hash是否存在。 char s[2001]; int n,ans; const int N=100005; int a[43961944]; struct Hash { const int Mod1=43961944,u1=131; int h1[…
线性回归输出的是连续值,适用于如预测房屋价格、气温、销售额等连续值的问题。 线性回归的基本要素 模型定义 假设输入有两个参数,分别为$x_1$和$x_2$,输出为一个数$y$。建立一个基于输入$x_1$和$x_2$来计算输出$y$的表达式,也就是模型(model)。 线性回归假设输出与各输入之间是线性关系: $$\hat{y}=x_1 w_1+x_2 w_2+b$$ 其中$w_1$和$w_2$是权…
Part 1.笔记 单调栈 模版 //以下所有将b[i]=q.top().second改为b[i]=q.top().first 即可得到元素的值而不是坐标。 //n为数组规模,默认下标从1开始 //数组a为原数组 //数组b为查找到的坐标(元素值) void findRMin(int n,int a[],int b[]) //寻找右边第一个比自己小的元素的坐标 { …
题目链接:https://codeforces.com/contest/1907 A. Rook 难度:800 根据输入,循环输出行和列并跳过棋子所在位置即可。 int t,a; char c; int main() { // ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); CI t; while (t--) { scanf("\n%c%d",&am…
#Algo0101. Look Up S 题目描述 本题为单调栈模版题。每头奶牛向右看,求出每只奶牛离她最近的仰望对象,也就是求出右边第一个大于自己的数。从右往左维护一个严格单增的单调栈即可。 int n,a[1000006],b[1000006]; stack<pair<int,int>> q; int main() { // ios::sync_with…
模版 #include<bits/stdc++.h> using namespace std; int n,m,k,x,y; int pre[200005]; int find(int x) //查找根 { if (x!=pre[x]) pre[x]=find(pre[x]); return pre[x]; } void merge(int a,…
模版 struct trie { int next[26]; //指向子节点节点的下标,默认值为0则表示没有子节点,并用0-25代表'a'-'z' int isEnd; //是否为一个单词的结尾 }tree[500005]; int inc; //最后一个分配的字典树下标,用于分配新的节点下标 int insert(string s) //插入单词 { int p=0; //临时指…
模版 //以下所有将b[i]=q.top().second改为b[i]=q.top().first 即可得到元素的值而不是坐标。 //n为数组规模,默认下标从1开始 //数组a为原数组 //数组b为查找到的坐标(元素值) void findRMin(int n,int a[],int b[]) //寻找右边第一个比自己小的元素的坐标 { stack<pair&…