2017年10月18日 畅游CF div2划水模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017年10月18日 畅游CF div2划水模式相关的知识,希望对你有一定的参考价值。

870A

传送门 http://codeforces.com/problemset/problem/870/A

题意:给定长度为n,m的序列,n,m和序列中的数都在[1,9]中

让你找出最小的一个数,这个数所构成的数字必须是至少有一个在n序列,至少有一个在m序列。

当然,如果n,m中都有相同的数x,你可以只取x当一个数。

题解:我在写题意的时候是不是已经暴露了(算了反正是A题你们随便搞搞吧2333)

直接暴力,没了。

870B

传送门 http://codeforces.com/problemset/problem/870/B

题意:给定一个长度为n的序列,让你把他分成k个子段(必须恰好把序列分完),问你每段序列的最小值的最大值是多少 

题解:既然是DIV2的B,大概不难吧。。考虑要恰好分完把序列n分成k份。

我们考虑一件事情,如果k是1直接取min。

如果k≥3,显然你可以把序列中最大的数拎出来成一个字段,直接取max。

如果k是2,接下来我们证明一个东西。。

我们把序列看成A1...AN,假装我们有一个K,使得把序列分成A1...AK 和 AK+1...AN。我们把AK+1归到左边的话,会怎么样?

如果AK+1比左边的min大,左边的min不会有影响,如果AK+1不是右边的min,显然答案不会有任何影响。。如果AK+1是右边的min(不是min的话,右边min不会有影响),说明右边有比AK+1大的数,我们大可以只留下那个数,其他数都归到左边。。所以显然没什么影响。。

同样的道理可以得出把AK并到右边序列会发生同样的事情。所以对于k==2我们只要考虑最左边和最右边谁大就行了

870C

传送门 http://codeforces.com/problemset/problem/870/C

题意:给定q个询问,每次询问一个数x,问你x最多能被几个合数相加,没有答案输出-1

题解:                                                                                         jimmy之前和我说“yz你直接n/4就行了。好了我去睡觉了”

技术分享技术分享技术分享技术分享

 

 

 技术分享“那你稳了2333”

不要学习jimmy的错误示范!

正确表演:我们考虑一个数可以被二进制表示,就是形如1000111011....表示一个整数x。

考虑,4是最小的合数,所以我们用了二进制!还有一个东西就是2^n=2*(2^(n-1))这个东西,也就是我们不考虑

二进制下的2^0和2^1,其他的2^k都可以用 P*4 来表示考虑如果我们剩下了2^0或2^1怎么办。。先考虑2^1,我们可以发现2^1可以凑到的合数是2^1+2^2 。同理2^0可以凑到的合数是2^0+2*2^2。所以N直接暴力判就行了。。

ans=n/4-1+n%2==0?1:0 大概是这样。。吧

875A

传送门 http://codeforces.com/problemset/problem/875/A

题意:给定一个数n,问你是否存在一个自然数x使得x加上他的每一位的数字的和恰好等于n

题解:傻逼题,直接枚举n-81到n。╮(╯▽╰)╭

 

 

 

 

 

 

 

行吧 刚刚写一半时瞄了一眼微信发现妹子不在,可能忙于学习

 

以上是关于2017年10月18日 畅游CF div2划水模式的主要内容,如果未能解决你的问题,请参考以下文章

10月18日cf

2017 年 02 月 20 日:时间规划

2017年 4月18日

2017年9月18日

2017年1月18日 星期三 --出埃及记 Exodus 22:8

2017年7月6日 星期四 --出埃及记 Exodus 27:18