摘要:
[PA2015]Rozstaw szyn 题目大意: 一棵$n(n\le5\times10^5)$个点的树,其中有$m$个结点是叶子结点。叶子结点权值已知,你可以自己决定其余结点的权值,定义整棵树的代价为相邻结点权值差之和,求最小总代价。 思路: 贪心,对于每个结点可以维护其取值范围的上界和下界。将 阅读全文
摘要:
[ONTAK2015]Związek Harcerstwa Bajtockiego 题目大意: 一棵$n(n\le10^6)$个点的树,从$m$出发,依次执行$k(k\le10^6)$条操作,每次操作从当前点出发,向着点$d$前进$t$步,求每次操作完成后所在的位置。 思路: 使用树剖/倍增等LCA 阅读全文
摘要:
[BZOJ3659]Which Dreamed It 题目大意: 一个$n(n\le100)$个点,$m(m\le2\times10^5)$条边的有向图,求以$1$为起点的欧拉回路数目。 思路: 根据 "BEST定理" ,有: $$ \mathrm{ec}(G)=t_w(G)\prod\limits 阅读全文
摘要:
[JOI2017/2018]美術展 题目大意: 有$n(n\le5\times10^5)$个物品,每个物品有两个属性:尺寸$A_i$和收益$B_i$。从中选取一个子集,总收益为$\sum B_i \max\{A_i\} \min\{A_i\}$。求总收益最大值。 思路: 将所有物品按照$A_i$排序 阅读全文
摘要:
[CSAcademy]Or Problem 题目大意: 一个长度为$n(n\le2\times10^5)$的序列$A(0\le A_i include include include inline int getint() { register char ch; while(!isdigit(ch= 阅读全文
摘要:
[CSAcademy]Virus on a Tree 题目大意: 给你一棵$n(n\le10^5)$个点的树,一开始点$1$有病毒,可以沿着边扩散。你可以事先切掉若干条边,使得病毒扩散不超过$k$个结点。告诉你哪些边可以切,问最少需要切掉多少条边。 思路: 从$1$开始DFS,碰到一条可以切的边就返 阅读全文
摘要:
[ONTAK2015]Tasowanie 题目大意: 给你两个长度分别为$n(n\le2\times10^5)$的序列$A,B$,将$A,B$进行二路归并,使得最后得到的序列字典序最小。求最后得到的序列。 思路: 后缀数组,每次贪心地取 值对应最小的字符即可。 源代码: cpp include in 阅读全文
摘要:
[ONTAK2015]OR XOR 题目大意: 一个长度为$n(n\le5\times10^5)$的序列$A(0\le A_i\le10^{18})$,将其分为恰好$m$个连续段,设每一段的代价为这一段数字的异或和,总代价为每一段代价或和。求最小总代价。 思路: 首先求出前缀异或和,答案相当于选出$ 阅读全文
摘要:
[JOISC2014]スタンプラリー 题目大意: 有$n(n\le3000)$个车站,另有一个起点站和终点站,所有车站排成一条链,相邻两个车站之间的距离为$t$。每个车站都有一个上行站台、一个下行站台。除起点站和终点站外,每个站点都有一个超市,超市在上行站台和下行站台之间。对于站点$i$,从上行站台 阅读全文
摘要:
[JOISC2014]友だちをつくろう 题目大意: 一个$n(n\le10^5)$个点,$m(m\le2\times10^5)$条边的有向图。对于两个点$i,j$,如果存在一个点$k$使得存在边$k\to i$和边$k\to j$,那么就新增边$i\to j$和$j\to i$。不断进行上述操作,直 阅读全文