版权声明:本文为博主原创文章,未经博主同意不得转载。 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的更多相关文章

  1. Codeforces Round #243 (Div. 2)——Sereja and Table

    看这个问题之前,能够先看看这个论文<一类算法复合的方法>,说白了就是分类讨论,可是这个思想非常重要 题目链接 题意: 首先给出联通块的定义:对于相邻(上下和左右)的同样的数字视为一个联通块 ...

  2. Codeforces Round #243 (Div. 1)——Sereja and Two Sequences

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012476429/article/details/24798219 题目链接 题意:给两个长度分别 ...

  3. Codeforces Round #243 (Div. 1)——Sereja and Squares

    题目链接 题意: 给n个点,求能组成的正方形的个数. 四边均平行与坐标轴 大神的分析: 经典题 我们考虑每一种x坐标,显然仅仅有<= sqrt{N}个x坐标出现了> sqrt{N}次,我们 ...

  4. 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 ...

  5. Codeforces Round #243 (Div. 2) A~C

    题目链接 A. Sereja and Mugs time limit per test:1 secondmemory limit per test:256 megabytesinput:standar ...

  6. Codeforces Round #243 (Div. 2) C. Sereja and Swaps

    由于n比较小,直接暴力解决 #include <iostream> #include <vector> #include <algorithm> #include ...

  7. Codeforces Round #243 (Div. 2) C. Sereja and Swaps(优先队列 暴力)

    题目 题意:求任意连续序列的最大值,这个连续序列可以和其他的 值交换k次,求最大值 思路:暴力枚举所有的连续序列.没做对是因为 首先没有认真读题,没看清交换,然后,以为是dp或者贪心 用了一下贪心,各 ...

  8. Codeforces Round #243 (Div. 2) Problem B - Sereja and Mirroring 解读

    http://codeforces.com/contest/426/problem/B 对称标题的意思大概是.应当指出的,当线数为奇数时,答案是线路本身的数 #include<iostream& ...

  9. Codeforces Round #243 (Div. 2) B. Sereja and Mirroring

    #include <iostream> #include <vector> #include <algorithm> using namespace std; in ...

随机推荐

  1. Travelling Salesman and Special Numbers CodeForces - 914C (数位dp)

    大意: 对于一个数$x$, 每次操作可将$x$变为$x$二进制中1的个数 定义经过k次操作变为1的数为好数, 求$[1,n]$中有多少个好数 注意到n二进制位最大1000位, 经过一次操作后一定变为1 ...

  2. FasfDFS intall nginx with image filter

    centOS7 x64 1. install gd-devel 2. ./configure --prefix=/usr/local/nginx --with-http_image_filter_mo ...

  3. nothing added to commit but untracked files present.

    当我们使用git的时候 如果我们在工作区修改了某些文件而没有新增文件,可以直接用: $ git commit --all -m "备注信息"                  -- ...

  4. 基础的shell脚本

    #! /bin/sha="hello world"echo "A is "   echo $a echo "<br />" ec ...

  5. java标号

    标号用于控制循环执行流程: public static void main(String[] args) { mark: for(int i = 0; i < 3; i++) { System. ...

  6. cf935E

    题解: 树形dp 要记录一个最小的,一个最大的 然后转移 代码: #include<bits/stdc++.h> using namespace std; ; ][],f[N*][],T[ ...

  7. markdown实例

    Hi This is a Markdown live editor built using WMD and other open source tools. I use it to write ent ...

  8. ehlib 如何用代码,选中checkbox呢?

    TDBGridEh = class(TCustomDBGridEh) public property Col; property Row; property Canvas; // property G ...

  9. EClassNotFound

    ---------------------------Debugger Exception Notification---------------------------Project Project ...

  10. DevExpress v17.2新版亮点—ASP.NET篇(一)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress ASP.NET v17.2 的GridView Control. ...