03 2020 档案
摘要:题:https://codeforces.com/problemset/problem/242/E?csrf_token=e91633dfd98d038f51cc388731fe3f4d 题意:俩个操作,操作1:(l,r,x),区间[l,r]的数全部异或上x。操作2:(l ,r)输出区间[l,r]和
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/4853/E 题意:对于一对点(u,v)要是dis(u,v)==k,就会对这对点的LCA产生a[x]+a[y]的贡献(LCA!=u&&LCA!=v) 分析:简单的dsu,把每个点当作LCA去统计子树深度个数,经过LCA的路径
阅读全文
摘要:题:https://acm.ecnu.edu.cn/contest/255/problem/A/ 题意:有m个人在点S,要全部走的点T,题目给定每条通道每天只能走的人数,问最少几天能完成。 分析:这和最大流的水流问题很相似,只不过最大流的水流是一直会占这某一通道的,而这里只是占用了单位时间; 我们考
阅读全文
摘要:题意:给定一棵树,q个询问,每个询问k个节点,问能否找出一条从根节点到任意点的简单路径,使这k个点要么在路径上要么距离这条路径距离为1 分析:对于每个节点转换为他的fa ,那么问题就变成了能否找到一条路径包含这些fa。 #include<bits/stdc++.h> using namespace
阅读全文
摘要:题:https://codeforces.com/contest/1325/problem/F 题意:给出n个点m条边的图,找到节点数大于等于sqrt(n)的环或节点数等于sqrt(n)的独立集; 分析:先找环,找不到环证明一定存在有独立集,独立集的找法就是01染色。 #include<bits/s
阅读全文
摘要:题:https://codeforces.com/contest/1324/problem/F 题意:给节点数为n的树,每个节点有0和1,对于每个节点输出他的ans,这个ans是砍掉一些子树后0节点的数目减去1节点的数目(得留下自己) 分析:我们按照统计子树的size一样,来dfs这个树,对于父亲u
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4757 题意:给一棵树,每个节点有权值。每次询问要求回答一个值XOR某条路径上的一个点的最大值。 分析:我们在学可持续化01字典树时,写的模板题是支持区间查询的,插入一个数是pre是和u-1之间建立,那么在树上
阅读全文
摘要:题:https://codeforces.com/contest/1312/problem/E 题意:对于一个序列可以选相邻俩个数进行合并成其数+1,问合成后的最小序列长度是多少 分析1:设f[][]表示区间[i,j]区间向前合成的最小长度,简单的模拟一下即可求出,最后dp往后考虑合并 #inclu
阅读全文
摘要:题:http://www.lydsy.com/JudgeOnline/problem.php?id=4260 题意:如标题; 分析:利用前缀异或思想,设dp【i】为前 i 位任意区间异或的最大值,这个的求法就直接把前缀和数组边插入边查询,因为查询是查询x与已插入的数进行异或后能达到的最大值,而俩个前
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4638 题意:题意为询问一段区间里的数能组成多少段连续的数。 分析:我们先从左到右地添加数,再假定添加进去的话那么连续段数就加1,由此我们加入一个数x后,要是x-1或x+1在这之前就已经加进去了,那么连续段数就
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4637 参考自:https://www.cnblogs.com/javawebsoa/p/3239001.html #include<bits/stdc++.h> using namespace std; #d
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意:问字符串的有多少个回文子序列(n<=10000) 分析:区间dp,考虑dp[i][j]表示i~j 位置含有多少个回文子序列,转移方程如代码 #include<bits/stdc++.h> usin
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4635 题意:给n个点m条边的有向图,问最多还能添加多少条边,让此图还不能形成强连通图; 分析:tarjan缩点后,我们知道要是点双的个数是1那么肯定不符合条件,就直接输出-1; 那么剩下的情况就是,我们挑出一
阅读全文
摘要:题意:给n个人,从中挑出p个参赛人,k个观众,每个人作为观众有对应的贡献,每个人作为参赛人在不同位置上也有对应的贡献,问最大贡献是多少? 分析:考虑dp[i][j],表示前 i 个人选的参赛人状态为 j 的最大贡献( j 中状态为1 表示第 i 个人考虑作为参赛人)。 假设我们已经选好了参赛人的贡献
阅读全文
摘要:题:https://www.luogu.com.cn/problem/P3144 题意:给出n个点m条边的图,逐一删除每个指定点,问每次删除前图是否连通。 分析:把指定的序列反过来做就行,对于每个加进来的点,看原本集合中有无进来点的连边,有就用并查集联系起来,表示俩者所处连通块连通,(正着切断,反着
阅读全文
摘要:D题:https://codeforces.com/contest/1321/problem/D 题意:题目给个有向图,然后给一段序列,我们要沿着这个序列走,问走的过程中当前点到t的最短路会重构多少次,输出最小最大可能 分析:终点是不变的,我们在按照序列走到某个位置的时候,到终点有若干条长度相同的最
阅读全文
摘要:题:https://www.luogu.com.cn/problem/P1659 题意:问前k大的奇数长度的回文串的长度乘积; #include<bits/stdc++.h> using namespace std; typedef long long ll; const int M=1e6+6;
阅读全文