zoukankan      html  css  js  c++  java
  • 补题next_permutation

      第一题补题:

    题目:田忌赛马,三局两胜
    A 男男男女女女
    B 男男男女女女
    男双 混双女双 每次上场一次 谁大谁赢 平局a赢 问b赢的方案有多少种。
     
    对于next_permutation
    (1)首先,隐含条件: 必须是排序的才能做,不然它不知道何时退出。(一般是从正序排到倒序)
    (2)其次,一般是do while,因为第一次也算。dowhile是先做do再while
     do{
        //代码内容
    }while(next_permutation(b+1,b+4))
    (3)就像sort一样,区间是左闭右开,所以3 3 排序是  b+1,b+4 / b+4 , b+7
    深入探究:
    1 2 3 4 5 6 ,那么1 2 3 有多少种呢?1 3 2 、2 3 1/2 1 3 、3 1 2 、 321
    实际上是6种,因为是全排列…… 
    这样6*6*6*6,反倒不是总计的81 聪明反被聪明误!直接for暴力就可以了!
    (暗含: 上场男1男2.... 相同 vs 男2男1 是一种)
    如果4个for循环,倒还是正好81次
    依然写不对... 这节外生枝的有点过分啊
    100  100 50 40  100 50 40  50 45 40 50 45 40
    100 100  40 50 100  40 50 40 50 45 40 50 45 
    甚至找不出哪里不对,行吧我已经完全往答案靠拢了,还是这样,不想看了,听天命吧艹
    结果发现是这里i j 写错了
    if(sum1[0]-a[i]<sum2[0]-b[j]){
                                tmp++;
                            }
                            if(sum1[1]-a[ii]<sum2[1]-b[jj]){
                                tmp++;
                            }
     看了下我之前写的伪暴力写法 ,也没啥问题,还真的就差一步之遥。
      第二题:
    排行榜问题,更新排行榜则拿到奖励
    占位
  • 相关阅读:
    查找算法:二分查找法(折半查找)
    钞票找零-贪心,动态规划算法
    PHP7与php5
    网站高并发解决方案(理论知识) 二
    loj#6566. 月之都的密码
    我的 Linux 配置
    CTSC2011 幸福路径
    WC2018 即时战略
    uoj#460 新年的拯救计划
    bzoj 5016 一个简单的询问
  • 原文地址:https://www.cnblogs.com/lx2331/p/14677150.html
Copyright © 2011-2022 走看看