• 补题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++;
                            }
     看了下我之前写的伪暴力写法 ,也没啥问题,还真的就差一步之遥。
      第二题:
    排行榜问题,更新排行榜则拿到奖励
    占位
  • 相关阅读:
    android程序中界面太大太长太宽如何滚动?
    android textview段落开头空格问题
    android中textview设置为多行文本时,如何让文字从最顶开始显示
    论文写作
    spass按位置编码,进行排序题处理与分析
    Java基础知识
    秒杀系统-效果展示
    秒杀系统-高并发的优化
    秒杀系统-web
    秒杀系统-DAO
  • 原文地址:https://www.cnblogs.com/lx2331/p/14677150.html
Copyright © 2020-2023  润新知