贪心+构造 Codeforces Round #277 (Div. 2) C. Palindrome Transformation
2024-10-21 10:04:41
/*
贪心+构造:因为是对称的,可以全都左一半考虑,过程很简单,但是能想到就很难了
*/
/************************************************
Author :Running_Time
Created Time :2015-8-3 9:14:02
File Name :B.cpp
*************************************************/ #include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std; #define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int MAXN = 1e5 + ;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + ;
char s[MAXN];
int a[MAXN];
int n, p; int main(void) { //Codeforces Round #277 (Div. 2) C. Palindrome Transformation
scanf ("%d%d", &n, &p); scanf ("%s", s + );
if (p > n / ) p = n - p + ;
int l = n + , r = ; int ans = ;
for (int i=; i<=n/; ++i) {
if (s[i] != s[n-i+]) {
l = min (l, i); r = max (r, i);
ans += min (abs (s[i] - s[n-i+]), - abs (s[i] - s[n-i+]));
}
}
if (ans == ) puts ("");
else {
printf ("%d\n", ans + r - l + min (abs (p - l), abs (r - p)));
} return ;
}
下面的图片更形象点。。。
最新文章
- 17-前端开发之jQuery
- 修改AssemblyInfo.cs自动生成版本号
- Linux -- 文件统计常用命令
- Codeforces Round #381 (Div. 1) B. Alyona and a tree dfs序 二分 前缀和
- 在Linux下不使用密码远程登陆其他Linux
- 不可错过的手机APP常见8种界面导航样式
- case 后面可以接汉语
- Hadoop2.4.1 64-Bit QJM HA and YARN HA + Zookeeper-3.4.6 + Hbase-0.98.8-hadoop2-bin HA Install
- Android 定义自己的学习(5)它们的定义Progressbar
- oracle高级查询(实例基于scott用户四张表)
- MySql 学习之路-Date函数
- JS之汉字与Unicode码的相互转化
- 二叉树遍历-c实现
- Gym-100883F、Gym-101095B状态压缩小结
- Struts2将图片输出到页面
- webWorker
- uitableview分组的数据2中方式
- inter x86 emulator accelerator(HAXM installer) not compatible with windows
- php date strtotime的用法
- TensorFlow的前世和今生