Problem_A(CodeForces 686A):
题意:
\[ 有n个输入, +\space d_i代表冰淇淋数目增加d_i个, -\space d_i表示某个孩纸需要d_i个, 如果你现在手里没有\space d_i个冰淇淋, 那么这个孩纸就会失望的离开。\] 你初始有x个冰淇淋。
问最后有多少个孩纸失望的离开了。
思路:
模拟就好了, 判断当前的数目是否足够。
代码:
#include #include #include #include #include #include #include
Problem_B(CodeForces 686B):
题意:
你能做如下操作:
[l, r]保证长度为偶数。
\[ 将(l, l+1), \cdots ,(r-1, r)交换。\] 你最后的目的是将其交换成一个非递减的数列。
请将交换过程中的l, r输出。
思路:
n<100, 可以很暴力的去冒泡, 因为最差的情况也不会超过100*100次。
而题目给的是2W次以内。
昂, 我比较傻逼的写了一个贪心。
每次去找最长的能够交换的区间, 然后进行操作, 一直到不能操作为止。
代码:
#include #include #include #include #include #include #include
Problem_C(CodeForces 686C):
题意:
给你n, m,将其转换成对应的7进制
然后从转换后的[0, n-1]中任选一个数, 再从转换后[0,m-1]中任选一个数。
必须要保证每个数字只出现一次, 即不会有重复的数字。
问你这样的组合有多少种。
思路:
因为是7进制, 而且要保证每位都不一样, 7进制只有7个数而已, 所以如果两个数的长度超过了7, 肯定不行。
\[ 再则, 要注意:转换成对应的7进制! 比如8, 转换成7进制, 是11, 那么这8个数就成了[00, 01, 02, \cdots , 10].而不是[0, 1, 2, 3, \cdots , 10]\]\[ 所以可以先求出它们的长度len_n, len_m, 然后判断长度。\] 枚举0~n, 0~m。 将其分解成对应的7进制后判断是否出现相同数字即可。
代码:
#include #include #include #include #include #include #include
Orz 有点头痛,剩下的等明天再补。今天元气大伤