没格式就没格式了吧(。ì _ í。)
#include <iostream>
#include <algorithm>
#include <string.h>
#include <ctype.h>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
using namespace std;
加速输入输出:
cin.tie(nullptr);//输入!
cout.tie(nullptr);
std::ios::sync_with_stdio(false);//加速cin读入全局变量的数组最多开:int a[2e4]2e4]
读入优化:
inline int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
输出优化:
inline void write(int x)
{if(x<0){putchar('-');x=-x;}if(x>9)write(x/10);putchar(x%10+'0');//对应的char值
}
__int128的读入和输出
inline __int128 read()
{__int128 x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}inline void write(__int128 x)
{if(x<0){putchar('-');x=-x;}if(x>9)write(x/10);putchar(x%10+'0');
}int main()
{__int128 a = read();write(a);return 0;
}int main() {EOF不是char类型的;2月平年28天,闰年29天。闰年:(能被4整除,但不能被100整除) or (能被400整除)1s可以运行10 ^ 7~10 ^ 8次int 稍大于2e+9;long long9e+18;unsigned long long1e+19;const double pi = acos(-1.0);//真正的pi值floor(sqrt(x) + 0.5);//四舍五入向下取整double a = 1.2323232;int x = 4;printf("%.*f", x, a);//控制输出的小数位数int a[20][20], b[20][20];memcpy(a, b, sizeof(b));//把b数组复制到a中long long  a[10],b[10];memcpy(a,b,sizeof(long long)*10);int abc = 123, de = 45, x = 6, y = 8, z = 9;char buf[20];sprintf(buf, "%d%d%d%d%d", abc, de, x, y, z);//buf的内容:12345689 长度为8string s;getline(cin, s);int h, m, s, d = 0;sscanf(s.c_str(), "%d:%d:%d (%d)", &h, &m, &s, &d);//蓝桥时差那道题的读入,要从字符数组读入if (strchr(buf, '1') != NULL)//在字符数组buf中查找单个字符int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};reverse(a, a + 10);//此时a[]={9,8,7,6,5,4,3,2,1,0};int b =[10];reverse_copy(a, a + 10, b);//把逆转后的结果放入b数组中//<ctype.h>头文件下的if (isalpha(int c));//是字母if (isdigit(int c));//是数字if (islower(int c));//是小写字母if (isupper(int c));//是大写字母toupper(intc);//转成大写tolower(intc);//转成小写string s = "ABSCD";transform(s.begin(), s.end(), s.begin(), ::tolower);//注意前面是三个参数,两个s.begin(),后面的tolower没有括号printf("%d %o %x", 10, 10, 10);//十进制10、八进制12、十六进制a精度问题时eps = 1e-6;特殊读入的四种常用方法:1.while(!cin.eof())2.string s;while (getline(cin, s))3.strings1, s2, ss;while (getline(cin, s1)) {stringstream ss(s1);//速度很慢while (s1 >> s2)....}4.while(getchar())struct node//结构体内的模版化操作{int x, y;node(int x = 0, int y = 0) : x(x), y(y) {}friend bool operator<(node a, node b)return a.x<b.x;};int a[5] = {1, 2, 4, 6, 7};//二分实现,所以要求数组要有序!!,不存在则返回end(),也可用于vetcor、map等容器中lower_bound(a, a + 5, 6) - a;//返回第一个大于等6的数的下标upper_bound(a, a + 5, 3) - a;//返回第一个大于3的数的下标//拓展lower_bound(a, a + 5, 5, greater<int>()) - a;//第一个小于等于5upper_bound(a, a + 5, 5, greater<int>()) - a;//第一个小于5int a[5] = {3, 2, 5, 1, 6};sort(a, a + 5, greater<int>());//降序set<int, greater<int> > a;//默认降序排列priority_queue<int, vector<int>, greater<int> > q;priority_queue<int, vector<int>, cmp> q;//再单独写个函数int a[10],b[10][10];fill(a, a + 10, 233);fill(b[0],b[0]+10*10,233);vector<int> a(10);//指定变长数组的大小a.resize(11);//改变vector容器的大小map<key, value> m;m.count(key);//key出现的次数,有时相当于在m中查找key是否出现过//并集,去重,结果存到vector中,且需提前指定容器的大小int a[5] = {1, 2, 3, 4, 5};int b[5] = {4, 5, 6, 7, 8};vector<int> c(10);//一定要指定大小,否则会无法运行vector<int>::iterator it;it = set_union(a, a + 5, b, b + 5, c.begin());//set_union返回地址cout << it - c.begin() << endl;//元素个数//交集set<int> a, b, c;a.insert(1);a.insert(4);a.insert(3);b.insert(6);b.insert(3);set_intersection(a.begin(), a.end(), b.begin(), b.end(), inserter(c, c.begin()));//最后一个参数不可用c.begin(),否则会无法运行,也不可令it=set_union(。。。)cout << "c中元素个数:" << c.size() << endl;string s;int k = s.find('@');//返回地址string ss = s.substr(0, k), sss = s.substr(k + 1);//截取子串int a[5] = {1, 2, 2, 4, 5};int m = unique(a, a + 5) - a;//返回不重复序列的最后一个下标,//附原理(把不重复的往前面移)iterator My_Unique (iterator first, iterator last){if (first==last) return last;iterator result = first;while (++first != last){if (!(*result == *first)) *(++result)=*first;}return ++result;}deque<int> qr;//双端队列qr.push_back(x);qr.push_front(x);int p[5] = {1, 2, 3, 4, 5};do {} while (next_permutation(p, p + 5));//全排列//流读入,多次的时候记得清空流!!stringstream ss;int first, second;ss << "456";//将“456”字符串收入流ss >> first;cout << first << endl;ss.clear();//清除,定义的stringstream的名称.clear();ss << true;//bool值ss >> second;cout << second << endl;struct node{int a;int b;}vector<node> v;v.push_back({1,2});string s1, s2;cin >> s1 >> s2;//string.find()返回类型为string::size_type 查找不到时返回string::npos,一个很大的数,不是-1!!!if(s1.find(s2) != string::npos) cout << "yes" <<endl;//平均时间复杂度O(m+n)慎用long double 的输出格式:%Lf长度大于16的long long 转化为 double 会出错, 可以自己写个pow,或者用powl(long double a,long double b)95个可打印字符,32-126左右高效位运算函数:(1)int n = 15; //二进制为1111cout<<__builtin_popcount(n)<<endl;//输出4,判断有多少个1(2)int n = 15;//二进制为1111int m = 7;//111cout<<__builtin_parity(n)<<endl;//偶数个,输出0cout<<__builtin_parity(m)<<endl;//奇数个,输出1,判断1数目的奇偶性(3)int n = 1;//1int m = 8;//1000cout<<__builtin_ffs(n)<<endl;//输出1cout<<__builtin_ffs(m)<<endl;//输出4,末尾最后一个1的位置(4)int n = 1;//1int m = 8;//1000cout<<__builtin_ctz(m)<<endl;//输出3,末尾0的个数(5) __builtin_clzll(nll) 返回前导0的个数,ll表示unsigned Long long return 0;
}

【持续更新】实用算法小点总结(怕忘QAQ)相关推荐

  1. 前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)持续更新

    文档描述 本文是关注微信小程序的开发和面试问题, 由基础到困难循序渐进, 适合面试和开发小程序. 并有热点框架(vue react node.js 全栈)前端资源以及后端视频资源和源码 并基于前端进阶 ...

  2. 前端面试题精编2020(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)持续更新

    文档描述 本文是关注微信小程序的开发和面试问题, 由基础到困难循序渐进, 适合面试和开发小程序. 并有热点框架(vue react node.js 全栈)前端资源以及后端视频资源和源码 并基于前端进阶 ...

  3. 最实用的微信小程序大全,持续更新中...

    最全的小程序开发教程,点击下载掘金App. 小程序上线 1月9日,张小龙没有食言,微信小程序如约而至.凌晨刚过,我们便在微信发现页看到了小程序的入口. 微信发现页 之后的一个小时里,每个微信群都在疯狂 ...

  4. vue 雷达扫描_GitHub - suneildve/vueDataV: 基于Vue + Echarts 构建的数据可视化平台,酷炫大屏展示模板和组件库,持续更新各行各业实用模板和炫酷小组件。...

    前言 一个基于Vue前端框架和第三方图表库echarts构建的可视化大数据平台,通过vue项目构建.指令的灵活运用.组件封装.组件之间通信,使内部图表组件库可实现自由替换和组合. 项目中部分前端库采用 ...

  5. 奇技淫巧-STL 库 ACM算法小技巧(持续更新中~~~)

    STL 库中的奇技淫巧 STL 是惠普实验室开发的一系列软件的统称,可以理解为一些容器的集合.STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件.STL 现在是C++的一部分,因此不用额 ...

  6. 推荐一些我觉得非常实用的工具、网站、资源等——持续更新中

    推荐一些我觉得非常实用的工具.网站(不限于GISer hh)--持续更新中 如需转载本文,请征询笔者并注明来源,谢谢 文章目录 推荐一些我觉得非常实用的工具.网站(不限于GISer hh)--持续更新 ...

  7. 算法工程师必看的优秀博客【持续更新。。。】

    这个是我在自学的过程当中看到的优秀博客的汇总,会分类给大家推荐,主要包含机器学习.深度学习.强化学习.数据挖掘.NLP.搜索.推荐等等等. 是会持续更新的哦,记得随时回来看看,?- 机器学习 [❗️推 ...

  8. Objective-C Reflection(Objective-C 反射机制)实用随笔笔记(持续更新)

    前言:本篇文章就"Objective-C 反射机制"使用方面进行叙述,不会涉及太多理论论述,因为"Objective-C 反射机制"理论论述在网上搜索一大把,本 ...

  9. leetcode贪心算法题集锦(持续更新中)

    leetcode贪心算法题集锦 leetcode贪心算法题集锦(持续更新中).python 和C++编写. 文章目录 leetcode贪心算法题集锦 一.贪心算法 1.盛最多水的容器 2.买股票的最佳 ...

  10. 本专栏所有力扣题目的目录链接, 刷算法题目的顺序(由易到难/面试频率)/注意点/技巧, 以及思维导图源文件问题(持续更新中)

    这篇文章为本专栏所有力扣题目提供目录链接, 更加方便读者根据题型或面试频率进行阅读, 此外也会介绍我在刷题过程中总结的刷算法题目的顺序/注意点/技巧, 最后说下文中出现的思维导图源文件的问题 和 打卡 ...

最新文章

  1. html中失焦事件怎么写的,详解HTML onfocus获得焦点和onblur失去焦点事件
  2. Python语言环境错误:不支持的语言环境设置
  3. Redis 的性能幻想与残酷现实(转)
  4. import与require的区别
  5. 抽象类(c++细节篇九)
  6. srs代码学习(4)-怎么转发流
  7. ajax请求导致status为canceled的原因
  8. Kali Linux 网络扫描秘籍 第三章 端口扫描(三)
  9. java程序流程_java程序流程控制
  10. python : 正确复制列表的方法
  11. 《iPhone与iPad开发实战—iOS经典应用剖析》连载三
  12. 400毫米降水线每年150公里北移
  13. java图书馆抢座系统_JSP+SSM+Mysql实现的图书馆预约占座管理系统
  14. No plugin found for prefix 'mybatis-generator' in the current project ORA-28040: No matching authen
  15. sha加密算法介绍以及java实现sha加密算法
  16. 《哈佛大学公开课:幸福课》学习笔记(3)
  17. 在线学习如何听课和记笔记
  18. mermaid sequenceDiagram使用指南
  19. 关于Kylin安装时的兼容性问题如何解决!
  20. 【19调剂】华东师范大学计算机/软件工程非全日制调剂

热门文章

  1. [Share]如何做好一份前端工程师的简历?
  2. 二维数组绑定到Dropdownlist
  3. unity使用屏幕后处理实现闪烁特效,创建新的shader文件过程
  4. echarts词云第一次出现不了数据要刷新才能出现_隐秘的角落弹幕分析,制作词云,看看观众们对该剧的评价如何...
  5. linux使用中的问题 --- (Another app is currently holding the yum lock; waiting for it to exit...)
  6. xtile 下载_Stata: gen 命令中的 group() 函数的潜在风险
  7. erp系统原理和实施第五版pdf_ERP系统实施费用!
  8. C# 设置和获取一个字节的某一位的值的方法 .
  9. .NET中的Lambda表达式与匿名方法
  10. Bootstrap入门!