1、大学学习的算法
文章平均质量分 83
菜鸡的大学记录
写的不好,勿喷,很自卑
XDIGAS
你很懒,还没有添加简介
展开
-
Rabin-Karp(滚动哈希)算法
用处:s1="ABABABABAAAA", s2="ABA" , 求s2在s1中相等字符串的位置思路:假设子串的长度为M,目标字符串的长度为N 计算子串的hash值 计算目标字符串中每个长度为M的子串的hash值(共需要计算N-M+1次) 比较hash值 如果hash值不同,字符串必然不匹配,如果hash值相同,还需要使用朴素算法再次判断优化之处:...原创 2019-03-09 19:23:26 · 988 阅读 · 0 评论 -
结构体的内嵌排序函数
和外部cmp函数差不多,但速度会快一些 模板:struct root{ int x,y; bool operator<(const root &a)const{ return a.y>a.x; }};//两个变量的比较struct root{ int x,y; bool operator<(const root &a)const{ r...原创 2019-01-26 23:36:51 · 577 阅读 · 0 评论 -
快读+提升c++读入速度
快读(快速读入) +借鉴出处:@getchar()比scanf要快,故为了加快读入,可以用getchar()代替scanf 利用getchar()将数字读入,若为“ ”或”\n”结束,第一个字符判断一下数字的正负,然后每读入一个数字就将当前数*10并加上它 inline int read() { char ch = getchar(); int x...原创 2018-12-27 17:21:27 · 1781 阅读 · 0 评论 -
sort(对数字字符串的排序)
题目描述 设有 n个正整数 (n≤20),将它们联接成一排,组成一个最大的多位整数。 例如: n=3 时, 3 个整数 13 , 312 , 343 联接成的最大整数为: 34331213 又如: n=4 时, 4 个整数 7 , 13, 4 , 246 联接成的最大整数为: 7424613输入格式: 第一行,一个正整数 n。 第二行, n个正...原创 2018-07-30 15:28:55 · 2893 阅读 · 0 评论 -
C++ STL中map的基本操作函数
头文件:#include<map> 声明:map是一种【关键字】对【值】的关联式容器map<string,int> ma1;map<string,string> ma2;map<int,string> ma3;map<char,int> ma4;begin() 返回指向map头部的迭代器 end...原创 2019-01-21 22:07:47 · 505 阅读 · 0 评论 -
杭电ACM2072 不同单词个数
题目:点击打开链接翻译+转载链接:点击打开链接 和 点击打开链接心得:不得不说对于我这个菜鸡来说真的有点难啊,不过我又学到了一个新知识,值得庆贺。坑:不同单词数。大神的代码:(两种方法) /*#include<bits/stdc++.h>using namespace std;int main(){ string str,temp; set<st...转载 2018-05-08 20:48:08 · 1384 阅读 · 0 评论 -
杭电刷题步骤
文章转载链接:点击打开链接欢迎关注大佬博客:点击打开链接C和指针课后练习题总结:点击打开链接poj题目分类:点击打开链接今天无意之间看到了一篇博客,大佬真的是太6了,终于有一个刷题步骤了,以备刷题//纯转载以备自己查看 第一阶段:入门一.输入输出练习(2天,10题) 1000、1089—1096、1001二.简单操作:(2—4天,12题) ...转载 2018-05-03 16:49:25 · 5465 阅读 · 0 评论 -
substr (C++)
substr是C++语言函数 主要功能是复制子字符串:要求从指定位置开始,并具有指定的长度。 如果没有指定长度或超出了源字符串的长度,则子字符串将延续到源字符串的结尾。 具体用法: #include<iostream>using namespace std; int main(){ string s;cin>>s; cout<<s...原创 2019-02-17 17:02:21 · 3591 阅读 · 0 评论 -
蓝桥杯 算法训练 审美课
借鉴出处:https://blog.csdn.net/qq_42835910/article/details/87207904(⊙﹏⊙),自己暴力模拟得了70分(自己太菜)用处:【加深对map的理解】问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品, 另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是 老师自己并没...翻译 2019-02-14 12:35:56 · 1482 阅读 · 0 评论 -
C++的string.erase()
借鉴出处:URLone:#include<bits/stdc++.h>using namespace std;int main(){ string s;cin>>s; s.erase(0,3); cout<<s;}//输入:dgsdjc 输出:djcs.erase(l,r);//删除l 以后的 r-1个字符 s.erase(3,...原创 2019-01-30 17:42:01 · 658 阅读 · 0 评论 -
求字符串数组的长度
#include<bits/stdc++.h>using namespace std;string a[]={"1","2","3","4","5","6"};int main(){ int len=sizeof(a)/sizeof(a[0]); cout<<len; return 0;}原创 2019-02-24 15:10:23 · 1929 阅读 · 0 评论 -
蓝桥杯(简单算法模板)
一些进制,日期的计算方法电脑带的计算器也是很实用的bitset求二进制的函数#include<iostream>#include<bitset>using namespace std;int main(){ int n,m; while(cin>>n>>m){ bitset<8> t(n);...原创 2019-03-17 13:29:15 · 2318 阅读 · 2 评论 -
C++中栈的用法
简单记忆,具体详细见:https://blog.csdn.net/qq_20366761/article/details/70053813c++栈的方法的基本用法: push(): 向栈内压入一个成员; pop(): 从栈顶弹出一个成员; empty(): 如果栈为空返回true,否则返回false; top(): 返回栈顶,但不删除成员; size(): 返回栈内元素的大小;...翻译 2018-07-19 11:56:24 · 13212 阅读 · 0 评论 -
C++中的find函数用法
大部分借鉴出处:(~ ̄▽ ̄)~问题来源的题目:洛谷题目:统计字符数解题代码:#include<iostream>#include<string>using namespace std;string s1,s2;int ans=0,pos=-1;int main(){ getline(cin,s1); getline(cin,s2); s1.i...翻译 2018-07-20 11:27:56 · 1708 阅读 · 0 评论 -
1-n的全排列(DFS)
算法复杂度:n!;//记录自己的进步——具体思路:用两个数组:一个数组存排好的排列,另外一个数组记录是否用过了这个值 核心代码 for(int i=1;i<=n;i++){ if(book[i]==0){//没有用到这个值 a[step]=i;//将这个值传到a数组里面 book[i]=1;//标记一下这个值已经用到了; dfs(step+1);//继续寻找...原创 2018-05-10 10:42:43 · 1167 阅读 · 0 评论