粉丝219获赞2498

我是今天小长,是刘华林。好,我们看这道题。船至川修学院共总共召集了 n 位这个志愿者来负责打扫活动,现在需要你负责帮忙统计每位志愿者的工作情况,用来制作光荣榜,给他们发小花花。 第二位志愿者有个工作时长 ti, 以及他们负责的工作的难度系数 ki, 一名志愿者的贡献度可以用 ki 乘 ti 确定,现在要为这些志愿者的贡献度从大到小排个序,请你完成这个任务。相同贡献度的志愿者以工作时长较长的排在前面, 如果贡献时长贡献的和和些食堂一样,那么编号小的志愿者排在前面。然后看输入格式就是第一行,一个 n 也就一共有多少个志愿者,然后 第二行呢?就是他们每第一位志愿者就第一行,就是,嗯,当看像这个一二的时候,这个是第一个志愿者,第二三的时候是第二个志愿者, 那么每一个都是时间和他的难度系数。然后我们看输出格式是一共 n 个数字,那么就是 di 的数位,代表的是排名。 dlv 的志愿者的序号从一号开始编号。 这道题的时长比较长,但是我们还得注意这个时间复杂度的问题。首先他在输入方面,我们去查看一下,他一共有五乘十的五次方。 枪鱼, 我们既然知道现在 n 是五乘十的五次方,我们写一下相当于这个数字,那么呢我, 我们因为美 n 个数,我们需要输入两个,比如美 d, n, 嗯,等等, 稍等一下,五,然后五个零,然后呢乘上一个二,相当于你看一共六个零,这样的话时间复杂都会比较严重,并且输入输出还会包括这个他的 这个缓缓存区的费时,那么这个题很有可能过不去,那我们就要开始考虑了。首先我们先分析这道题, 他既然有第二位志愿者,有关于有期工作时长,难度系数,贡献度,还有他的编号,也就第第 编号,编号一共有四个,那么我们当选呢?可以用数组,当选的话,我们可以使用数组去一个一个一个的去存。 那我们呢可以用第二种方式,那就是用结构体这种方式,结构体的话,他可以最好的方法就是可以去把它很多数据包括成一个类型,一直相当于创建一个新的数据类型。我们照样先开局的时候,先把框架写下, 万能头主函数返回,这就我们初步框架。然后呢我们就要写一下这 代码,为了方便我也可能会加上一些注释,然后看这道题,我们既然要用结构体,那么结构体的定义方法是先写一个 st, r, u, r, u, c, t, drop, 然后呢再定一个名字,这边你的名字可以随便定,我选择用 note 这个名字,当然后它里面一共我们刚刚已经提到了四个数据,一个时长,一个系数,一个贡献度,一个编号,那么我们就以他们的首字母来定名了,那么是 int, 工作时长就用 g 来代表,然后工作系数就用 x 代表,因为两因为两个 g 会重复定义。然后贡献度呢用,或者说我们可以直接把工作时长直接用人家的名字 t 来代表, 难度系数直接用 k 代替,然后贡献度我们就用 g 来代替,还有他的编号我们就用他的手,那么他按照这个第一个字母 b 来代替,那么其实我们就定义好了这个数,这个我们就可以去使用了,然后我们再根据人家题目先把这个 n 数一下, 我们还要加上注视,这样这样后面修改的时候知道在哪出错 ins n, 然后呢我们在主函数里面就直接输入往复循环进行,简单便利。 这个地方呢,我们需要再回到我们这个结构体这个地方,他在我们他在后面是不是加一个自动加一个分号,那么在分号和大括号之间我们可以去添加一些变量名,比如说我们用左至 愿者的志这个 z 来代替,那么我们就可以用它来这个数字去存入,我们看一下数据类型去定义它的大小,然后输入总这个志愿者的 di 这样的减, 因为我们 vi 代表的就是这下以下以 i 为下标的这个结构体,而我们还需要调用结构体里面的数据,那么也就是第一个我们看到他第一个输入的是时间 t, 那我们就 z i 点 t, 这样就相当于就找到了这个下标为 i 的这个 z 数组里面的这个 t 就可以了,然后再输入 z i 点 k, 此时我们输入就完成了,我们在这边加个注释, 但是我们刚刚已经说到了,要考虑到他这个时间复杂度,虽然他好像给我们了五秒时间,但是我们也不,我们在第一次做题时也不能确定, 所以说我们就需要用,我们需要用更简便的方法,既然我们已经刚刚已经确定了,他肯定会容易超,那我们就用一代一个代,我们怎么去能解决他的这个时间复杂呢?我们可以用两种方式,一个用 scaf, s, d, a, n, f, 然后里面的格式是首先是一个 个字符串,然后呢也就输入的网格式,然后呢就是后面就一堆数据,那我们既然要输入 n 的话,我们该怎么输入呢?百分号 d, 取地址福,恩,这个雨号就是取地址福,单个的雨就是取地址福,两个雨才叫合并且的意思。 那么百分毫 d 呢?代表的就是以整数类型去输入,那么这个代码我们可以去解决他的时间复杂度,这是一种方法。那么还有一种方法呢?是我可能比较常用的,就是用一串代码, ls, s, y, n, c, 下划线,位子下划线, s, t, d, i, o, false, 这个代码是什么意? 他相当于在那个啥简单的讲一下,就这个代码呢,这一串代码相当于是让这个输入和输出一个 c, in 和 sealt 这种比较费时的输入方法,让他们取消和这个 缓存去的连接,也就说他们和那么这个代码出现之后,他们的时间复杂度就和这个 skinf 就已经相差不多了,我比较喜欢用这个直接就写上一份, 那其实也要可以要多去学习一下这个 scarf, 然后此时我们输入的问题处理了,我们就可以开始处理他这个整个数据了。 我们当然我们知道我们知道的排泄方法有很多种,最简单的一种,那么就是排冒泡,冒泡了什么呢?我画个图给你解释一下,应该有一部分会冒泡,相当于你看一堆出 数据,一个两个三个减,看这个圈的大小就是一个数据,那么第二个圈比第一个圈大。如果说我们要按从大到小排序的话,那么我们先是排第一个和第二个, 那么第一个和第二个发现第二个比第一个大,那么我们要从大到小排泄,我们就需要把需要把这个哎第二个像冒泡,像泡泡一样把它往上冒一层看,像这样,然后呢第二个和第三个再比一下,发现第三个更大,所以我们要把第三个要往上冒一颗, 这就是大致的样子,我就不往后画了。但是呢这个当然非常的费时间,因为他毕竟要循环,循环非常不是大的量循环,所以说我非常费时间,那我们就用第二种方法快速排序算,那么快速排序呢?人家既然已经给我们了,给了我们一个函数了,我们就可以直接去掉了 这个里面的一些内容什么的,就比如说他怎么排序的,可以去后面去,去网上搜查,相对去百度查一下。那我们 sort 呢,用法是 s、 o, r、 t, 然后呢括括号,第一个是某个数组的起点, 我们既然是 z, 然后我们因为我比较喜欢用从一开始去穿,所以我们需要 z 加一才能行, 他写成为零,从一从零开始,然后自己加一加上 n, 这就已经他就从头到尾排序了,但是我们这样写的话,他会报错,这是为什么呢? 因为我们得考虑到我们这个 z, 它是以新的类型 no 的去存储的,但是我们 sort 呢,它默认为用 int 类型去排序的,所以说我们这个地方我们需要额外注意一下,我们需要在这边再填入第三个参数, 就是我们的排序方法,经常用 cmp 代替,也可以用其他名字代替,这 cmp 呢,它并不是,我们并不是一个那啥的被系统定义过的,我们需要自己定义,它其实就相当于一个我们自己定义的函数,我们在这边先写一下注释,然后再回来看 定义,把这个注释写的完整点,要不然的话可能到后期修改会有点复杂,那么再回到上面,也就在主函数外面,我们需要再定义一个函, 定一个这个函数,这个地方可以用 it, 也可以用布,但是建议用布,因为它最后是用通过布去判断它是否有化,那么此时布,然后呢? c, m, p 两个数据,两个数据 一定要注意他,他只能存入两个数据,并且两个数据呢必须和他这个数组里面的,或者说我们往里面放的这个两个这个 z, 他的数据类型必须得相符,那么也就相当于我们对需要定义 note x 的和 no 的 one 这个名字就自定。 那么此时我们在里面怎么去写呢?我们就需要看人家的排序规则,因为我们要完成直接一个排序就结束整个题目,我们再看回去他的排序规则,我们找一下 看他按让用志愿者的贡献度从大到小排个序,但是呢肯定会有相同志愿贡献度,就需要以工作时长以较长的排在前面,如果贡贡献和时长都一样,那么才编号较小的。我们首先先得把这些特殊情况判定,如果 有两个贡献值,那么 x 和 y 其实就两个共,那个啥志愿者,那么如果 x 的他的贡献度也就我们刚刚写的 g, 如果等于 y 点 g, 因为什么意思?也就相当于他们俩相等了,我们就需要更多的其他的,我们今天不写, 否则也就 s, 那么就 return x 点 g 小于 y 点大于 y 点 g, 这样这个 return 的值如果是处,他就不会去调换,如果是放死他们就会调换, 那么此时就,那么此时用这个方法的话,可以直接让他的贡献度从大字上排序,然后再往里面看,再往另上面的。如果相等就按时长,那么也就是如果 x 点时长也就 t, 如果小,如果大,如果等于 y 点 t, 我们还是要考虑测试情况,那么也是还有一种带, 那么咱也不考虑,咱先写奥斯里面的代码,奥斯里面在吗?那么意味着就是用长度来代替,那么 x 点 t 大于 y 点 t, 也就是用时长来去排泄,那么如果在如果他们讲时间相等,就是编号比较小,我们就是用 b 代替,那么也就是 vtr x 点 b 小于 y 点 b, 咱这个代码就差不多了,是不是?那我们再输出一下 我们这个代码是不是就写好了,我们要记得加上括括宫空格,要不然会出现问题, 那我们来便利一下编译一下 p, 这个后面保存的文件你们可以自定,但是我比较喜欢用它的编号去定义, 等待一会,然后我们把这个是样例复制一下,发现我们输出的全部是零,意味着什么?我们连编号都不知道, 那么这是为什么?我们再回去看我们的代码有什么问题?代码中我们,我们既然我们可以看到我们输入这个地方, 我们是不是只输入他的时间和他的系数,那么我们还没有他的这个贡献度,还有他的编号,那我们需要去存储那么 diy 的, diy 的编号其实就等于 i, 因为它毕竟是 d i 的,那么 z i 的这个 g 就其实就等于咱们的 z i 点,就 z i 点 t, 乘上乘上,乘上 z i 点 k, 这样我们就可以了,我们再尝试一下, 看是不是可以了。把这个代码我们可以再去测试一下,我们试一试 看我们是不是过了这个题的话,它的关键的在于就是我们需要保证它的时间复杂,虽然它可能跟我们时间比较多,我们,但我们也需要用时间复杂还有它的一些关于这个结构体排序的方法,那么我们这那我们这道题就解决完了。

六点到十点呢,我们作为新粉厂的时候呢,我们这个时间段主要是以转化新粉为主,做一个新粉的转化。这个时间呢,我们给大家介绍的产品呢,主要是以些爆款还有一些引流款为主, 因为咱们直播间的爆款和引流款呢,肯定肯定一些老粉丝他都已经下过单了啊,一,尤其是一些铁粉都已经下过单了, 那这些时间段呢,肯定老粉的下单率呢不如新粉,但是新粉这个时间呢,下单率其实还是蛮高的,为什么呢?因为第一是刚开播, 第二呢,呃,刚开播他那个流量推送会多,第二呢,我们上的都是一些直播间的爆款和引流款,性价比肯定会很高,而且肯定都是一些比较好的款式,所以说呢,这个时间段的新粉的转化率呢,还是非常好的,我们叫做新粉厂做一个新粉的 转化,那么在啊,十点到下午两点的时候,我们做一个清仓,那这个时间呢,清仓呢啊,其实大家都知道,所有的直播间呢, 我们都是尽可能的为大家准备很好的产品,但是呢,可能并不是每一款产品呢都会卖的非常好,可能会有一些滞留的款式也会有呢,我们可能库存准备的太多了啊,会有一些卖不掉的,所以这个时间呢,需要我们来做一个清仓, 在清汤的这个时间段呢啊,所有的老粉也好,新粉也好,是都可以下单了,因为说白了这就是一个简陋的时间长,那大家呢,互动性包括参与性的也都非常高,因为它的性价比会非常非常的高。 那在下午两点啊,到晚下午六点的时候呢,我们叫做一个老粉厂,因为啊每一个直播间呢,都有自己的老粉啊,都有自己的粉, 是铁粉,那在这我们往往会在开播之前呢,会跟这些铁粉们呢做一些沟通,会针对性的根据他们的需求来上一些产品啊,针对的关联性的产品会针对他们,这样的话呢,我们可以留住一些老粉铁粉, 同时呢增加这些铁粉的粘性,以及他们的互动性啊,以及他们的复购率,所以说呢,这个时间呢,我们叫做老粉厂, 那么在下午六点到晚上十点的时候呢,咱们要有一个上新场。大家都知道,其实每一个直播间,那我们除了爆款,引流款,清仓,还有老粉的这些款式之外,那肯定是要上新的啊,甚至我们要经常的去上新, 那上新厂的我们一般安排在六点到十点这个时间段呢,我们所有的引流款也给大家都上过了啊,针对老粉的一些款式也上过了, 那我们这个时候就要上新了,大家都知道新款呢将会是我们直播间的下一个方向,也同时会是我们的一些利润款,因为毕竟新款我们是要赚钱的,对不对?所以说呢,在这个时间段呢,大家的精力呢一定要打好啊,一定要集中起来,我们来打这个上新场。

