P2882 [USACO07MAR]面对正确的方式Face The Right Way

$n<=5000$?枚举翻转长度,顺序模拟就ok了

对于每次翻转,我们可以利用差分的思想,再搞搞前缀和。

(输出反了还交,真菜)

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define N 10010
int n,a[N],s[N],p[N],ans,mnd=1e9;
int main(){
scanf("%d",&n); char q[];
for(int i=;i<=n;++i)
scanf("%s",q),a[i]=(q[]=='B');
for(int i=n,tot,ed;i>=;--i){
memset(p,,sizeof(p));tot=,ed=;
for(int j=;j<=n-i+;++j){
s[j]=s[j-]+p[j];
if((a[j]+s[j])&)//该位需要翻转
++s[j],--p[j+i],++tot;
}
for(int j=n-i+;j<=n&&!ed;++j){
s[j]=s[j-]+p[j];
if((a[j]+s[j])&) ed=;//判断剩下的是否有转到前面去
}
if(!ed&&tot<=mnd) mnd=tot,ans=i;//更新答案
}printf("%d %d",ans,mnd);
return ;
}

bzoj1704 / P2882 [USACO07MAR]面对正确的方式Face The Right Way的更多相关文章

  1. 洛谷P2882 [USACO07MAR]面对正确的方式Face The Right Way(贪心)

    题目描述 Farmer John has arranged his N (1 ≤ N ≤ 5,000) cows in a row and many of them are facing forwar ...

  2. [USACO07MAR]面对正确的方式Face The Right Way

    题目概括 题目描述 Farmer John has arranged his N (1 ≤ N ≤ 5,000) cows in a row and many of them are facing f ...

  3. 以正确的方式开源 Python 项目

    以正确的方式开源 Python 项目 大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清 晰和无痛.我不是 ...

  4. iOS开发小技巧--相机相册的正确打开方式

    iOS相机相册的正确打开方式- UIImagePickerController 通过指定sourceType来实现打开相册还是相机 UIImagePickerControllerSourceTypeP ...

  5. const、static和extern的正确使用方式

    我们在看一些大牛的第三方时,里面会出现很多const.static和extern,尤其是const和static,const和extern的结合使用,直接令很多小伙伴懵逼了,今天就详细讲解一下这三个关 ...

  6. @synthesize的正确使用方式

    @synthesize的正确使用方式 一. @synthesize的错误使用方式 类1和类2是继承关系, name是类1的属性 但是类2的实现里加入了@synthesize name = _name; ...

  7. Xcode 的正确打开方式——Debugging(转载)

    Xcode 的正确打开方式——Debugging   程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode.这篇博客就主要介绍了 Xcode 中几种能 ...

  8. 以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区

    以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区 以正确的方式开源 Python 项目 英文原文:Open Sourcing a Python Project the Right ...

  9. 以正确的方式开源 Python 项目(转)

    大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清晰和无痛.我不是简单的指——“创建一个GitHub库,提 ...

随机推荐

  1. bootstrap中点击左边展开

    <div id="sideNav" href=""><i class="material-icons dp48 glyphicon- ...

  2. 掌握新变革,解密新趋势|msup第29届MPD软件管理工作坊成功召开

    由msup主办的第29届MPD软件管理工作坊于7月9日-7月10日在北京国家会议中心举行,25位一线讲师,近500名软件研发工作者共同探讨软件研发与科技发展趋势. 随着移动互联网的发展,软件开发行业的 ...

  3. MapReduce的计数器

     第一部分.Hadoop计数器简述 hadoop计数器: 可以让开发人员以全局的视角来审查程序的运行情况以及各项指标,及时做出错误诊断并进行相应处理. 内置计数器(MapReduce相关.文件系统相关 ...

  4. Python模块NumPy中的tile(A,rep) 函数

    from NumPy import * 函数形式: tile(A,rep) 功能:重复A的各个维度 参数类型: - A: Array类的都可以 - rep:A沿着各个维度重复的次数 这个英文单词的本意 ...

  5. Ubuntu16.04 搜狗输入法输入汉字时候选栏是一串字符数字乱码问题解决方法

    https://blog.csdn.net/liudahanghang/article/details/80494851 1. 如果是刚装完搜狗输入法,则输入命令:sudo apt-get insta ...

  6. 异步IO

    异步IO   在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘.网络等IO.在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件.发送网络数据时,就需要等待IO操作完成, ...

  7. java web启动后执行初始化任务

    写一个类继承ApplicationListener,可以直接引用下述代码,然后调用相应的方法. package com.linewell.system; import com.linewell.cac ...

  8. 自增ID时如何插入ID

    自增ID时如何插入ID SET IDENTITY_INSERT TABLE_NAME ON; INSERT INTO TABLE_NAME(XXX, XXX,..., XXX) SELECT XXX, ...

  9. Git Gui 查看分支历史的时候中文显示乱码

    如图所示 解决方案1 在Git Gui工具栏上选择-编辑-选项: 选择:Default File Contents Encoding, change为UTF-8 成功: 解决方案2  C:\Users ...

  10. HTML5-CSS3-JavaScript(2)

    我们就从HTML5的基础总结起.希望可以提高自身的基础. HTML5 新增的通用属性 1. contentEditable 属性 HTML5 为大部分HTML元素都增加了contentEditable ...