
CodeForces
文章平均质量分 68
-sky-
这个作者很懒,什么都没留下…
展开
-
CodeForces - 394B 逆推
题目链接:Very Beautiful Number题目大意:给定两个整数 p 和 x; 找出一个p 位的数 这个数要求最后一位移道首位 编程原来的数的x倍;注意不能出现前导0(就是首位不能为0);解题思路: 枚举最后一位 for(int i=1; i倒数第二位: A[p-1] = A[p] * x + c; 倒数第三位:A原创 2017-07-20 14:13:08 · 249 阅读 · 0 评论 -
Mahmoud and Ehab and the bipartiteness CodeForces - 862B 并查集
传送门题目大意:给定一个整数n(1 解题思路:主要是求解两侧分别有几个数字,然后结果就是 a × b - n +1; a和b分别为两边的数量。分类用并查集很简单,可以参考经典并查集题目:食物连。分成两类后遍历数一下看看几个即可。AC代码:#include #include using namespace std;const int max_n =原创 2017-09-21 20:05:29 · 271 阅读 · 0 评论 -
CodeForces - 862E 二分+错位求和技巧
传送门题目大意:给一个长度为n的数组a, 和一个长度为m的数组b,和更新次数q; 函数f(j)的意思是 , 求出最小的函数值,然后会有q次更新数组a, 每次更新一个区间,从l到r之间每个值加x。输出每次更新之后所有f的最小值。解题思路:我们可以通过技巧获得没更新之前的每个函数值,具体看代码。我们看公式可以看出一个规律,我们更新数组a时,如果更新的个数是偶数,等于没更新(数组a的系数原创 2017-09-26 12:14:42 · 297 阅读 · 0 评论 -
Mahmoud and Ehab and the binary string CodeForces - 862D 二分+交互题
题目大意:有一个长度为n的二进制串,你可以自己猜n长度的字符串,然后问题目, 题目会告诉你不一样的位置有几个,最多提问十五次。然后提交任意一个0的位置和任意一个1的位置,题目保证二进制串中最少有一个1和一个0; n的长度不会超过一千解题思路:2的10次方一千左右,因此这个题可以是二分,二分查找条件就是前半部分内是不是包含01串或者10串(就是说只要不全为0或者全为1原创 2017-09-24 15:08:32 · 385 阅读 · 0 评论 -
Mahmoud and Ehab and the xor CodeForces - 862C 异或技巧
传送门题目大意:给定两个整数 n (1 解题思路:我们知道0异或一个数等于那个数,并且相等的数异或之后等于0, 那么我们可以任意找一些数,然后剩下几个进行调整即可,只需把前面的数调整成零,然后最后几个数调整成为k即可,为了避免重复,我们需要把最后几个数跟前面不一样,而题目要求k最大为10^5, 我们可选择的数为小于10^6, 那么我们可以用大于10^5的数进行调整。我们可以原创 2017-09-23 16:29:48 · 233 阅读 · 0 评论 -
CodeForces - 510C Fox And Names 字符串拓扑排序
传送门题目大意:给定一个数字n, 输入n个字符串,根据字符串的顺序得出题目的字典序,比如第一个字符串为abef 第二个字符串为abdf, 则e的字典序在d之前。如果字符串中没有给定的字母,按a~z的顺序。最后输出题目中二十六个英文字母的字典序。解题思路:每个字符串进行逐个比较,找到两个字符串的不同的字母,将两个节点链接,形成一个有向图,然后拓扑排序。需要注意的是没出现原创 2017-08-02 12:23:32 · 309 阅读 · 1 评论 -
Chloe and the sequence CodeForces - 743B
传送门题目大意:给定两个整数n , m; 一个数列,从1开始,每进行一次操作,把自己复制一次放到后面,并在中间添加一个没出现过的最小正整数, 操作n次后 第m个位置的数字是几。解题思路:数列有规律出现,找到最小的队列中出现的次数就好,递归问题。 题目发给定了错做次数,以及出现的位置,我们可以计算出操作n次后数列的长度, A[n] = A[n-1]原创 2017-07-25 15:46:41 · 329 阅读 · 0 评论 -
CodeForces - 745A 字符串操作
传送门题目大意:给定一个字符串,字符串有小写字母组成,通过将最后一个字符移动到第一个,能组成多少种不同的字符串。超级水。。。。。不过这个题有个用string 的写法,很简单, 记一下string吧算是。AC代码:#include #include #include #include using namespace std;map mp;原创 2017-07-25 15:21:42 · 289 阅读 · 0 评论 -
CodeForces - 745B
传送门题目大意:给定一个图 ,确定能否通过平移整个图 使得两个一样的图拼接成一个矩形,不能旋转。注意是整个图移动,一开始理解错了`````思路:很简单的一个水题, 看一下这个图本身是不是矩形就可以,如果时矩形就能拼成矩形,否则不能。 查看图是否为矩形的思路: 遍历一遍,找到边界 最上面的行, 最下面行 最左边列 最右边列 在原创 2017-07-25 15:13:17 · 274 阅读 · 0 评论 -
CodeForces - 455A 01背包
传送门题目大意:输入一个序列的整数,进行删除操作, 如果删除 x 那么队列中所有的 x+1 和 x-1 (注意时值,不是下标,一开始理解错题意了,坑死....) 就要删除. 同时获得 x的个数乘以x的分数, 求出最高得分。 简单的01背包问题, 就是删除还是不删除当前数字,比较往前数两个加上但前的值 与前一个进行比较就好。一开始的A原创 2017-07-24 15:45:11 · 387 阅读 · 0 评论 -
Codeforces 526C Om Nom and Candies 完全背包
传送门题目大意:它要吃糖果,一共有两种糖果, red 和 blue ,红色的每个重量为wr, 享受为 hr, 蓝色的每个重量wb, 享受hb , 他能吃的总量不能超过 C , 想要最高的幸福指数;解题思路:一个for循环遍历每种的个数, 看到大神的代码,有个地方不明白, 为什么循环到10万就可以解决,后来想了想这么认为的:如果两个糖果重量相差1原创 2017-07-24 10:13:44 · 326 阅读 · 0 评论 -
Fire CodeForces - 864E 01背包
传送门题目大意:你的房子着火的,从火中拿出价值总和尽量多的物品,一共有n个物品,分别给救出物品需要的时间t,开始燃烧的时间d, 物品的价值p。在d时间时物品开始燃烧,就不能救出了。输出可以救出的最大价值,以及物品数量, 和物品的序号(题目给出的第几个物品,按照输入的顺序)。解题思路:每个物品有两个状态:拿或者不拿,找最大价值总和,因此是01背包。我们用二维数组表示dp[i]原创 2017-10-03 15:10:31 · 308 阅读 · 0 评论