CodeForces
来源:互联网 发布:酒店2000w数据 编辑:程序博客网 时间:2024/06/05 15:02
题目链接http://codeforces.com/problemset/problem/357/C点击打开链接
可以用set乱搞。。现将所有人放入容器中 然后谁被打败就把他erase 用一个数组记录每个打败他的人
或者用并查集 注意用一个next数组储存他的下一个集合 不能直接用pre作为打败他的人 因为在过程中可能pre会因缩短路径变化 因此要多开一个
并查集代码
#include <iostream>#include <queue>#include <stdio.h>#include <stdlib.h>#include <stack>#include <limits>#include <string>#include <string.h>#include <vector>#include <set>#include <map>#include <algorithm>#include <math.h>using namespace std;int pre[333333];int nnext[333333];int ppre[333333];int findx(int x){ int r=x; while(ppre[r]!=r) { r=ppre[r]; } int i=x;int j; while(ppre[i]!=r) { j=ppre[i]; ppre[i]=r; i=j; } return r;}void join (int x,int y,int win){ int nnnext=nnext[y]; int temp=x; while(temp<nnnext) { int mid=nnext[temp]; nnext[temp]=nnnext; int midmid=findx(temp); if(pre[midmid]==midmid) pre[midmid]=win; if(ppre[temp]!=win) ppre[midmid]=win; temp=mid; } int p1=findx(x); int p2=findx(y); if(p1!=p2) { ppre[p2]=p1; }}int main(){ int n;int m; scanf("%d%d",&n,&m); for(int i=0;i<=n;i++) ppre[i]=i,pre[i]=i,nnext[i]=i+1; for(int i=0;i<m;i++) { int l,r,win; scanf("%d%d%d",&l,&r,&win); //if(l>r) //swap(l,r); join(l,r,win); } for(int i=1;i<=n;i++) if(pre[i]!=i) printf("%d ",pre[i]); else printf("0 ");}
乱搞代码
#include <iostream>#include <queue>#include <stdio.h>#include <stdlib.h>#include <stack>#include <limits>#include <string>#include <string.h>#include <vector>#include <set>#include <map>#include <algorithm>#include <math.h>using namespace std;set<int> s;set <int > ::iterator it,re[333333];int a[333333];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) s.insert(i); for(int i=1;i<=m;i++) { int l,r,win; int step=0; scanf("%d%d%d",&l,&r,&win); for(it=s.lower_bound(l);(*it)<=r&&it!=s.end();it++) { if((*it)!=win) { re[step++]=it; a[*it]=win; } } for(int ii=0;ii<step;ii++) s.erase(re[ii]); } for(int i=1;i<=n;i++) { printf("%d ",a[i]); }}
阅读全文
0 0
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- [leetcode]125. Valid Palindrome@Java解题报告
- 颜色码表
- 如何实现TextureView或者SurfaceView 预览框为圆角
- 设计模式之观察者模式
- Professional JS(11.1-Selectors API/Elemenet Traversal/HTML5/Proprietary Extensions[part]-11.4.3)
- CodeForces
- 结构,联合和枚举
- 如何获取type=radio属性的value值
- java 反射机制的几个调用方法
- PDF如何转换成HTML
- springboot利用swagger构建api文档
- BZOJ 3052: [wc2013]糖果公园 树上莫队
- js开源插件速查表
- git新建本地仓库并上传到云端