首页 > 其他分享 >Codeforces 解题报告(202402)

Codeforces 解题报告(202402)

时间:2024-02-17 17:55:41浏览次数:43  
标签:Tree Codeforces son 202402 解题 危险点 Sasha dp

Codeforces Round 926

D - Sasha and a Walk in the City

dp,主要难点在于设状态。

发现子树内一旦存在一个点,到当前子树的根节点路径上有两个危险点,那么除了那条链所属的子树,其他的点就都不能选了。所以把这个性质放进状态,设 \(f_{u, 0/1}\) 表示以 \(u\) 为根的子树内,是否存在一条到 \(u\)​ 经过两个危险点的链。

那么转移不难。

\[f_{u, 0} = (\prod _{v \in son_u} f_{v, 0}) + 1 \\ f_{u, 1} = \sum_{v \in son_u} f_{v,0}-1+f_{v,1} \]

这做不出来??????

E - Sasha and the Happy Tree Cutting

发现性质就是弱智题了。

通过虚树可以证明,本质不同的边是 \(O(k)\) 级别的。

所以直接算出所以本质不同的边,暴力 dp 即可。

F - Sasha and the Wedding Binary Search Tree

直接在树上考虑有点麻烦的。

发现可以把题目给的 BST 中序遍历求出来,然后给 -1 填数,要求不降。

然后弱智题,对 -1 连续段算组合数即可。

标签:Tree,Codeforces,son,202402,解题,危险点,Sasha,dp
From: https://www.cnblogs.com/harqwq/p/18018172

相关文章

  • Codeforces(1500板刷)
    目录写在前面1.A.DidWeGetEverythingCovered?(构造、思维)题目链接题意题解代码总结2F.Greetings(离散化+树状数组)题目链接题意题解代码总结写在前面开始板刷1500了,主要是最近卡1300-1400上不去,发现cf很多思维题要不是想不到,要不就是签的慢,被读题卡了心态就巨难受,一下就......
  • Codeforces Round 926 (Div. 2) 总结
    A题意:给出一个数组,让你重新排序,\(\sum_{i=1}^{n-1}a_i-a_{i+1}\)最大。做法:显然从小到大排序即可,答案就是最大值减去最小值。#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=1e6+5,MOD=998244353;signedmain(){ios::sync_with_s......
  • Codeforces Round 926 (Div. 2) DEF
    D.SashaandaWalkintheCity题意:给定一棵树,问不存在三个点属于同一条路径的点集个数。\(f[x]\)表示,最近公共祖先为\(x\)的合法非空集数量。如果选\(x\),那么只能为不选子树或选一棵子树,否则\(u\insubtree[y_1]\),\(v\insubtree[y_2]\)与\(x\)共链。?贡献为\(......
  • 20240215
    为了便于开发和维护,一般来说应用应当有界面层和数据层,界面层用于在屏幕上显示应用数据,数据层包含应用的业务逻辑并公开应用数据。界面层也由两部分,一部分呈现界面和数据,一部分处理数据和逻辑。简单的用我已知的知识理解,就是看得见的HTMLCSS与看不见的JavaScript,虽然也常常用Java......
  • Codeforces Round 926 (Div. 2) 赛后总结
    这场比赛掉了前三场比赛上的分,望周知。SashaandtheBeautifulArray题目大意:一个有n个数的数组,对n个数进行排序,求数组中ai-ai-1(下标从2到n)的和的最大值。分析列出来和式,为an-an-1+an-1-an-2……-a1最后得到an-a1那么an最大,a1最小即可。很容易想到排序。#include<i......
  • Codeforces Round 926 (Div. 2)(A~D)
    目录ABCDA输出最大值减最小值,或者排序算一下答案#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#definepiipair<int,int>#definelllonglong#definedb......
  • Codeforces Round 926 (Div. 2) 题解
    比赛链接:https://codeforces.com/contest/1929官解链接:https://codeforces.com/blog/entry/125943出的很差的一场。推歌CF1929A.SashaandtheBeautifulArray题意任意排列数组\(a_{1..n}\),求\(\sum_{i=2}^n(a_i-a_{i-1})\)的最大值。题解见过最显然的A题,奠定了......
  • Codeforces Round 926 (Div. 2)
    A-SashaandtheBeautifulArray给出的是差分的和,显然等于最后一个减掉第一个,于是答案为最大值减最小值。SubmissionB-SashaandtheDrawing观察到:前几次操作可以使答案\(+2\),之后每次只能让答案\(+1\)。手玩一下发现最优方案是先填满第一列,再从最后一列第二行填到倒......
  • Codeforces Round 906 (Div. 2)
    A.Doremy'sPaint3对于式子\(b_1+b_2=b_2+b_3=\dots=b_{n-1}+b_n=k\),从中挑出\(b_i+b_{i+1}=b_{i+1}+b_{i+2}\),得到\(b_i=b_{i+2}\),这就意味着所有奇数位置上的数需要相等,所有偶数位置上的数也需要相等。对于\(n\)个数而言,有\(\lceil\frac{n}{2}\rc......
  • 20240214打卡
    在Android中,可以通过定义drawable文件来创建自定义的图形、形状、背景等,然后在布局文件中应用这些drawable文件作为背景或者图标。同时,也可以通过定义样式(style)来设定布局以及控件的样式,从而实现一致的外观和风格。下面展示如何定义drawable文件以及样式,并将其应用到布局和控件中......