cf round 480E The Number Games】的更多相关文章

题意:给一棵树,点$i$的点权是$2^i$,你需要删掉$k$个点,使得剩下的点连通的情况下剩下的点权值和最大. $k \leq n \leq 10^6$ 如果考虑删哪些点,是不好考虑的,会出问题. 反过来考虑,要保留哪些点,这样我们才可以保证让保留的点权值和最大. 我们以$n$这个点为根,然后从$n$到$1$依次考虑这个点可不可以保留,能保留就保留. 一个点能保留的条件是:因为它要保留,而需要保留的所有点的个数+现在已确定保留的点的个数$\leq n-k$ 哪些是“因为它要保留,而需要保留的点”…
CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\)是子树i中的i是第dp_i大的(相同大小放在后面). \(opt=1,dp_u=max(dp[v])(v\in G)\) \(opt=0,dp_u=\sum\limits _{v\in G}{dp[v]}\) dp[1]是1到k中第dp[1]大的,就是k-dp[1]+1 然后\(ans=k-dp[…
CF980E The Number Games 给定一棵大小为 \(n\) 的树,第 \(i\) 个点的点权为 \(2^i\) ,删掉 \(k\) 个点及其连边,使得剩下的点组成一个连通块,且权值和最大,输出要删掉的点 \(n,\ k\leq10^6\) 贪心,倍增,dfs序 很容易想到一个贪心:不断删掉能被删除且权值最小的点,用堆实现 但很明显这是错的:局部最优 \(\neq\) 全局最优 因为点权为 \(2^i\) ,所以与其选择 \(1,\ 2,\ \cdots,\ i-1\) 不如选 \…
前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\)题,幸好\(Rating\)没掉. A. Benches Description 有\(n\)个位置,给出每个位置上原本有\(a[i]\)个人.现有\(m\)个人,把他们安排到这\(n\)个位置上,设安排完后位置上人数最多的位置有\(k\)个人,求最大的\(k\)和最小的\(k\). Solutio…
CF980E The Number Games 题意翻译 Panel 国将举办名为数字游戏的年度表演.每个省派出一名选手. 国家有 n 个编号从 1 到 n 的省,每个省刚好有一条路径将其与其他省相连.第 i 个省出来的代表有 2i 名粉丝. 今年,主席打算削减开支,他想要踢掉 k 个选手.但是,被踢掉的选手的省将很 angry 并且不会让别的任何人从这个省经过. 主席想确保所有剩下选手的省都互相可达,他也希望最大化参与表演的选手的粉丝数. 主席该踢掉哪些选手呢? 输入格式 输入n,k .( k…
UOJ #30. [CF Round #278] Tourists 题目大意 : 有一张 \(n\) 个点, \(m\) 条边的无向图,每一个点有一个点权 \(a_i\) ,你需要支持两种操作,第一种操作修改一个点的点权,第二种操作给出 \(u, v\),求一个点 \(x\) ,存在一条 \(u-x-v\) 不经过重复点的路径且 \(a_x\) 最小 \(1 \leq n,m \leq 10^5\) 解题思路 : ​ 考虑如果 \(u-x\) 和 \(x-v\) 经过了同一个割点,那么一定不合法…
CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 Tab, 先写了ABC题,后面的之后再补 QwQ 『解析』 A-Petya and Origami 读懂题意就会做--根据题意可以求出3种"sheet"各自需要的数量,然后每一种的数量除以k向上取整后求和就是答案. B-Margarite and the best present 简单的…
\(>Codeforces \space 980 E. The Number Games<\) 题目大意 : 有一棵点数为 \(n\) 的数,第 \(i\) 个点的点权是 \(2^i\) 你需要删掉 \(k\) 个点,使得删掉这些点后树依然联通,且剩下的点权之和最大,并输出方案 \(n , k \leq 10^6\) 解题思路 : 问题可以转化为选取 \(n - k\) 个点,使得选取的点联通且权值和最大 根据点权是 \(2^i\) 的性质,显然有选取编号为 \(x\) 的点比选取 \(i =…
◇第4站&赛时9◇ CF Round 513 Div1+Div2 第一次在CF里涨Rating QWQ 深感不易……作blog以记之 ( ̄▽ ̄)" +Codeforces 的门为你打开+ ▶ 简单总结 莫名其妙打Atcoder比打CF要打得好些……以前CF打一场就掉一场分,直接爆炸,对CF都要绝望了. 终于这场比赛涨回来了(.^▽^) 看来比赛都向着思维难度进发了,代码实现已经不是考点了,以前背几个版就可以AK虐全场的时代也过去了,OI的路还很长,还得慢慢走…… (●'◡'●) ▶ 题目…
CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include<bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; int T, n; int a[maxn], b[maxn]; int c[maxn]; int main() { cin >> T; while(T--) { s…