- 博客(20)
- 资源 (4)
- 收藏
- 关注
原创 rmq模板
#include #include #include #define M 50010int mx[M][17],mi[M][17],d[M];int n,t;int min(int a,int b){ return a<b?a:b;}int max(int a,int b){ return a>b?a:b;}void init(){ int i,j
2013-03-31 21:59:02 483
原创 第一次用 stable_sort
点击打开链接# include# include# includeusing namespace std;struct DNA{ char a[55]; int num;}s[105];int fun(int n,char ch[55]){ int i,j,count; count=0; for(i=0;i<n;i++) {
2013-03-31 09:18:11 492
原创 N皇后问题
点击打开链接# include# includeint b[25],c[25],d[25],count;;void find(int n,int cur){ int i; if(cur==n) { count++; return ; } for(i=1;i<=n;i++) { if(!b[i
2013-03-30 12:58:20 559
原创 大数卡特兰数
int a[105][105]; //大数卡特兰数 int b[105]; //卡特兰数的长度 void catalan() //求卡特兰数 { int i, j, len, carry, temp; a[1][0] = b[1] = 1; len = 1; for(i = 2; i <= 100; i++)
2013-03-30 09:56:48 1069
原创 求欧拉函数模板
点击打开链接int eular(int n){ int s,i; s=n; for(i=2;i*i<=n;i++) { if(n%i==0) { n/=i; s=s/i; s=s*(i-1); while(n%i==0)
2013-03-30 09:22:39 583
原创 Dijkstra
点击打开链接 # include# includeint a[1005][1005],b[105],c[100005],flag[1005],dis[1005];void Dijkstra(int m){ int i,j,k,min,p; for(i=0;i<m;i++) { min=1000000; for(j=1;j<=m;j++) if(min>dis[j]
2013-03-29 22:30:36 527
原创 广搜+优先队列
点击打开链接 # include# include# includeusing namespace std;char map[305][305],flag[305][305];struct steps{ int i; int j; int step;};int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};bool op
2013-03-29 22:16:43 688
原创 逆康拓展开
点击打开链接 # include# includeint main(){ int i,j,a[15],b[15],flag[15],s=1,n; a[11]=1; for(i=10,j=1;i>=0;i--) { s=s*j; a[i]=s; //printf("%d ",a[i]); j++; }
2013-03-29 22:10:17 601
原创 欧拉图+dfs
点击打开链接 # include# includeint map[1005][1005],flag[1005],du[1005];void dfs(int n,int cur){ int i; for(i=1;i<=n;i++) { if(map[cur][i]&&!flag[i]&&cur!=i) {
2013-03-29 22:04:53 751
原创 单调递增子序列+二分优化
点击打开链接 # include# includeint dp[100001],a[100001];int find(int begin,int end,int num){ int x,y,m; x=begin; y=end; if(dp[x]>=num) return x; while(x<=y) { m=
2013-03-29 22:00:37 531
原创 树状数组之插间问点
点击打开链接 # include# includeint a[1000005];int lowbit(int x){ return x&-x;}void update(int x,int y){ while(x>0) { a[x]=a[x]+y;//printf("%d ",a[x]); x=x-lowbit(x); }}
2013-03-29 21:56:30 463
原创 树状数组之插线问点
点击打开链接 # include# include# includeusing namespace std;int a[100005],c[100005];struct order{ int num; int ord;}s[200005];bool cmp(order x,order y){ return x.num<y.num;}int lowbit(i
2013-03-29 21:48:13 538
原创 贪心之区间选点
点击打开链接 # include# include# includeusing namespace std;struct point{ double left; double right;}s[1005];bool cmp(point x,point y){ if(x.right==y.right) { return x
2013-03-29 21:45:47 586
原创 贪心之区间覆盖
点击打开链接 # include# include# includeusing namespace std;struct point{ double left; double right;}s[10005];bool cmp(point x,point y){ return x.left<y.left;}int main(){
2013-03-29 21:44:30 486
原创 字典树+静态存储
点击打开链接# include# include# includeusing namespace std;struct an{ int num; an *next[10];};int flag,l;an bao[1000005];an* creat(){ an *p; int i; p=&bao[l]; l++; p
2013-03-26 13:00:47 602
原创 字典树
点击打开链接# include# include# includeusing namespace std;struct shu{ int num; shu *next[30];};shu* creat(){ shu *p; int i; p=new shu ; p->num=0; for(i=0;i<26;i++)
2013-03-26 12:57:46 494
原创 字典树+静态存储
点击打开链接# include# include# includeusing namespace std;struct an{ int num; an *next[10];};int flag,l;an bao[1000005];an* creat(){ an *p; int i; p=&bao[l]; l++; p
2013-03-26 12:56:05 609
原创 map容器应用
点击打开链接#include"iostream"#include"string"#include"map"using namespace std;int main(){ string a,b; mapm; cin>>a; while(cin>>a&&a!="END") { cin>>b; m[b]=a; } cin>>a; char tem[3001]; g
2013-03-26 12:51:35 513
原创 输入外挂
# include# include# includeusing namespace std;int a[110000][12];inline int Input(){ int res=0,f=1,c; while(!isdigit(c = getchar()) && c!='-'); c=='-' ? f=0 : res=c-'0'; while(is
2013-03-20 09:32:03 509
原创 并查集的全面应用
nyist 209# includeint a[10005],p[10005];int find(int x){ if(a[x]==x) return x; else a[x]=find(a[x]);}void bin(int x,int y){ x=find(x); y=find(y); if(x>y) a[x]=y; else a[y]=x;}
2013-03-20 09:22:55 571
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人