CF 248 C. Ryouko's Memory Note
来源:互联网 发布:jq数组是否包含某值 编辑:程序博客网 时间:2024/06/05 16:09
记录每个点相邻的点, 遍历所有的点,假设更新点是当前点的这些相邻点的中点(贪心), 进行计算并更新结果。
#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>#include<math.h>using namespace std;#define N 100005typedef long long LL;vector<int> v[N];int a[N];int main(){int n, m;while(~scanf("%d%d", &n, &m)){for(int i = 1; i <= n; i++){v[i].clear();}LL all = 0;a[0] = 0;int p = 0;for(int i = 1; i <= m; i++){scanf("%d", &a[i]);p = p > a[i] ? p : a[i];}for(int i = 2; i <= m; i++){if(a[i] != a[i-1]){all += abs(a[i] - a[i-1]);v[a[i]].push_back(a[i-1]);v[a[i-1]].push_back(a[i]);}}LL ans = all;for(int i = 1; i <= p; i++){LL t = all;int _size = v[i].size(); if(_size == 0) continue; sort(v[i].begin(), v[i].end()); int mid = v[i][_size / 2]; for(int j = 0; j < v[i].size(); j++) { t += (abs(v[i][j] - mid) - abs(i - v[i][j])); } ans = min(ans, t);}__int64 res = ans;printf("%I64d\n", res);}return 0;}
0 0
- CF 248 C. Ryouko's Memory Note
- CF 433C Ryouko's Memory Note
- C. Ryouko's Memory Note
- Codeforces Round #248 (Div. 2) C.Ryouko's Memory Note
- Codeforces Round #248 (Div. 2) C. Ryouko's Memory Note
- Codeforces Round #248 (Div. 2) C - Ryouko's Memory Note
- Codeforces 433C Ryouko's Memory Note
- Codeforces 433 C. Ryouko's Memory Note
- Codeforces 433 C Ryouko's Memory Note
- Codeforces 433C Ryouko's Memory Note
- Codeforces433 C Ryouko’s Memory Note
- codeforces #433C Ryouko's Memory Note
- CodeForces 433C Ryouko's Memory Note(暴力加中位数)
- codeforces #433C Ryouko's Memory Note(瞎搞)
- CodeForces 433C Ryouko's Memory Note (数学)
- Ryouko's Memory Note(书本翻页)
- codeforces248(div1) A. Ryouko's Memory Note
- Codeforces RoundC. Ryouko's Memory Note
- 琢赘仔族撞左琢篆总做妆撰踪字昨缀着邹
- Android自定义控件——仿淘宝、网易、彩票等广告条、Banner的制作
- 【水模拟】#62 A. Irrational problem
- S3C2440启动代码2440init.s彻底解析
- android 自定义控件--(圆盘形菜单控件)
- CF 248 C. Ryouko's Memory Note
- abstract 抽象类
- Dijkstra算法
- RMI学习笔记
- 【cocos2d-x-3.1.1系列2】cocos2d-x3.1.1移植安卓过程
- Linear regression with multiple variables(多特征值的线性回归)
- 1006
- 继承
- 试题1