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 ;
}

最新文章

  1. setprecision **fixed
  2. JavaScript基础——处理字符串
  3. hdu 4576 概率dp **
  4. 兼容性所有浏览器的透明CSS设置
  5. RBAC(Role-Based Access Control,基于角色的访问控制)
  6. MSSQL 当前会话设置隔离级别与查询
  7. Javasript 正则匹配任意字符
  8. V4l2的结构体 --- ioctl【转】
  9. Django查询笔记1
  10. 如何设置Mac电脑的DNS
  11. ecmall 支付成功 订单状态没有改变解决办法
  12. tp5中代替tp3.2中的一些方法
  13. Spring Boot(七):Mybatis 多数据源最简解决方案
  14. windos8设置cpu数量和内存大小
  15. x-pack 功能介绍及配置传输层安全性(TLS / SSL)
  16. [scrapy] scrapy 使用goose作为正文提取
  17. a标签点击事件
  18. 下载Ubuntu镜像
  19. poj2104 主席树模板题
  20. SpringCloud系列十:使用Feign实现声明式REST调用

热门文章

  1. 50.TO_NUMBER 将给出的字符转换为数字
  2. 记一次Castle报错
  3. Anaconda安装教程+Tensorflow教程
  4. C++基础知识之动态库静态库
  5. iOS-Foundation框架—结构体(转载)
  6. 删除未加入svn版本控制的文件(包括文件夹)
  7. 自定义vueawesomeswiper分页器样式
  8. Android内存泄漏的本质原因、解决办法、操作实例
  9. windows底下怎么让cmder通过输入subl去打开sublime text
  10. 将你的wordpress博客添加到百度个性首页