zoukankan      html  css  js  c++  java
  • 2018.10.18- oj3969 pd

    题目描述:

    小q 的女朋友送给小q n个整数。但是这些数太大了,小q 的女朋友拿不动,于是拜托小q把这些数减少一些。小q 每次可以选择其中的两个x,y (不能同时选择同一个数) 变成x−P,y−Q现在他希望能知道最多能帮女朋友减掉多少P,Q。

    输入:

    第一行一个数表示n。

    第二行由空格隔开的n个数。

    第三行两个数,表示p,q。

    输出:

    一行一个数,表示能减掉的PP和QQ的总和。

    数据范围:

    对于前20%20%的数据,n≤5;

    对于100%100%的数据,1≤n≤50,ci≤2000,50≤P,Q≤2000。

    (看到这个数据范围!!内心激动!其实测试快结束有想对方向,但T1写太久了+  T3以为会写...以为唉TT)

    算法标签:DP

    思路:考虑到只要有能配对的等个数p,q,且不和自己匹配,我们可以由此想到dp,仔细一算,如果存剩余的p,q发现p,q的个数最多才2000个,数组滚动就存的下了,测试就想到这..连转移都没想..菜啊..空间ok了,掐指一算时间,发现事情不太对劲,这时候听讲评得出一个绝妙的continue!!i,j表示未匹配p,q的个数,于是有(i&&j>40)continue;break;因为单个a[i]至多只能匹配四十个p||q,一旦j>40,表示在之前一定存在更大的匹配对数。

    代码:

    View Code

    一开始写continue效率倒一....拇指

  • 相关阅读:
    个人学习随笔(psi-blast随笔)
    psp进度(11月25号-31号)
    本周psp(11月17-23)
    规格说明书练习-吉林市1日游
    补PSP进度(10.28-11.3)
    第九周PSP&进度条
    (第九周)读构建之法有感1
    (第九周)读构建之法有感2
    词频统计的效能测试。
    (第二周)读《构建之法》有感
  • 原文地址:https://www.cnblogs.com/Jessie-/p/9830339.html
Copyright © 2011-2022 走看看