摘要:
这道题目和DFS1基本一致,修改的为区间,所以使用线段树 代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; int n,m,root,cnt,times; int v[maxn],le[maxn],ri[max 阅读全文
摘要:
每个点记录一个进入的时间和出来的时间 这样就能保证每个子树内的点的顺序是连着的 然后就可以利用树状数组维护单点修改,区间查询了 代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; int n,m,root,cnt 阅读全文
摘要:
Girls and Boys Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 14701 Accepted: 6613 Description In the second year of the university somebo 阅读全文
摘要:
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19481 Accepted: 8053 Description As we all know, machine scheduling is a v 阅读全文
摘要:
sub1 (25pts) 暴力从x走到y,如果在某个点思考获得的智慧为正,就累加进答案 时间复杂度:O(Q*dep+n) dep为树深度,当树随机生成时,期望为log n 开long long !! 代码 #include<bits/stdc++.h> using namespace std; co 阅读全文
摘要:
一个大模拟!!! 这个鱼人领军不是每一轮都加的,而是每场比赛!! 代码 #include<bits/stdc++.h> using namespace std; int n,x,A,B,C; struct person { int hp,atk; int type; int spe; }a[55], 阅读全文
摘要:
sub1 (50pts) 设f[i][j] 为用前i种纸币,还需要总金额为j的方案数 枚举第i个纸币用了k 张,从f[i−1][j+k∗(2^i)] 转移 时间复杂度:O(n^2*log n) sub2 (85pts) 其实就是无限背包的问题 直接 f[i][j]=f[i−1][j]+f[i][j+ 阅读全文