题意:

就是有n个点,本来相邻点之间就有一条边,1和n之间也有一条,然后给你几个特殊点,说这些特殊点和其他所有点都连起来了,然后算一个所有边的权值和,每条边的权值等于两个点的c相乘。

思路:

水题啊…感觉有好多方法吧。弱的思路:你把所有点都相连的情况,把所有边权值和算出来,然后没有被标记的点拿出来,把他们两两相连的边的权值也减掉,但是你会发现就算没有标记但是相邻还是会有边,所以加上这些就好了。

比赛时的挫code…………..

#include<cstdio>
#include<math.h>
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
typedef __int64 LL; const int N=1e5+10; LL v1[N];
LL v2[N];
bool vis[N];
LL sum[N];
LL s2[N]; int main()
{
int n,k,x;
scanf("%d%d",&n,&k);
memset(vis,0,sizeof(vis));
memset(sum,0,sizeof(sum));
memset(s2,0,sizeof(s2)); for(int i=1;i<=n;i++)
{
scanf("%d",&v1[i]);
sum[i]=sum[i-1]+v1[i];
}
LL ans1=0,ans2=0,ans3=0;
for(int i=1;i<=n;i++)
ans1+=v1[i]*(sum[i-1]); //刚刚好 ,全部相连 for(int i=1;i<=k;i++)
{
scanf("%d",&x);
vis[x]=1;
}
int num=1;
for(int i=1;i<=n;i++)
{
if(i==n)
{
if(!vis[i])
{
if(vis[i]==vis[1])
ans2+=v1[1]*v1[n];
v2[num]=v1[i];
s2[num]=s2[num-1]+v2[num];
++num;
}
}
else{
if(!vis[i])
{
if(vis[i]==vis[i+1])
ans2+=v1[i]*v1[i+1];
v2[num]=v1[i];
s2[num]=s2[num-1]+v2[num];
++num;
}
} }
for(int i=1;i<=num;i++)
ans3+=v2[i]*s2[i-1];
// printf("%I64d %I64d %I64d\n",ans1,ans2,ans3);
printf("%I64d\n",ans1+ans2-ans3);
}

Codeforces703B Mishka and trip的更多相关文章

  1. Codeforces Round #365 (Div. 2) Mishka and trip

    Mishka and trip 题意: 有n个城市,第i个城市与第i+1个城市相连,他们边的权值等于i的美丽度*i+1的美丽度,有k个首都城市,一个首都城市与每个城市都相连,求所有边的权值. 题解: ...

  2. cf703B Mishka and trip

    B. Mishka and trip time limit per test 1 second memory limit per test 256 megabytes input  standard ...

  3. 暑假练习赛 003 F Mishka and trip

    F - Mishka and trip Sample Output   Hint In the first sample test: In Peter's first test, there's on ...

  4. Codeforces 703B. Mishka and trip 模拟

    B. Mishka and trip time limit per test:1 second memory limit per test:256 megabytes input:standard i ...

  5. codeforces 703B B. Mishka and trip(数学)

    题目链接: B. Mishka and trip time limit per test 1 second memory limit per test 256 megabytes input stan ...

  6. CodeForces 703A Mishka and trip

    Description Little Mishka is a great traveller and she visited many countries. After thinking about ...

  7. B. Mishka and trip

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  8. cf B. Mishka and trip (数学)

    题意   Mishka想要去一个国家旅行,这个国家共有个城市,城市通过道路形成一个环,即第i个城市和第个城市之间有一条道路,此外城市和之间有一条道路.这个城市中有个首中心城市,中心城市与每个城市(除了 ...

  9. Codeforces 703B (模拟) Mishka and trip

    题目:这里 题意:n个城市,每个城市有个魅力值vi,首先,有n条路将这n个城市连成一个环,1号城市连2号城市,2号连3号****n号连1号城市,每条路的魅力值是其连接的两个城市 的魅力值的乘积,这n个 ...

随机推荐

  1. Linux-----Ubuntu设置开机启动模式

  2. Effective C++ 条款15、16 在资源管理类中提供对原始资源的访问||成对使用new 与 delete要采取相同形式

    1.在资源管理类中提供对原始资源的访问     前几个条款很棒,它们是对抗资源泄露的壁垒,但很多APIs直接指向 资源,这个时候,我们需要直接访问原始资源.     这里,有两种方法解决上述问题,我们 ...

  3. 使用string实现一个用于储存那些太大而无法使用 long long 的数

    类的定义: class stringInt { public: stringInt(); stringInt(string num); stringInt(int num); stringInt op ...

  4. Python——list切片

    前文简单介绍了Python中的list和它常用的一些函数,知道list是一个有序的数据集合,那么我们如何获取list中的元素呢? Index: 与C语言中数组一样,list可以通过每个元素的index ...

  5. 修改flash builder注释里的@author

    在flash builder里,按Ctrl+Shift+D可以很方便在添加AsDoc注释.可是有些生成的@author是系统的用户名(如:administor),怎么修改这个为自己的名字呢? Step ...

  6. linux UDP,TCP相关特性

    好长时间没使用网络编程忘得差不多了,写了TCP,UDP测试代码,得出以下结论:   一:UDP特性 1. UDP sendto函数不管对端是否存在(即使对端原本存在,现在已经关闭了),都义无反顾的发送 ...

  7. Eclipse搭建Web Service服务

    1.建立动态Web工程(Dynamic Web Project),工程名为Server.编写类HelloWorld. package com.mysever; public class HelloWo ...

  8. MVC 基于FormsAuthentication 方式的权限验证

    1.登录的代码 1 [HttpPost] 2 public ActionResult Index(User entity) 3 { 4 User user = GetUser(entity.Name, ...

  9. linux以及git和maven常用命令

    maven常用命令: clean install -Dmaven.test.skip -Ptest-lx   (注意:test-lx是pom文件名) 其他 https://www.cnblogs.co ...

  10. lint (software)

    lint (software) - Wikipedia https://en.wikipedia.org/wiki/Lint_(software) A linter or lint refers to ...