A

=w=

B

计数题,枚举A、C,算B、D的个数,注意减去重复的

我当时是f[1][n]->f[2][n]->f[3][n]->f[4][n]递推的

C

题意:长为n的字符串仅由'2' '3'组成,有m次交换机会,每次交换相邻的两个位置,求最终可以有多少个"233"子串(n<=100,m<=50)

分析:dp

   首先明确的是,交换只可能交换相邻的2、3

   考虑最终的状态,肯定是一些2,在这些2中间有若干个3,这些2的相对位置和刚开始的字符串相同

   f[i][j][k]表示第i个2,所在新字符串位置是j,用了k次交换,带来的最大233串个数

   那么很明显f[i][j][k]=max(f[i-1][j'][k]+(j-j'>=3)) (j==p[i])

        f[i][j][k]=max(f[i-1][j'][k-abs(p[i]-j)]+(j-j'>=3)) (j!=p[i])

   这样复杂度是O(n^3 * m)的

   其实仔细分析,对于上一个2,我们需要记录的并不是上一个2和这一个2之间3的确切个数,我们只关心上一个2和这一个2之间的3的个数是0、1或者大于等于2 这三种情况

   因为233、2333、23333对答案的贡献是一样的

   那么这样就应该有O(n^2 * m)的做法

   考虑将所有2单独挑出来,将所有3单独挑出来,那么最后的结果就是2和3的归并

   f[i][j][k][0..2]表示用了i个2,用了j个3,用了k次交换,对应状态是0、1、2情况下最多233子串个数

   t=0表示此时最后一个2后面有足够的3(>=2)

   t=1表示此时最后一个2后面没有3

   t=2表示此时最后一个2后面有1个3

   通过这个进行转移

D

待补

Bestcoder #92的更多相关文章

  1. BestCoder Round #92 比赛记录

    上午考完试后看到了晚上的BestCoder比赛,全机房都来参加 感觉压力好大啊QAQ,要被虐了. 7:00 比赛开始了,迅速点进了T1 大呼这好水啊!告诉了同桌怎么看中文题面 然后就开始码码码,4分1 ...

  2. BestCoder Round #92 1001 Skip the Class —— 字典树 or map容器

    题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1001 题解: 1.trie树 关 ...

  3. BestCoder Round #92 1002 Count the Sheep —— 枚举+技巧

    题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1002 题解: 做题的时候只是想到 ...

  4. BestCoder Round #92 (hdu_6015 6016)

    比赛链接 A题主要是map的使用,比赛的时候问了下队友,下次要记住了 #include<bits/stdc++.h> using namespace std; typedef long l ...

  5. BestCoder Round #92

    这里是逢比赛必挂的智障选手ysf…… 不知道是因为自己菜还是心态不好……也许是后者吧,毕竟每次打比赛的时候都会很着急.lrd说我打比赛的功利性太强,想想确实是这样. 昨天打完之后自觉身败名裂没敢写出来 ...

  6. HDU_6016_(Bestcoder round #92 1002)_(dfs)(暴力)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6016 题意:给定男羊和女羊的朋友关系,即给定一个图,问从任意一只羊开始连续数四只不相同的羊的方法数. ...

  7. BestCoder Round #92 (hdu 6015 6016)

    比赛链接 A题主要是map的使用,比赛的时候问了下队友,下次要记住了 #include<bits/stdc++.h> using namespace std; typedef long l ...

  8. [BestCoder Round #3] hdu 4908 BestCoder Sequence (计数)

    BestCoder Sequence Problem Description Mr Potato is a coder. Mr Potato is the BestCoder. One night, ...

  9. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

随机推荐

  1. ASP.NET SQL 总结

    1.SQLSERVER服务器中,给定表 table1 中有两个字段 ID.LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句 ...

  2. cocos2d-x lua中实现异步加载纹理

    原文地址:  http://www.cnblogs.com/linchaolong/p/4033118.html 前言   问题:最近项目中需要做一个loading个界面,界面中间有一个角色人物走动的 ...

  3. [转].net cookie版购物车

    本文转自:http://www.sulong.cc/article/program/aspx/110613114249.html #region 添加到购物车AddShoppingCar /// &l ...

  4. jquery中有关cookie的使用简要说明

    jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. <script type="text/javascri ...

  5. 网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1

    今天在做商城项目的[提交订单]功能的时候,向数据库插入数据报错:Incorrect datetime value: '' for column 'ordertime' at row 1 public ...

  6. can't set blob value on that column

    MySQL_Prepared_Statement::setBlob: can't set blob value on that column, MySQL error code:0, SQLState ...

  7. ThinkPHP系统流程

    1.用户通过入口文件访问控制器2.控制器从模型层中提取数据3.控制器将数据返回模板页面

  8. 5步上手体验kettle快捷调度方式

    https://my.oschina.net/u/944575/blog/1557410 kettle调度监控最佳实践 https://my.oschina.net/u/1026947/blog/15 ...

  9. PHP爬数据 QueryList

    QueryList官方文档:https://www.querylist.cc/docs/guide/v3 因为php版本使用5.6,所以使用QueryList v3版本,php7可以使用 v4版本 v ...

  10. 一个小demo熟悉Spring Boot 和 thymeleaf 的基本使用

    目录 介绍 零.项目素材 一. 创建 Spring Boot 项目 二.定制首页 1.修改 pom.xml 2.引入相应的本地 css.js 文件 3.编辑 login.html 4.处理对 logi ...