比赛 “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