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++;
                            }
     看了下我之前写的伪暴力写法 ,也没啥问题,还真的就差一步之遥。
      第二题:
    排行榜问题,更新排行榜则拿到奖励
    占位
  • 相关阅读:
    JSON
    FBV & CBV
    django Tips
    Django2.2
    cookie & session
    ajax请求
    视图函数
    模板语法
    模板继承、组件
    python之路-----多线程与多进程
  • 原文地址:https://www.cnblogs.com/lx2331/p/14677150.html
Copyright © 2011-2022 走看看