树
knownothing
这个作者很懒,什么都没留下…
展开
-
hdu 3450 Counting Sequences 树状数组
#include #include #include #include #include using namespace std; #define lowbit(x) ((-x)&x) #define INF 1000000000 const int maxn=100005; const int mod=9901; int a[maxn],b[maxn],c[maxn],f[maxn];原创 2013-08-28 13:31:17 · 827 阅读 · 0 评论 -
hdu 2874 Connections between cities 最近公共祖先lca(离线算法/tarjan算法)
#include #include #include #include #include #include using namespace std; const int maxn=1e4+10; const int maxc=1e6+10; struct node{ int to,w; node(int a=0,int b=0){to=a;w=b;} }; int f[原创 2013-08-31 22:36:14 · 2370 阅读 · 0 评论 -
hdu 2586 How far away ? 最近公共祖先lca 在线算法(倍增法)/离线算法(Tarjan算法)
#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include using namespace std; const int maxn=40004; struct node{ int to,w; node(int原创 2013-08-30 16:44:57 · 5125 阅读 · 1 评论 -
hdu 3030 Increasing Speed Limits 树状数组
#include #include #include #include #include using namespace std; #define LL __int64 #define lowbit(x) (x&(-x)) const LL mod=1e9+7; const LL maxn=500050; LL a[maxn],b[maxn],c[maxn],f[maxn],ans[ma原创 2013-09-01 19:37:32 · 1023 阅读 · 0 评论 -
hdu 2688 Rotate 树状数组
#include #include #include #include #include using namespace std; #define lowbit(x) (x&(-x)) const int maxn=3000030; const int maxc=10010; int n,c[maxc],a[maxn]; void add(int x,int val) { whi原创 2013-09-01 16:14:50 · 841 阅读 · 0 评论 -
hdu 3371 Connect the Cities 最小生成树(kruskal算法)
#include #include #include #include #include #include using namespace std; const int maxn=505; const int maxm=25005; int f[maxn]; struct node{ int a,b,w; }e[maxm]; int find(int x) { if(x原创 2013-09-02 12:53:28 · 733 阅读 · 0 评论 -
hdu 3367 Pseudoforest kruskal算法的变种+并查集
#include #include #include #include #include #include using namespace std; const int maxn=10010; const int maxm=100010; int f[maxn],vis[maxn]; struct node{ int a,b,w; }e[maxm]; int find(int原创 2013-09-02 21:10:45 · 925 阅读 · 0 评论 -
hdu 1053 Entropy
/* 哈夫曼树编码 */ #include #include #include using namespace std; int a[30]; char s[1001]; int cmp(int a,int b) { return a>b; } int main() { while(gets(s)) { if(strcmp(s,"END")==0原创 2012-12-03 13:10:36 · 1158 阅读 · 0 评论