
stl
oj让我卡过一条吧
这个作者很懒,什么都没留下…
展开
-
全排列
//升序排列和降序排列 #include<stdio.h>#include<algorithm>using namespace std;int main(){ int a[10]={1,2,3,4}; while(next_permutation(a,a+4)) printf("%d%d%d%d\n",a[0],a[1],a[2],a[3],a[4]); int b[1...原创 2018-07-05 14:28:47 · 90 阅读 · 0 评论 -
swap
//swap的实现和调用 #include<stdio.h>#include<algorithm>using namespace std;int main(){ int a,b; a=9;b=7; swap(a,b); printf("%d %d\n",a,b); a^=b; b^=a; a^=b; printf("%d %d\n",a,b); return 0; ...原创 2018-07-05 14:33:12 · 187 阅读 · 0 评论 -
fill
//fill的调用 #include<stdio.h>#include<algorithm>using namespace std;int main(){ int a[100]; fill(a,a+10,2); for (int i=0;i<10;i++) { printf("%d\n",a[i]); } return 0;}原创 2018-07-05 14:40:18 · 382 阅读 · 0 评论 -
find
//find找不到的话是会返回最后一个值后面的位置的 #include<stdio.h>#include<algorithm>using namespace std;int main(){ int a[10]={6,5,0,4}; int ans; ans=find(a,a+4,6)-a; printf("%d\n",ans); ans=find(a,a+4,5)-a; p...原创 2018-07-05 15:08:00 · 126 阅读 · 0 评论 -
优先队列感悟
优先队列相当于一个堆,可以按照想要的规律去排序。只要重写<即可最重要的几段priority_queue<P>//其中P是自己定义的结构体bool operator<(P x,P y)//重写规则网上讲优先队列的很多,我这里提供速成的办法。只要记住这两个,基本上就会用了。下面看样例运行结果:很明显,如果只规定x的大小规范,会随机建堆,并不会像理...原创 2019-03-23 01:27:43 · 156 阅读 · 0 评论 -
优先队列优化的dijkstra不是万能的!
今天做天梯赛训练题L2-01L2-001 紧急救援 (25 分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个...原创 2019-03-23 01:34:29 · 372 阅读 · 0 评论 -
vector
说实话,我也没有搞的太清楚它是干什么的。不过做题的时候,似乎只要知道可以写邻接矩阵,挺好用的。之前邻接矩阵需要这么写:int a[1005][1005];然后遍历的时候这样:for (int i=0;i<n;i++) for (int j=0;j<m;j++) a[i][j]=...这样的坏处是最多存10000的宽度,到100000数据肯定不行...原创 2019-03-23 01:42:37 · 112 阅读 · 0 评论 -
并查集
并查集是一种非常重要的数据结构。之前听的晕乎乎的,今天自己学了一下,发现很简单为什么要用并查集?因为快!可以迅速找到祖宗,非常好用!一开始,很简单,所有人都是自己的祖宗。因此for (int i=1;i<100000;i++) ren[i]=i;接着,每次输入时,有一个寻找祖宗的办法。int find(int x){ if (x!=ren[x]) re...原创 2019-03-23 01:49:38 · 154 阅读 · 0 评论