题目
l2-4功夫传人 题意: 给定以1为根的有向树,根节点的点权为Z,每传给子节点,就减少r%,该子节点是叶子节点,叶子节点会翻a[i]倍。 思路: 感觉这个题意有点迷,题干说没传一代就减弱r%,除非遇到叶子,就说明叶子不该减弱r%。但是这样连样例都过不了,好怪。 建完图dfs求和即可。 !又忘了特判,如果n==1我又没特判,wa了一分。 时间复杂度: O(n) 代码:
#include
using namespace std;
typedef long long ll;
typedef pair PII;
const int N = 2e5+10;
int n,m,k,T;
// #define int long long
// #define double long double
double st;
double r;
double a[N];
double ans[N];
vector va[N];
void dfs(int cur)
{
for(int i=0;i>n>>st>>r;
r *= 0.01;
for(int i=0;inum;
int x;
if(num == 0)
{
cin>>a[i];
}
else
{
while(num--)
{
int x; cin>>x;
va[i].push_back(x);
}
}
}
if(n == 1 && a[0] != 0)
{
cout
关注
打赏