AtCoder Beginner Contest 163(D,E(区间dp),F(树上路径问题)),题目链接今天的题都很不错D-SumofLargeNumbers题意:求至少选k个数和的种类数。做法:刚开始感觉很难,涉及大数和、方案数。考虑k=2由于n+1个数是连续的,那我选最小的k个数求和:mi和最大的k个数求和:mx
code // Problem: D - Sum of SCC // Contest: AtCoder - AtCoder Regular Contest 163 // URL: https://atcoder.jp/contests/arc163/tasks/arc163_d // Memory Limit: 1024 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org) #include<bits/stdc++.h> #define...
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. When a child who originally ...
E - Active Infants 题意:有\(N\)个小孩,第\(i\)个孩子的位置为\(i\),活跃值为\(A_i\),现在将\(N\)个小孩重新排列,每个小孩获得的开心值为\(A_i\)与重新排列前后位置差的乘积,求最大可能的开心值总和。 数据范围:\(2\le N\le 2e3,1\le A_i\le 1e9\) 题解:可以发现将\(A\)较大的...
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...
1. AtCoder Beginner Contest 162(3) 2. AtCoder Beginner Contest 168(2) 3. AtCoder Beginner Contest 164(2) 4. AtCoder Beginner Contest 157(2) 5. AtCoder Beginner Contest 166(1) 最新评论 1. Re: AtCoder Beginner Contest 166 努力,跟你的性别无关,跟你读不读大学的差距无关。买得...
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=k(sumi1...
[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 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种 ...