codeforces 703B
题意:有n座城市,其中k座是省会城市,每个城市有对应的点权,城市1-2-3-...-n-1有一条路相连,省会城市与其他所有的城市相连,且每两个城市间最多有一条路,每条路的边权为路连接的两座城市的点权乘积,问所有路的边权和。
思路:预处理出所有城市的点权和与所有省会城市的点权和,对于每座城市,如果它不是省会城市的话,它只与它的前一个城市与后一个城市以及所有的省会城市有连边,如果它是省会城市的话,它与除了自己的所有城市有连边。这样每条边在边的两个点处都考虑了一次,答案/2。
#include<cstdio>
int val[];
int cab[];
typedef long long ll;
int main() {
int n,k,x;
ll city_sum=,cab_sum=;
scanf("%d%d",&n,&k);
for(int i=;i<=n;i++) {
scanf("%d",&val[i]);
city_sum+=val[i];
}
for(int i=;i<=k;i++) {
scanf("%d",&x);
cab[x]=;
cab_sum+=val[x];
}
ll res=;
for(int i=;i<=n;i++) {
if(cab[i]) {
res+=(city_sum-val[i])*val[i];
}
else {
ll temp=cab_sum;
if(i==) {
if(!cab[n]) temp+=val[n];
if(!cab[]) temp+=val[];
}
else if(i==n) {
if(!cab[n-]) temp+=val[n-];
if(!cab[]) temp+=val[];
}
else {
if(!cab[i-]) temp+=val[i-];
if(!cab[i+])temp+=val[i+];
}
res+=temp*val[i];
}
}
printf("%I64d\n",res/);
return ;
}
codeforces 703B的更多相关文章
- CodeForces 703B(容斥定理)
题目链接:http://codeforces.com/contest/703/problem/B 解题思路: 第一次写 先求出每个点到其他点的价值,并将其记录 dp[i][j]=1(i<j),然 ...
- Codeforces 703B. Mishka and trip 模拟
B. Mishka and trip time limit per test:1 second memory limit per test:256 megabytes input:standard i ...
- Codeforces 703B (模拟) Mishka and trip
题目:这里 题意:n个城市,每个城市有个魅力值vi,首先,有n条路将这n个城市连成一个环,1号城市连2号城市,2号连3号****n号连1号城市,每条路的魅力值是其连接的两个城市 的魅力值的乘积,这n个 ...
- CodeForces 703B Mishka and trip
简单题. 先把环上的贡献都计算好.然后再计算每一个$capital$ $city$额外做出的贡献值. 假设$A$城市为$capital$ $city$,那么$A$城市做出的额外贡献:$A$城市左边城市 ...
- codeforces 703B B. Mishka and trip(数学)
题目链接: B. Mishka and trip time limit per test 1 second memory limit per test 256 megabytes input stan ...
- codeforces703B
Mishka and trip CodeForces - 703B 小米什卡是一个伟大的旅行者,她访问了许多国家.在这次考虑去哪里旅行之后,她选择了XXX--这个美丽,但鲜为人知的北方国家. 以下是关 ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
随机推荐
- python中函数参数*args和**kw的区别
1.函数与参数(实参) 在python中创建函数是def,创建函数名是def f(),f函数名字,def f(a,b),这里的a,b是两个参数,函数名是自定义的,参数也是自定义,随意就好.看图如下效果 ...
- iOS-Pods里三方文件导入找不到头文件
解决办法: 在target 里面 选择 build setting 搜索User Header Search Paths 然后 里面添加一条 ${SRCROOT} recursive//后面填 ...
- python 的时间复杂度
Python内置方法的时间复杂度 本文翻译自Python Wiki 本文基于GPL v2协议,转载请保留此协议. 本页面涵盖了Python中若干方法的时间复杂度(或者叫“大欧”,“Big O”).该时 ...
- [Algorithms] Graph Traversal (BFS and DFS)
Graph is an important data structure and has many important applications. Moreover, grach traversal ...
- Fluent Ribbon 第七步 状态栏
上一节,介绍了StartScreen的主要功能,本节介绍Ribbon的另外一个小功能StatusBar,状态栏是脱离ribbon之外单独存在,可以单独使用的控件 其基本代码定义如下: <Flue ...
- Powershell About File System
File System Rights Get-Acl $sharepath | select -expand access | where { !$_.IsInherited -AND $_.file ...
- Backtracking is a form of recursion.
w https://www.cis.upenn.edu/~matuszek/cit594-2012/Pages/backtracking.html Starting at Root, your opt ...
- Casperjs中fill提交表单遇到的问题
1.if you access internet with proxy please add --ignore-ssl-errors=true --ssl-protocol=a ...
- 转!!Java虚拟机堆的内存分配和回收
Java内存分配和回收,主要就是指java堆的内存分配和回收.java堆一般分为2个大的区域,一块是新生代,一块是老年代.在新生代中又划分了3块区域,一块eden区域,两块surviver区域.一般称 ...
- CNI Proposal 摘要
原文连接:https://github.com/containernetworking/cni/blob/master/SPEC.md General consideration CNI的想法是先让容 ...