自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huantwofat

自己都改变不了,如何改变世界。

  • 博客(8)
  • 收藏
  • 关注

原创 hdu 5196 DZY Loves Inversions(线段树+树状数组+离线+two points)

先离散化数组,定义了两个数组r[i]和r1[i],r[i]表示min{ j( j~i的逆序数对小于等于k)},r1[i]表示min{ j( j~i的逆序数对小于k)},然后离线处理查询,接着从1开始遍历每个位置,假如遍历到i如果r[i] 有个超级大坑点就是1个数的逆序数对也为0,所以k=0的时候一定要考虑到这点(wa了一上午)。 #include #include #include #

2015-03-29 14:28:57 422

原创 poj 2337 Catenyms 欧拉路

对每个字符串首尾字母建边,对于字典序则先把字符串整个排序,然后优先遍历字典序比较小的,注意字符串长度不止20!!!!(把我wa到死) #include #include #include #include #include using namespace std; int in[27],out[27],use[27],vis[27],it[27]; int a[1005],cnt; struct

2015-03-25 21:28:20 369

原创 poj 2513 Colored Sticks 欧拉路

水欧拉路,直接颜色离散化然后建边,或者并查集。 #include #include #include #include using namespace std; const int maxn=250005; struct pi{ char c[10]; }pp[maxn*2]; struct ppi{ char c[10],d[10]; }pp1[maxn]; int cmp(p

2015-03-25 21:26:10 432

原创 poj 1386 Play on Words 欧拉路

把一个字符串的首位字母连边,剩下的就是是否存在欧拉路的问题。 #include #include #include #include #include using namespace std; int in[26],out[26],a[27],b[27],pa[10005]; char c[1005]; vectorg[26*26]; int vis[26*26],use[26*26]; str

2015-03-25 21:23:23 469

原创 poj 1041 John's trip 欧拉路

裸欧拉路,至于字典序就用连接表的时候按街道大小从小到大存边即可。 #include #include #include #include #include using namespace std; int vis[2005],in[2005],it[45]; int a[2005],cnt,b[2005],tot; struct pi{ int to; int id; }pp;

2015-03-25 21:20:10 355

原创 hdu3018 Ant Trip 欧拉路

本题并不是要判断是否存在欧拉路,而是要找多少个欧拉路,所以可以把图分成几个连通分量,对于每个联通分量统计奇数度点的个数假如是a,那么有a/2个欧拉路,注意a=0的情况,注意如果一个连通分量里没有边但有点不用管它。 #include #include #include #include using namespace std; int in[100005]; int a[100005]; int

2015-03-25 21:17:32 428

原创 Codeforces Round #288 (Div. 2) D Tanya and Password

裸欧拉路,至于对欧拉路不了解的同学可以看本博客里对欧拉路的解释。 对于abc这个字符串,把ab、bc分别看成一个点连接一条边,然后直接欧拉路即可。 下面是AC代码: #include #include #include #include #include using namespace std; vectorg[10005]; int vis[100005]; int in[10005],o

2015-03-23 11:20:59 381

原创 欧拉路问题

首先对于无向图的欧拉路的成立条件是:1、联通   2、每个点度数为偶数或者当且仅当存在两个点读书为奇数 对于有向图:1、每个点度数的出度等于入度(欧拉回路)2、一个点出度比入度大一,另一个点入度比出度大一,其他点入度与出度相等。 至于怎样寻找欧拉路,首先很好确定起点(很好确定),然后直接dfs,但是要注意的是一定要用后序遍历,因为只有后序遍历对于入度比出度大的点才能被作为终点。 下面是模板:

2015-03-23 10:48:58 616 3

空空如也

空空如也

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

TA关注的人

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