zoukankan      html  css  js  c++  java
  • [FZYZOI比赛]T1256 20130322 (动态规划) 黄地产的生活

    预计得分:100+60+40=200

    第一题(P1858 -- 土地利用):

    非常标准的动规。f[i][j]表示在前i种中选取某一些的情况下,面积为j。使用到的面积。很明显,最后的答案就是S-f[n-1][S](j从0开始)

    那么它的状态转移方程是:f[i][j]=max(f[i-1][j-a[i]]+a[i],f[i][j-1])。需要用到尽可能多的面积使用max不用多说,max中前半段表示,把i这一种房产建起来使用的地产面积(a[i]是第i个房产的面积),后半段是不建房子。边界注意一下即可。

    第二题(P1233 -- 售楼大会):

    我只能说,和[P1659 -- 合唱队形]几乎是一样的题目啊!就是弱化了。

    一开始想到的是最长上升/下降,以i为开头和结尾做一遍。这个就是上次比赛的做法。但是很明显,回文现在未知。

    想到一点点思路:如果我们已经知道了回文的内容,那么可以在O(N)的时间之内找出是否可能。

    似乎不可以?又想到一个:如果对于相同的字母,我们对它建索引呢?

    似乎可以?我们把a[i]展开成所有和它相同字母,在它后面(或本身)的下标,如abcaaa中,第一个a变成5,4,3,0,第二个a变成5,4,3。这样变成了一串数字以后,直接做最长上升子序列!

    只有26个字母,很明显,每个字母平均展开成38位数,1000*38=38000。问题是它不仅需要长度,还要表达式!所以只能使用O(N^2)的算法,T。不过60还是可以的。

    第三题(P1537 -- 投资):

    标准的多重背包。理论最优复杂度O(VN),使用单调队列的方法参考百度吧。我去看看了。

  • 相关阅读:
    DevExpress v17.2新版亮点—ASP.NET篇(一)
    使用MyEclipse将HTML5移动项目迁移到PhoneGap(一)
    DevExpress v17.2新版亮点—WPF篇(七)
    什么是SpringBoot?
    application.yml中常用参数设置
    什么是MyBatis?
    什么是Spring?
    项目访问路径去掉默认的项目名
    StringUtils常用方法介绍
    Spring学习----自动装配@Resource、@Autowired、@Qualifier
  • 原文地址:https://www.cnblogs.com/turtlegood/p/2975936.html
Copyright © 2011-2022 走看看