比赛 |
“Asm.Def战记之太平洋”杯 |
评测结果 |
AWWWWWEWEE |
题目名称 |
Asm.Def的基本算法 |
最终得分 |
10 |
用户昵称 |
KZNS |
运行时间 |
0.498 s |
代码语言 |
C++ |
内存使用 |
2.00 MiB |
提交时间 |
2015-11-02 10:21:42 |
显示代码纯文本
// KZ's
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("asm_algo.in");
ofstream fout ("asm_algo.out");
///////
///////
int n,w[100003]={0},fa[100003]={0};
long long sm=0;
vector <int> ls[100003];
///////
void rin() {
fin>>n>>w[1];
ls[1].push_back(w[1]);
for (int i=2;i<=n;i++) {
fin>>fa[i]>>w[i];
ls[i].push_back(w[i]);
}
}
void work() {
rin();
long long llu=0;
int s=0;
for (int i=n;i>0;i--) {
vector <int> &lsu=ls[i];
llu=0;
s=lsu[0];
for (int j=1;j<lsu.size();j++) {
llu=(llu+s*lsu[i])%1000000007;
s=(s+lsu[i])%1000000007;
}
llu=(llu*2)%1000000007;
sm=(sm+llu*w[i])%1000000007;
sm=(sm+(((long long)w[i]*w[i])%1000000007)*w[i])%1000000007;
ls[fa[i]].push_back(s);
}
fout<<sm<<endl;
}
///////
int main() {
work();
return 0;
}
// UBWH