自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 POJ 棋盘问题

#include<iostream>#include<cstring>#include<cstdio>using namespace std;int n,m,c;char s[10][10];int vis[10];void dfs(int x,int k){ if(k==m){ c++; return;...

2019-03-26 16:02:21 144

原创 PTA 家庭房产

#include<bits/stdc++.h>using namespace std;struct node{ int id,fid,mid,num,space;};struct man{ int fa; int id; int pnum; double num; double space; man() { ...

2019-03-26 15:59:31 440

原创 二叉树的层序遍历

#include<bits/stdc++.h>using namespace std;typedef struct bitnode{ char data; struct bitnode *lchild,*rchild;}Bitnode;Bitnode *creatbittree(Bitnode *T){ char ch; scanf("%c",&ch); i...

2019-03-26 15:58:46 170

原创 HDU 还是畅通工程

#include<iostream>#include<cstdio>#include<vector>#include<algorithm>using namespace std;struct road{ int from; int to; int value;};vector<road> v;in...

2019-03-26 15:57:27 122

原创 HDU 畅通工程再续

#include<iostream>#include<cstdio>#include<vector>#include<algorithm>#include<cmath>#include<cstring>using namespace std;struct node{ int x; int y;...

2019-03-26 15:56:32 104

原创 HDU 畅通工程续

#include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;int main(){ int i,j,n,m,x,y,w,k,p,q; int a[205][205]; while(cin>>n>>m){ for(i=0;i<n;i++){...

2019-03-26 15:55:43 171

原创 HDU 畅通工程

#include<iostream>using namespace std;int f[1005];int getparent(int x){ while(x!=f[x]) x=f[x]; return x;}int merge(int a,int b){ int t1=getparent(a); int t2=getparent(b); ...

2019-03-26 15:53:46 126

原创 欧拉线性筛

一个合数x与一个质数y的乘积可以表示成一个更大的合数z与一个更小的质数a的乘积!例如: 如果i=8; 那么由于i%2==0; 因此对于i=8就只需要检查primes[1]=2即可,因为对于大于primes[1]的质数,像3,有:8*3 = 2*4*3 = 12*2,也就是说24(8*3=24)并不需要在8时检查,在12时才检查。#include<bits/stdc++.h>...

2019-03-26 15:50:55 205

原创 迷宫问题

题目链接:https://cn.vjudge.net/contest/289570#status/jsu20164042033/H/0/BFS求最短路,前驱数组pre记录搜索路径。#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include&lt...

2019-03-26 15:44:32 134

原创 线段树的lazy标记

题目最多给到10万个操作,简单的线段树会超时,需要用到lazy标记。在区间修改时,如果每次都更新到叶子节点会非常耗费时间,为节省时间,当某次更新的区间与当前更新的区间一致的话,则本次更新仅更新该节点,并将该节点的子节点用lazy标记, lazy标记意味着本节点已经更          新过了,而本节点的子节点仍需根据标记信息进行更新。等到下次用到时再根据lazy标记的信息更新子节点,并将lazy标...

2018-06-14 17:56:35 468

原创 根据后序与中序输出前序

因为后序最后访问的一定是根节点,所以我们可以令root为后序中当前根节点的下标,通过找到post[root]在中序中的位置,可以将中序的左子树与右子树划分出来。start与end划定子树的节点在中序中的范围,递归打印前序序列,出口为start&gt;end。#include&lt;bits/stdc++.h&gt;using namespace std;int in[50],post[50];...

2018-06-11 12:54:36 245

原创 根据前序与中序输出后序

因为前序最先访问的一定是根节点,所以我们可以令root为前序中当前根节点的下标,通过找到pre[root]在中序中的位置,可以将中序的左子树与右子树划分出来。start与end划定子树的节点在中序中的范围,递归打印后序序列,出口为start&gt;end。#include&lt;bits/stdc++.h&gt;using namespace std;int in[50],pre[50];i...

2018-06-11 12:50:08 782

原创 动态规划求LCS

给定两个序列A和B,求长度最大的公共子序列(LCS)。设dp[i][j]为从A1,A2...Ai和B1,B2...Bj的LCS长度,则当A[i]=B[j]时,dp[i][j]=d[i-1][j-1]+1;否则,dp[i][j]=max(dp[i][j-1],dp[i-1][j]);时间复杂度为O(nm),n和m分别为序列A和B的长度。hdu 1159(LCS入门题)#include&lt;bits...

2018-06-07 19:13:13 207

原创 Fleury算法求欧拉回路/欧拉路径

Fleury算法设G为一无向欧拉图,求G中一条欧拉回路的算法为:1) 任取G中一顶点v0,令P0 = v0;2) 假设沿Pi = v0e1v1e2v2 …eivi走到顶点vi,按下面方法从E(G)={ e1, e2, …, ei}中选ei+1:a) ei+1与vi相关联;b) 除非无别的边可供选择,否则ei+1不应该是Gi = G - { e1, e2, …, ei}中的桥。(桥:图中的一条边,若...

2018-06-05 21:23:09 1755 1

原创 LIS的nlogn算法的两种实现

对于hdu 1950求LIS的问题,若使用常规的n^2算法会超时,所以需要用到LIS的nlogn算法求解。一、定义d[k]:长度为k的LIS的最小末尾元素,易知d中元素单调递增。首先len=1,d[1]=a[1]。对于a[i],若a[i]&gt;d[len],则可将a[i]拼接在d[len]后成为更长的LIS,所以d[++len]=a[i];否则,我们要从d[1]到d[len-1]中找到一个j,满...

2018-06-04 09:14:53 1876 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除