Codeforces Round #243 (Div. 2)——Sereja and Swaps
版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/u012476429/article/details/24665103
- 题意:
给定一个整数序列长度为n。能够至多交换k次,求最大连续区间和(1 ≤ n ≤ 200; 1 ≤ k ≤ 10) - 分析:
自己上来先考虑的方向是:先找出最大连续区间和。然后逐个交换,可是这样没法处理。对于最大区间内的交换直接找出最小值就可以,可是假设最优位置不在当前区间内,情况就不优点理了
依据上述特点,方向应该是。固定区间长度,然后进行交换。这种复杂度是O(n^3),对于数据能够接受
const int MAXN = 210;
int ipt[MAXN], ta[MAXN], tb[MAXN];
int main()
{
// freopen("in.txt", "r", stdin);
int n, m;
while (~RII(n, m))
{
FE(i, 1, n) RI(ipt[i]);
int ans = -INF;
FE(i, 1, n) FE(j, i, n)
{
int t1 = 0, t2 = 0;
FE(k, i, j) ta[t1++] = ipt[k];
FE(k, 1, i - 1) tb[t2++] = ipt[k];
FE(k, j + 1, n) tb[t2++] = ipt[k];
sort(ta, ta + t1); sort(tb, tb + t2);
reverse(tb, tb + t2);
int e = min(min(m, t1), t2);
REP(k, e) ta[k] = max(ta[k], tb[k]);
int sum = 0;
REP(k, t1) sum += ta[k];
ans = max(ans, sum);
}
WI(ans);
}
return 0;
}Codeforces Round #243 (Div. 2)——Sereja and Swaps的更多相关文章
- Codeforces Round #243 (Div. 2)——Sereja and Table
看这个问题之前,能够先看看这个论文<一类算法复合的方法>,说白了就是分类讨论,可是这个思想非常重要 题目链接 题意: 首先给出联通块的定义:对于相邻(上下和左右)的同样的数字视为一个联通块 ...
- Codeforces Round #243 (Div. 1)——Sereja and Two Sequences
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012476429/article/details/24798219 题目链接 题意:给两个长度分别 ...
- Codeforces Round #243 (Div. 1)——Sereja and Squares
题目链接 题意: 给n个点,求能组成的正方形的个数. 四边均平行与坐标轴 大神的分析: 经典题 我们考虑每一种x坐标,显然仅仅有<= sqrt{N}个x坐标出现了> sqrt{N}次,我们 ...
- Codeforces Round #243 (Div. 1)A. Sereja and Swaps 暴力
A. Sereja and Swaps time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #243 (Div. 2) A~C
题目链接 A. Sereja and Mugs time limit per test:1 secondmemory limit per test:256 megabytesinput:standar ...
- Codeforces Round #243 (Div. 2) C. Sereja and Swaps
由于n比较小,直接暴力解决 #include <iostream> #include <vector> #include <algorithm> #include ...
- Codeforces Round #243 (Div. 2) C. Sereja and Swaps(优先队列 暴力)
题目 题意:求任意连续序列的最大值,这个连续序列可以和其他的 值交换k次,求最大值 思路:暴力枚举所有的连续序列.没做对是因为 首先没有认真读题,没看清交换,然后,以为是dp或者贪心 用了一下贪心,各 ...
- Codeforces Round #243 (Div. 2) Problem B - Sereja and Mirroring 解读
http://codeforces.com/contest/426/problem/B 对称标题的意思大概是.应当指出的,当线数为奇数时,答案是线路本身的数 #include<iostream& ...
- Codeforces Round #243 (Div. 2) B. Sereja and Mirroring
#include <iostream> #include <vector> #include <algorithm> using namespace std; in ...
随机推荐
- Windows Server2008安装mysql5.6出现程序无法正常启动(0xc000007b)
下载 到官网下载mysql5.6版本,msi安装包只有32位无64位 移动到指定文件夹下,解压文件 添加环境变量 变量名:MYSQL_HOME 变量值:C:\Program Files\mysql 即 ...
- Kilani and the Game CodeForces - 1105D (bfs)
沙茶bfs打了2小时... queue入队量太大了, 放函数里直接T了, 改成全局46ms #include <iostream> #include <algorithm> # ...
- from * import *(ImportError: No module named *)为什么报错没有这个目录
先说下from * import * 的原理:比如有路径D:\fanbingbing\ai\wo.py这么一个文件,而现在你在D:\fanbingbing\buai\ni.py(别介意这么比喻..(⊙ ...
- mysql判断表记录是否存在,不存在则插入新纪录
开始以为和SQL Server一样,使用not exists进行判断,结果不行: ) INSERT INTO vrv_paw_template(templateName,templateFileNam ...
- 变形CSS3
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...
- Python学习之路day3-集合
一.概述 集合(set)是一种无序且不重复的序列. 无序不重复的特点决定它存在以下的应用场景: 去重处理 关系测试 差集.并集.交集等,下文详述. 二.创建集合 创建集合的方法与创建字典类似,但没有键 ...
- close_on_exec标志位的作用
转自:http://blog.csdn.net/sunlylorn/article/details/6363727 close_on_exec 是一个进程所有文件描述符(文件句柄)的位图标志,每个比特 ...
- POJ 3083 Bfs+Dfs
注意求最短路的时候用Bfs. #include<iostream> #include<stdio.h> using namespace std; int w,h,ex,ey,s ...
- linux create a process
When the system starts up it is running in kernel mode and there is, in a sense, only one process, t ...
- vuex 简单理解
废话不多说,直接上图! 不懂的 参考 API