Codeforces Round #534 (Div. 2) 题目思路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40924940/article/details/86625500

http://codeforces.com/contest/1104

A.  很简单 从 9 到 1 遍历一波 ,如果可以整除就记录是 9 - 1中某个数的几倍(当然如果是 1-9之间的数 不能出现只分解成自己那种情况) 距离 4不能分解成 1 4 而是要变成 2 (2 2) 这样,因为题目要求是尽可能少分,所以从 9 到 1遍历就好了。。

B. 消除连续相等字母,消除的次数 cnt 如果是奇数 我方胜利,否则对方胜利,s长度到了 1e5 如果直接用栈会炸,所以手搓一个栈,之后就可以参照括号匹配这种题目。。。当然消除一对相等的字母要对 cnt 计数加一,最后判断胜利。。

C. 简单的贪心。。。我们可以这样判断,对于竖着木条我们只考虑放前两排,横着木条只考虑放在第三排,之后竖着的每四个消除一次,横着的每两个消除一次。。。当然贪心的思路很多。。这只是一种思路。。。

D. 一道交互式题目。。太菜了。。没看懂题目要求的函数怎么用。。。但是题目还是很简单的,有一个数n,系统每次询问你? a b,如果,a%n>=b%n 输出x,否则输出y要求在60次以内找到这个n

从?0 1   返回x代表就是1 ?1 2 ?2 4 那么这完全就是在模拟一个二分的过程,不断询问下去,如果返回x就是说明n在【2^i,2^(i+1)】,跑29次再输出答案就可以了,当然需要一个交互式函数 fflush(stdout); 太菜了以至于我根本没理解这个函数的意思。

猜你喜欢

转载自blog.csdn.net/qq_40924940/article/details/86625500