URAL 2030 Awesome Backup System
Awesome Backup System
Memory limit: 64 MB
- Copy all the information from computer v to all adjacent computers (i.e., to all computers directly connected to it by a cable) If computer v had xv bytes of information, then, after copying, all adjacent computers will have xv bytes of information more, while computer v will still have xv bytes of information.
- Output the current amount of information on computer v. Since this amount can grow very quickly, output the remainder of its division by the number 109 + 7.
For testing the ABS, you are asked to write a program for a quick processing of such requests.
Input
Output
Samples
| input | output |
|---|---|
4 |
1 |
2 |
1 |
对一棵树进行下列操作
1 v 将顶点v的邻接顶点的权值加上w[v]
2 v 查询顶点v的权值
哎,还是太弱了,这题不需要任何数据结构,只需要先将树转换成有根树,开一个标记数组add,add[v]表示给v的邻接顶点增加了add[v],在进行1操作的时候,直接将v的父亲加上v的权值,则查询的时候只有父亲对他有影响,加上父亲的add标记就行
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <string>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#define inf 0x3f3f3f3f
#define met(a,b) memset(a,b,sizeof a
#define pb push_back
typedef long long ll;
using namespace std;
const int N = 1e5+;
const int M = +;
const int mod=1e9+;
int n,m,k,tot=,s,t,r;
vector<int>G[N];
ll A[N],add[N]; int p[N];
void dfs(int u,int fa)
{
p[u]=fa;
for(int i=; i<G[u].size(); i++)
{
int &v=G[u][i];
if(v!=fa&&v!=u)
{
dfs(v,u);
}
}
}
int main()
{
int n,m;
cin>>n;
for(int i=;i<=n;i++)cin>>A[i];
int u,v;
for(int i=;i<n;i++)
{
cin>>u>>v;
G[u].pb(v);
G[v].pb(u);
}
cin>>m;
memset(add,,sizeof add);
memset(p,,sizeof p);
dfs(,);
while(m--)
{
cin>>u>>v;
int x=p[v];
if(u==)
{
add[v]=(add[v]+A[v]+add[x])%mod;
A[x]=(A[x]+A[v]+add[x])%mod;
}
else cout<<(A[v]+add[x])%mod<<endl;
}
return ;
}
URAL 2030 Awesome Backup System的更多相关文章
- 图解Android - Zygote, System Server 启动分析
Init 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的).用ps 输出可以看到 >adb shell ...
- 图解Android - System Service 概论 和 Android GUI 系统
通过 图解Android - Binder 和 Service 一文中,我们已经分析了Binder 和 Service的工作原理.接下来,我们来简要分析Android 系统里面都有哪些重要的Servi ...
- VES Hand Book Contents
3...ABOUT THE VES4...Foreword 6...Chapter 1......Introduction6......Visual Effects and Special Effec ...
- malware analysis、Sandbox Principles、Design && Implementation
catalog . 引言 . sandbox introduction . Sandboxie . seccomp(short for secure computing mode): API级沙箱 . ...
- Azure SQL Database 时间点还原(Point in Time Restore)功能
微软中国TechNet 7 Oct 2014 9:17 PM Comments 0 Likes 原文地址:http://blogs.technet.com/b/azuretw/archive/20 ...
- Merkle Tree学习
/*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是 ...
- Mac OS 终端常用命令【搜藏】
基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念.比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下.比如接上个叫 ...
- ubuntu mint 15 编译安装PHP开发环境
php 5.3.5(download zip) httpd 2.2.24(download zip) mysql: apt-get install mysql step 1: install mysq ...
- Facebook Architecture
Facebook Architecture Quora article a relatively old presentation on facebook architecture another I ...
随机推荐
- Cisco IOS debug command reference Command A through D
debug aaa accounting through debug auto-config debug aaa accounting : to display information on acco ...
- SplashTop Remote + 4核android平板 试用
局域网默认情况 最大100Mb 的网速下, 延迟在500ms+, 观看视频无影响, 但游戏无法进行! 另一种方案,利用多网卡来提升网络传输性能!
- Julia中文教程资源.txt
Julia中文教程资源.txt 2016年3月28日 05:18:32 codegay 本文更新在这里: https://github.com/FGFW/julia-science-and-techn ...
- SqlServer DateDiff函数 比较时间 (转)
DateDiff函数 是一个非常有用的函数,它可以为一些网页做一些特殊的效果. 我就曾用到它和一张'new'字样的图片 来区别网页显示的信息是否为最近的信息.例如:提示最近的通知,最近的新闻等等 ...
- Javascript 基础--JS函数(三)
一.基本概念:未完成某一个功能的代码(语句,指令)的集合. 二.函数的调用方式: 2.1.函数名(传递参数1,传递参数2) 基本语法 function 函数名(参数列表){ //代码; retur ...
- hdu1878 欧拉回路
//Accepted 1240 KB 250 ms //水题 欧拉回路 //连通+节点度均为偶数 #include <cstdio> #include <cstring> #i ...
- hdu 2054
Ps:WA了无数次,,简直成了心病..今天终于AC了..先取整数部分,去零,判断位数相等否,再比较.如果相等,再取小数部分,去零,比较,输出....好烦... 代码; #include "s ...
- 官方文档学习之《start developing iOS apps(swift)》
1. let 关键字是用来定义常量的,任何类型的常量都可以进行定义:例如:定义字符串 let constantValue1 = "this is a string",也可以定义数 ...
- kali 2016的基础配置
1.Kali 2016的更新源 deb http://http.kali.org/kali kali-rolling main contrib non-free 2.安装虚拟机 apt-get upd ...
- PHP中的数组(一)
一.数组的概述 1.数组的本质:管理和操作一组变量 2.数组是复合类型 3.数组中可以存储任意长度的数据,也可以存储任意类型的数据 4.数组就可以完成其它语言数据结构的功能(链 ...