- 博客(17)
- 收藏
- 关注
原创 最大公约数
内部函数__gcd(a,b)#include <iostream>#include <algorithm>using namespace std;int a,b;int main(){ cin>>a>>b; cout<<__gcd(a,b)<<endl; return 0;}
2018-11-02 15:14:42
210
原创 全排列以及next_permutation
Next Permutation代码//输入数字个数n 再输一个数字m //再输入一个排列(比如这个序列是全排列的第p组) 需要输出全排列后第p+m组数#include<bits/stdc++.h>using namespace std;int main(){ int n,m; cin>>n>>m; int ord[n+1];...
2018-11-01 21:56:40
291
原创 字符串的声明
声明30个字符串#include&lt;bits/stdc++.h&gt;using namespace std;string tr[30]; //声明30个字符串//输入n个字符串 再输入一个字符串ch//挨个进行比较 如果它们的第一个字符相同 输出yesint main(){ int n; cin&gt;&gt;n; for(int i=1;i&lt;=n;i++) c...
2018-11-01 08:08:11
3156
原创 快速读入
#include<bits/stdc++.h>//最多到正负2*10^9 using namespace std;int n;int read() { int x=0,w=1; char c=getchar(); while (c<'0'||c>'9') { if (c=='-') w=-1; c=getchar(); } while (c&...
2018-10-24 20:36:29
400
原创 字符串的长度
string s;int len=s.length( );char s[1005];for(int i=1;i<=n;i++){ scanf("%d",s); int len=strlen(s);}//其实char s[ ]也是合法的
2018-10-17 16:36:50
310
原创 队列写堆
首先你需要一个头文件:#includepriority_queue q;//这是一个大根堆qpriority_queue<int,vector,greater >q;//这是一个小根堆q//注意某些编译器在定义一个小根堆的时候greater和后面的>要隔一个空格,不然会被编译器识别成位运算符号>>...
2018-10-14 16:42:33
112
转载 c++中cin等输入函数的用法
原文链接1、cin2、cin.get()3、cin.getline()4、getline()5、gets()6、getchar()附:cin.ignore();cin.get()//跳过一个字符,例如不想要的回车,空格等字符1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include <iostream> usi...
2018-10-08 09:42:05
1575
转载 树链剖分原理和实现
理解树链剖分就是将树分割成多条链,然后利用数据结构(线段树、树状数组等)来维护这些链。首先就是一些必须知道的概念:重结点:子树结点数目最多的结点;轻节点:除了重节点以外的所有子节点;重边:父亲结点和重结点连成的边;轻边:父亲节点和轻节点连成的边;重链:由多条重边连接而成的路径;轻链:由多条轻边连接而成的路径;比如上面这幅图中,用黑线连接的结点都是重结点,其余均是轻结点,2-...
2018-10-06 16:53:36
190
转载 关于lower_bound( )和upper_bound( )的常见用法
原文转载地址lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。(一定是有序的)在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数...
2018-10-06 15:27:33
616
原创 sort
形式:sort(first_pointer,first_pointer+n,cmp)参数解释: 第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是一个指针常量。第二个参数相对较好理解,即首地址加上数组的长度n(代表尾地址的下一地址)。最后一个参数是比较函数的名称(自定义函数cmp),这个比较函数可以不写,即第三个参数可以缺省,这样sort会默认按数组升序排序。一维数组 结构...
2018-10-06 15:20:14
318
原创 前缀和
差分数组求前缀和#include<iostream>#include<cstdio>const int N=5000005;int n,q,a[N],b[N];int main(){ cin>>n>>q; for(int i=1;i<=n;i++){ int l,r,x; cin>>l>>r>
2018-10-06 14:58:49
706
转载 树状数组 查询与修改
转载原地址14、树状数组(1)、单点增减+区间求和思路:C[x]表示该点的元素:sum(x)=C[1]+C[2]+……C[x]int arr[MAXN];inline int sum(int x){int res=0;while(x)res+=arr[x],x-=lowbit(x);return res;}inline void add(int x,int n){while(x&amp;amp;amp;lt;MA...
2018-10-06 11:10:13
162
原创 树状数组
树状数组区间修改 单点查询输入n个点 有m个关系下面 m行输入 0 x y z 表示 区间x~y 加上z输入1 x 表示查询x点的值#include&lt;bits/stdc++.h&gt;using namespace std;const int N=10000005;int a[N],b[N];int n,m;int lowbit(int x) { return...
2018-10-06 09:45:18
126
原创 字符串的读入
字符串的读入字符串读一行#include<cstring>#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>using namespace std;string s;int n;int main(){ freopen("字符串...
2018-10-05 15:27:15
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人