题意:有n座城市,其中k座是省会城市,每个城市有对应的点权,城市1-2-3-...-n-1有一条路相连,省会城市与其他所有的城市相连,且每两个城市间最多有一条路,每条路的边权为路连接的两座城市的点权乘积,问所有路的边权和。

思路:预处理出所有城市的点权和与所有省会城市的点权和,对于每座城市,如果它不是省会城市的话,它只与它的前一个城市与后一个城市以及所有的省会城市有连边,如果它是省会城市的话,它与除了自己的所有城市有连边。这样每条边在边的两个点处都考虑了一次,答案/2。

#include<cstdio>
int val[100005];
int cab[100005];
typedef long long ll;
int main() {int n,k,x;ll city_sum=0,cab_sum=0;scanf("%d%d",&n,&k);for(int i=1;i<=n;i++) {scanf("%d",&val[i]);city_sum+=val[i];}for(int i=1;i<=k;i++) {scanf("%d",&x);cab[x]=1;cab_sum+=val[x];}ll res=0;for(int i=1;i<=n;i++) {if(cab[i]) {res+=(city_sum-val[i])*val[i];}else {ll temp=cab_sum;if(i==1) {if(!cab[n]) temp+=val[n];if(!cab[2]) temp+=val[2];}else if(i==n) {if(!cab[n-1]) temp+=val[n-1];if(!cab[1]) temp+=val[1];}else {if(!cab[i-1]) temp+=val[i-1];if(!cab[i+1])temp+=val[i+1];}res+=temp*val[i];}}printf("%I64d\n",res/2);return 0;
}

转载于:https://www.cnblogs.com/LinesYao/p/5742962.html

codeforces 703B相关推荐

  1. 把数据保存到cook_将用户信息保存到Cookie中

    /** * 把用户保存到Cookie * * @param request * @param response * @param member */ private void rememberPwdA ...

  2. codeforces703B

    Mishka and trip CodeForces - 703B 小米什卡是一个伟大的旅行者,她访问了许多国家.在这次考虑去哪里旅行之后,她选择了XXX--这个美丽,但鲜为人知的北方国家. 以下是关 ...

  3. 安卓仿苹果音量调节_android自定义view仿照MIUI中音量控制效果

    先看效果图: 这就是miui中的音量效果图,实现思路是自定义视图,绘制圆环,然后设置进度显示. 核心代码在onDraw中实现如下: @Override protected void onDraw(Ca ...

  4. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  5. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  6. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  7. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  8. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  9. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

最新文章

  1. C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)
  2. windows 8 突然不能上网 LSP 二种修复方法
  3. [JS] 动态修改ckPlayer播放器宽度
  4. ftp、sftp、vsftp、ssh、vsftpd、sshd
  5. Centos 7 查看内存占用情况相关命令
  6. Orchard之生成新模板
  7. SpringCloud Ribbon(四)之全局配置与服务配置
  8. IA-32 Architecture: the function of segment regitster(CS DS SS ES)
  9. leetcode 1018. 可被 5 整除的二进制前缀
  10. java web js_JAVA Web JS
  11. Source Insight 快捷键大全
  12. c# 小票打印机打条形码_C# Code 128条形码打印的问题
  13. Django 个人博客网站+simpleui后台
  14. 【5G之道】第二十三章:5G无线接入
  15. 护眼仪眼部按摩器单芯片蓝牙方案开发说明
  16. Mega2560串口通信实现
  17. 0035:虫子吃苹果(C++)
  18. Python学习笔记:2.2.3 习题课06
  19. 利用声音传感器控制led灯功能_云中树莓派(4):利用声音传感器控制Led灯
  20. 第四套人民币荧光“四大天王”收藏价值分析

热门文章

  1. android 开发
  2. 工作流的设计,业务流程图的绘制与编辑,工作流软件,工作流源代码组件库,开发平台,开发引擎...
  3. python 读取当前文件夹下所有后缀为.lib文件
  4. 完全编译安装boost
  5. 你必须了解的session的本质
  6. 状态栏编程(显示系统时间和进度条)
  7. MFC程序在其他机器运行
  8. 使用mpvue开发小程序
  9. 通过BAT、网易、京东产品经理的简历大概什么样?
  10. python创建一个包,如何从python包创建一个osx应用程序/ dmg?