AtCoder Beginner Contest 163 题目链接D: 看样例+分析得知,假设现在要选ii个,那么能达到的最大的值就是sumi1=∑nx=n−i+1xsumi1=∑x=n−i+1nx, 最小值就是sumi2=∑i−1x=0xsumi2=∑x=0i−1x,那么每次可选择的数量就是sum1−sum2+1sum1−sum2+1,那么答案就为∑n+1i=
AtCoder Beginner Contest 163 (6/6) 比赛链接:HereAB水题,C - management题意:给一棵 N(2≤N≤2e5) 个节点的有根树,求每个节点的儿子数。思路:由于输入直接给的是每个节点的父节点,直接计数即可。const int N = 2e5 + 10; int a[N]; int main() { ios::sync_with_stdio(false), cin....
AtCoder Beginner Contest 163(D,E(区间dp),F(树上路径问题)),题目链接今天的题都很不错D-SumofLargeNumbers题意:求至少选k个数和的种类数。做法:刚开始感觉很难,涉及大数和、方案数。考虑k=2由于n+1个数是连续的,那我选最小的k个数求和:mi和最大的k个数求和:mx
区间长度为4的区间和的范围是: 6 ~ 6 ; 所有范围内的数加起来就是10个; 所以对于每一个区间长度,都求出来范围的下界和上界即可;注意中间求和的过程中要用上界减去下界,此时要先减再mod; 说下我自己容易出错的地方(大佬自动跳过):当题目要求结果mod上一个数时,通常计算过程中要处处取模,否则会有隐患,但是如...
AtCoder Regular Contest 069 D的题目是什么? AtCoder Regular Contest 069 D的解题思路有哪些? 如何在AtCoder上提交Regular Contest 069 D的答案? D - Menagerie Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement Snuke, who loves animals, built a zoo. There are N ani...
Atcoder beginner contest 163 f path pass i 传送门:https://atcoder.jp/contests/abc163/tasks/abc163_f 题目大意:一颗n个节点的树,每个节点有一个颜色。求对每一个颜色,至少经过一个该颜色节点的简单路径数量。 分析:虽然有O(n)的做法,但是这里还是贴一下虚树的做法。虚树的做法大概是:对每一种颜色建立...
代码 题目: 思路:因为这里的数是连续的,所以 从n个数中选k个数出来的种类数 = k个最大的数 - k个最小的数 + 1 因为是做差,所以直接可以忽略那个10^100, 计算和的时候,因为是连续的,所以利用等差数列求和公式 列如样例1 最大的两个数-最小的两个数+1 = 5,选两个数时,所以有5种 ...
AtCoder Beginner Contest 163E - Active Infants(DP) Problem Statement There are NN children standing in a line from left to right. The activeness of the ii-th child from the left is AiAi. You can rearrange these children just one time in any order you like. ...
[AtCoder Beginner Contest 163]F - path pass i(树型dfs,容斥定律) 链接:https://atcoder.jp/contests/abc163/tasks/abc163_f Problem Statement We have a tree with NN vertices numbered 11 to NN. The ii-th edge in this tree connects Vertex aiai and bibi. Additionally, each vertex is painted...
AtCoder Beginner Contest 163 比赛链接:https://atcoder.jp/contests/abc163/tasksA - Circle Pond题意由半径输出圆周长。代码#include <bits/stdc++.h> using namespace std; int main() { double r; cin >> r; cout << 2 * 3.14 * r; }B...