DFS
ITKaven
ACMER
本科软件工程专业
硕士计算机技术专业
专注于WEB开发的烟酒僧
展开
-
2017 Multi-University Training Contest - Team 4-hdu6073 Matching In Multiplication
2017 Multi-University Training Contest - Team 4-hdu6073 Matching In Multiplication原创 2017-08-04 14:57:56 · 3965 阅读 · 0 评论 -
51Nod 1002 数塔取数问题
题目传送门 代码: #include<bits/stdc++.h> using namespace std; const int maxn=500+10; int ans[maxn][maxn]; int dp[maxn][maxn]; int n; int DFS(int x,int y){ if(x>n || y>n || y>x) ret...原创 2018-08-24 09:06:23 · 872 阅读 · 0 评论 -
计蒜客 组合运算式(简单DFS)
题目传送门 代码: #include<bits/stdc++.h> using namespace std; int n; int type[10]; void DFS(int v,int s,int pre,int ty){ if(v==n){ if(s==0){ printf("1"); fo...原创 2018-08-31 10:44:45 · 1906 阅读 · 0 评论 -
51Nod 1677 treecnt
题目传送门 如果一条边两边各有 x 和 y 个点 那么它被选择的次数为C(n,k)-C(x,k)-C(y,k) 代码: #include<bits/stdc++.h> using namespace std; #define MEM(a,b,start,end) for(int ii=start;ii<=end;ii++) a[ii]=b #define AddE...原创 2018-08-20 19:25:13 · 837 阅读 · 0 评论 -
HDU 5927 Auxiliary Set
题目传送门 代码: #include<bits/stdc++.h> using namespace std; #define MEM(a,b,start,end) for(int ii=start;ii<=end;ii++) a[ii]=b #define AddEdge1(u,v) edge[tot].to=v,edge[tot].next=head[u],head...原创 2018-08-23 15:16:19 · 891 阅读 · 0 评论 -
CSU 1869: 树上最大值
题目传送门 代码: #include<bits/stdc++.h> using namespace std; const int maxn=100000+100; int Max[maxn],H; int ans[maxn]; struct Edge{ int to,next; }edge[maxn]; int head[maxn],tot; void DFS(...原创 2018-08-27 13:11:45 · 1698 阅读 · 0 评论 -
HDU 6446 Tree and Permutation
题目传送门 代码: #include<bits/stdc++.h> using namespace std; typedef long long LL; const int maxn=100000+100; const LL mod=1e9+7; struct Edge{ int to,next,len; }edge[maxn<<1]; int hea...原创 2018-08-26 15:03:57 · 1296 阅读 · 0 评论 -
计蒜客 - 青出于蓝胜于蓝
题目传送门 没想到啥简单的方法,就写了个DFS序+主席树 具体看代码: #include<bits/stdc++.h> using namespace std; const int maxn=100000+100; struct Edge{ int to,next; }edge[maxn<<1]; int head[maxn],tot; int Id[...原创 2018-08-16 10:09:53 · 1184 阅读 · 0 评论 -
计蒜客 - 子树权值计数(DFS序+莫队)
题目传送门 先DFS一遍,把以 u 为根的子树的最小DFS序和最大DFS序处理出来,再用莫队即可 具体看代码: #include&lt;bits/stdc++.h&gt; using namespace std; const int maxn=100000+100; struct Edge{ int to,next; }edge[maxn&lt;&lt;1]; int he...原创 2018-08-15 10:41:12 · 1099 阅读 · 0 评论 -
BZOJ 2115: [Wc2011] Xor
参考博客:线性基学习笔记 orz 下面的题解来着该博客 给定一个 n(n≤50000) 个点 m(m≤100000) 条边的无向图,每条边上有一个权值。请你求一条从 1 到 n 的路径,使得路径上的边权异或和最大。 分析 任意一条 1 到 n 的路径的异或和,都可以由任意一条 1 到 n 路径的异或和与图中的一些环的异或和来组合得到。 为什么?假如我们已经有一条 1 到 n 的路径,...原创 2018-07-26 13:15:15 · 890 阅读 · 0 评论 -
POJ-1979 Red and Bla
题目传送门 Red and Black Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 37356 Accepted: 20315 DescriptionThere is a rectangular room, covered with square tiles. Each tile is colo原创 2017-09-20 17:08:56 · 4204 阅读 · 0 评论 -
HDU 6409 没有兄弟的舞会
题目传送门 代码: #include&lt;bits/stdc++.h&gt; using namespace std; #define max(a,b) a&gt;b?a:b #define min(a,b) a&lt;b?a:b typedef long long LL; const int maxn=100000+100; struct Edge{ int to,nex...原创 2018-08-24 09:23:51 · 1188 阅读 · 0 评论