- 博客(24)
- 收藏
- 关注
原创 POJ 1094 拓扑排序(dfs+删边)
#include#include#include#include#include#includeusing namespace std;const int maxn=1e5+5;const int maxm=105;vector edge[maxn];int n,m,a,b,flag,now,in[maxm],in1[maxm];void init(){ memse
2016-11-27 23:18:24 273
原创 POJ 1270 拓扑排序(删边法)
直接看到这道题就感觉好做,于是愉快的wa了十发,简单说下坑点1. 按字典序输出,需要开头对数组进行排序。2. 中间可能不只有一个空格,输入需要特别处理。坑我一晚上,心里都快崩溃了,简直神坑,醉了。#include#include#include#include#include#includeusing namespace std;const int maxn=555;v
2016-11-27 01:22:09 721
原创 UVa 291 dfs
#include#include#include#include#includeusing namespace std;int map[6][6];void init(){ for(int i=1;i<=5;i++) for(int j=1;j<=5;j++) if(i-j) map[i][j]=1; map[4][1]=ma
2016-11-26 15:56:52 219
原创 poj 3126 最短路变形
#include#include#includeusing namespace std;#define INF 0x3f3f3f3f3fconst int maxn=1e4+5;int num[5]={1,10,100,1000,10000};int s,e,res[maxn],flag[maxn];int change(int n,int i,int j){ retur
2016-11-25 22:49:39 201
原创 hdu 5895 (2016icpc亚洲区域赛青岛站D题 Lucky coins)
#include#includeusing namespace std;const int maxn=15;const int maxm=105;double p[maxn],res[maxn][maxm];int n,m=50,cnt[maxn];inline double quick_mod(double a,int b){ double res=1.0; wh
2016-11-25 20:22:02 426
原创 UVa 793 输入处理+并查集
#include#includeusing namespace std;const int maxn=5*1e4+5;int par[maxn],res,n,num[maxn],Y,N;void init(){ for(int i=1;i<=n;i++) par[i]=i; Y=N=0;}int find(int num){ if(par[
2016-11-24 23:41:02 314
原创 poj 2524 并查集
#include#includeusing namespace std;const int maxn=5*1e4+5;int par[maxn],res,n,m,num[maxn];void init(){ for(int i=1;i<=n;i++) par[i]=i; res=n;}int find(int num){ if(par[nu
2016-11-24 23:10:51 198
转载 ZOJ 3873
#includeusing namespace std;typedef long long ll;void solve(ll a,ll b,ll c,ll d,ll &x,ll &y){ if(a==0||b<=0) { x=1,y=0; return; } if(a>=b) { ll k=a/b;
2016-11-24 22:47:09 628
原创 UVa 10158 并查集+位操作
#include#include#includeusing namespace std;const int maxn=1e4+5;int par[maxn],val[maxn],n;void init(){ for(int i=0;i<n;i++) { par[i]=i; val[i]=0; }}int find(int n
2016-11-24 18:20:26 210
原创 poj 2236并查集
#include#include#includeusing namespace std;const int maxn=1005;int par[maxn],d,n,flag[maxn];struct node{int l,r;}a[maxn];int find(int num){ if(par[num]==num) return num; retur
2016-11-24 17:28:27 136
原创 UVa 10608 并查集
#include#include#include#include#includeusing namespace std;const int maxn=3*1e5+5;int par[maxn],num[maxn],n,res;void init(){ for(int i=1;i<=n;i++) par[i]=i,num[i]=1; res=1;}
2016-11-24 16:48:13 178
原创 UVa 11948 四叉树
#include#include#include#includeusing namespace std;const int maxn=1024;const int maxm=32767;char g[maxn][maxn],tail;char line[maxm];void build(int k,int lx,int ly,int rx,int ry){ int fl
2016-11-24 16:34:58 235
原创 hdu 5441 并查集+排序
#include#include#include#include#includeusing namespace std;const int maxm=1e5+5;const int maxn=2*1e4+5;const int maxq=5*1e3+5;struct edge{int from,to,cost;}e[maxm];struct node{int num,time,
2016-11-24 00:03:49 206
原创 UVA 11941 四叉树加输入处理
#include#include#include#includeusing namespace std;const int maxn=1024;const int maxm=32767;char g[maxn][maxn];char node[maxn*maxn];char line[maxm];int cnt;int build(int k,int lx,int ly,in
2016-11-23 16:46:34 421 2
原创 poj 3321 dfs+树状数组
#include#include#includeusing namespace std;const int maxn=1e5+5;int temp[maxn],s[maxn],e[maxn],timeflag;struct node1{int l,r;}apple[maxn];struct node2{int tail,next;}edge[maxn];void init(){
2016-11-22 20:21:19 206
原创 codeforces 734 C 二分+枚举
什么情况,不用 long long 就不对,排序优化反而费时间?蜜汁尴尬#include#include#include#includeusing namespace std;const long long maxn=2*1e5+5;struct node{long long x,y;}a[maxn];long long c[maxn],d[maxn];bool cmp(nod
2016-11-22 00:54:26 213
原创 poj 1988 并查集变形
#include#include#includeusing namespace std;const int maxn=3*1e4+5;int root[maxn],top[maxn],cnt[maxn];int find(int num){ if(root[num]<0) return num; if(root[root[num]]>=0) {
2016-11-20 12:36:55 278
原创 NEUQ 题解
A#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;struct edge{int to,cost;};vector G[1005],J[1005];typedef pair P;int d[1005],b[1005];int V;void dijkstra1(int
2016-11-19 15:55:18 698
原创 hdu 3609数论 快速幂 欧拉函数 迭代 递归
#include<iostream>#include<cstdio>using namespace std;typedef long long ll;ll euler_phi(ll n){ ll res=n; for(ll i=2;i*i<=n;i++) { if(n%i==0) { ...
2016-11-19 09:07:45 413
原创 poj 1702 模拟
#include#include#include#include#includeusing namespace std;int num[20],n;void init(){ num[0]=1; for(int i=1;i<=19;i++) num[i]=num[i-1]*3;}void solve(){ queue a,b; i
2016-11-17 21:47:53 251
原创 poj1703 经典并查集
一道非常经典的并查集,建议还可以做下hdu5971,这样我感觉一般的并查集就并没有神马威胁了。。。祭奠我为此付出的好几天时间。。。懒得加注释,真的要想搞懂的话建议花时间自己看懂,毕竟ac代码已经写出来了。但是实在不会的话详询请加qq1933160466。2333333333333333333333333333333#include#include#includeusing namespace
2016-11-17 20:50:48 327
原创 poj 2003 数据结构+先序遍历
#include#include#include#include#include#include#includeusing namespace std;struct stu{ string name; stu *parent; list son; stu(){parent=NULL;}};map hassh;stu *root;void h
2016-11-17 11:46:46 300
原创 poj 1330 dfs树
#include#include#include#include//#define in(a,b) scanf("%d%d",&a,&b)using namespace std;const int maxn=10005;int rak[maxn];int par[maxn];vector s[maxn];void init(){ memset(par,0,sizeof(par
2016-11-16 16:57:34 168
转载 大连现场赛B题
虽然没看懂,但是记录下我悲伤的几个星期,虽然看懂了shift_and算法,但是这个映射是什么鬼#include #include #define MAX_N 1005#define MAX_LEN 10000005#define MAX_ARR_LEN ((MAX_N >> 6) + 5)#define MASK 63using namespace std;typedef unsig
2016-11-01 19:38:53 235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人